Revert "#733 partial: Adds rotation gesture event on MacOS"

This reverts commit 3049e6394a
as agreed upon in GitHub Issue #733.
This commit is contained in:
Albrecht Schlosser 2023-08-05 16:37:38 +02:00
parent 3049e6394a
commit 5bcd6ca8f2
5 changed files with 19 additions and 81 deletions

View File

@ -407,13 +407,7 @@ enum Fl_Event { // events
/** A zoom event (ctrl/+/-/0/ or cmd/+/-/0/) was processed.
Use Fl::add_handler() to be notified of this event.
*/
FL_ZOOM_EVENT = 27,
/** The user has made a rotation gesture (Mac OS platform only).
The Fl::event_dy() method can be used to find the rotation amount,
Fl::event_x() and Fl::event_y() are set as well.
This event is sent to the window's handle method.
*/
FL_ROTATE_GESTURE = 28
FL_ZOOM_EVENT = 27
// DEV NOTE: Keep this list in sync with FL/names.h
};

View File

@ -73,10 +73,9 @@ const char * const fl_eventnames[] =
"FL_FULLSCREEN",
"FL_ZOOM_GESTURE",
"FL_ZOOM_EVENT",
"FL_ROTATE_GESTURE",
"FL_EVENT_28", // not yet defined, just in case it /will/ be defined ...
"FL_EVENT_29", // not yet defined, just in case it /will/ be defined ...
"FL_EVENT_30", // not yet defined, just in case it /will/ be defined ...
"FL_EVENT_31" // not yet defined, just in case it /will/ be defined ...
"FL_EVENT_30" // not yet defined, just in case it /will/ be defined ...
};
/**

View File

@ -965,32 +965,6 @@ static void cocoaMagnifyHandler(NSEvent *theEvent)
#endif
}
/*
* Cocoa Rotate Gesture Handler
*/
static void cocoaRotateHandler(NSEvent *theEvent)
{
#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6
fl_lock_function();
Fl_Window *window = (Fl_Window*)[(FLWindow*)[theEvent window] getFl_Window];
if ( !window->shown() ) {
fl_unlock_function();
return;
}
Fl::first_window(window);
Fl::e_dy = [theEvent rotation]*1000;
if ( Fl::e_dy) {
NSPoint pos = [theEvent locationInWindow];
pos.y = window->h() - pos.y;
NSUInteger mods = [theEvent modifierFlags];
mods_to_e_state( mods );
update_e_xy_and_e_xy_root([theEvent window]);
Fl::handle( FL_ROTATE_GESTURE, window );
}
fl_unlock_function();
#endif
}
/*
* Cocoa Mouse Button Handler
*/
@ -2465,9 +2439,6 @@ static FLTextInputContext* fltextinputcontext_instance = nil;
- (void)magnifyWithEvent:(NSEvent *)theEvent {
cocoaMagnifyHandler(theEvent);
}
- (void)rotateWithEvent:(NSEvent *)theEvent {
cocoaRotateHandler(theEvent);
}
- (void)keyDown:(NSEvent *)theEvent {
//NSLog(@"keyDown:%@",[theEvent characters]);
fl_lock_function();

View File

@ -43,22 +43,11 @@ int handle(int e) {
return (e == FL_SHORTCUT); // eat all keystrokes
}
int MyWindow::handle(int event) {
static int r = 0;
switch (event) {
case FL_MOUSEWHEEL: {
int x = (int)(w_scroll->xvalue() - Fl::event_dx());
int y = (int)(w_scroll->yvalue() - Fl::event_dy());
w_scroll->value( (double)(x&31), (double)(y&31) );
return 1; }
case FL_ZOOM_GESTURE: {
int z = (int)(w_zoom->yvalue() + Fl::event_dy());
w_zoom->value( (double)(z&255), (double)(z&255) );
return 1; }
case FL_ROTATE_GESTURE: {
r = r - (Fl::event_dy()/100.0);
w_rotate->value( (double)(r&1023) );
return 1; }
int MyWindow::handle(int msg) {
if (msg==FL_MOUSEWHEEL) {
roller_x->value( roller_x->value() + Fl::e_dx * roller_x->step() );
roller_y->value( roller_y->value() + Fl::e_dy * roller_y->step() );
return 1;
}
return 0;
}

View File

@ -10,7 +10,7 @@ snap {
Function {make_window()} {open
} {
Fl_Window my_window {open
xywh {407 352 550 215} type Double
xywh {448 339 495 215} type Double
code0 {\#include "keyboard.h"}
class MyWindow visible
} {
@ -690,8 +690,8 @@ Function {make_window()} {open
xywh {15 20 170 30} labelsize 9 align 5
}
Fl_Box {} {
label {Fl::event_state():}
xywh {400 0 80 15} labelsize 9 align 22
label {Fl::event_state():} selected
xywh {400 15 80 0} labelsize 9 align 5
}
Fl_Output text_output {
label {Fl::event_text():}
@ -709,30 +709,15 @@ Function {make_window()} {open
callback key_cb
xywh {420 70 20 20} labelsize 10
}
Fl_Box {} {
label {Gestures:}
xywh {493 0 50 15} labelsize 9 align 22
Fl_Dial roller_x {
label {x:}
callback wheel_cb
xywh {440 70 20 20} box ROUND_UP_BOX selection_color 49 labelsize 9 align 5 step 0.1
}
Fl_Box w_scroll {
label Mousewheel selected
xywh {495 20 40 40} box DOWN_BOX selection_color 8 labelsize 8 align 2
code0 {\#include <FL/Fl_Positioner.H>}
code1 {w_scroll->xbounds(0.0, 32.0); w_scroll->ybounds(0.0, 32.0);}
code2 {w_scroll->value(16.0, 16.0);}
class Fl_Positioner
}
Fl_Box w_zoom {
label Zoom
tooltip {the zoom gestures is not supported on all platforms} xywh {495 75 40 40} box DOWN_BOX selection_color 8 labelsize 8 align 2
code0 {\#include <FL/Fl_Positioner.H>}
code1 {w_zoom->xbounds(0.0, 256.0); w_zoom->ybounds(256.0, 0.0);}
code2 {w_zoom->value(128.0, 128.0);}
class Fl_Positioner
}
Fl_Dial w_rotate {
label Rotate
tooltip {the rotation gestures is not supported on all platforms} xywh {495 130 40 40} box ROUND_DOWN_BOX selection_color 49 labelsize 8 maximum 1023 step 1
code1 {w_rotate->angles(0, 360);}
Fl_Dial roller_y {
label {y:}
callback wheel_cb
xywh {460 70 20 20} box ROUND_UP_BOX selection_color 49 labelsize 9 align 5 step 0.1
}
}
}