diff options
| author | Albrecht Schlosser <albrechts.fltk@online.de> | 2023-08-05 16:37:38 +0200 |
|---|---|---|
| committer | Albrecht Schlosser <albrechts.fltk@online.de> | 2023-08-05 16:37:38 +0200 |
| commit | 5bcd6ca8f2578b959f64d12334cb5454d840ae7d (patch) | |
| tree | b5b2d5a1b010df6c4a0291d2c9088bf2bff6effb | |
| parent | 3049e6394a3376f7fff1c8cde19fd7bb1a9252ec (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.H | 8 | ||||
| -rw-r--r-- | FL/names.h | 5 | ||||
| -rw-r--r-- | src/Fl_cocoa.mm | 29 | ||||
| -rw-r--r-- | test/keyboard.cxx | 21 | ||||
| -rw-r--r-- | test/keyboard_ui.fl | 39 |
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 } } } |
