summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlbrecht Schlosser <albrechts.fltk@online.de>2023-08-05 16:37:38 +0200
committerAlbrecht Schlosser <albrechts.fltk@online.de>2023-08-05 16:37:38 +0200
commit5bcd6ca8f2578b959f64d12334cb5454d840ae7d (patch)
treeb5b2d5a1b010df6c4a0291d2c9088bf2bff6effb
parent3049e6394a3376f7fff1c8cde19fd7bb1a9252ec (diff)
Revert "#733 partial: Adds rotation gesture event on MacOS"
This reverts commit 3049e6394a3376f7fff1c8cde19fd7bb1a9252ec as agreed upon in GitHub Issue #733.
-rw-r--r--FL/Enumerations.H8
-rw-r--r--FL/names.h5
-rw-r--r--src/Fl_cocoa.mm29
-rw-r--r--test/keyboard.cxx21
-rw-r--r--test/keyboard_ui.fl39
5 files changed, 20 insertions, 82 deletions
diff --git a/FL/Enumerations.H b/FL/Enumerations.H
index 7c0d867be..914fc6a56 100644
--- a/FL/Enumerations.H
+++ b/FL/Enumerations.H
@@ -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
};
diff --git a/FL/names.h b/FL/names.h
index f65444cdc..87bb5178e 100644
--- a/FL/names.h
+++ b/FL/names.h
@@ -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 ...
};
/**
diff --git a/src/Fl_cocoa.mm b/src/Fl_cocoa.mm
index f461505ee..8aef33780 100644
--- a/src/Fl_cocoa.mm
+++ b/src/Fl_cocoa.mm
@@ -966,32 +966,6 @@ static void cocoaMagnifyHandler(NSEvent *theEvent)
}
/*
- * 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
*/
static void cocoaMouseHandler(NSEvent *theEvent)
@@ -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();
diff --git a/test/keyboard.cxx b/test/keyboard.cxx
index dd6feeb0f..46ba6142f 100644
--- a/test/keyboard.cxx
+++ b/test/keyboard.cxx
@@ -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;
}
diff --git a/test/keyboard_ui.fl b/test/keyboard_ui.fl
index 116259773..425b05f4b 100644
--- a/test/keyboard_ui.fl
+++ b/test/keyboard_ui.fl
@@ -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_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_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_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
}
}
}