Mercurial > dwindows
comparison gtk4/dw.c @ 2618:156ad91481eb
WARNING: Standardize button press and release button parameter values.
This may break existing code using 3rd mouse button press/release events.
The motion callback and OS/2 had been passing the 3rd mouse button as value 4.
Other platforms were passing it as value 3. Since button/press and release
events only have a single button values 1,2,3 were unique... but OS/2 was
passing the mask value instead, making these not work cross platform.
I decided to make the button press/release and motion events all function the
same. Passing the mask values instead of button numbers. This change will
only affect button 3 on button press or release events on Windows, Mac and GTK.
OS/2 already functioned this way, iOS and Android do not support button 3.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Fri, 23 Jul 2021 20:26:56 +0000 |
parents | 2acc7ba5dea0 |
children | 401a3b9f21ba |
comparison
equal
deleted
inserted
replaced
2617:d17e3fb76bde | 2618:156ad91481eb |
---|---|
715 { | 715 { |
716 int (*buttonfunc)(HWND, int, int, int, void *) = work.func; | 716 int (*buttonfunc)(HWND, int, int, int, void *) = work.func; |
717 int mybutton = gtk_gesture_single_get_current_button(gesture); | 717 int mybutton = gtk_gesture_single_get_current_button(gesture); |
718 | 718 |
719 if(mybutton == 3) | 719 if(mybutton == 3) |
720 mybutton = 2; | 720 mybutton = DW_BUTTON2_MASK; |
721 else if(mybutton == 2) | 721 else if(mybutton == 2) |
722 mybutton = 3; | 722 mybutton = DW_BUTTON3_MASK; |
723 | 723 |
724 retval = buttonfunc(work.window, (int)x, (int)y, mybutton, work.data); | 724 retval = buttonfunc(work.window, (int)x, (int)y, mybutton, work.data); |
725 } | 725 } |
726 return retval; | 726 return retval; |
727 } | 727 } |
735 { | 735 { |
736 int (*buttonfunc)(HWND, int, int, int, void *) = work.func; | 736 int (*buttonfunc)(HWND, int, int, int, void *) = work.func; |
737 int mybutton = gtk_gesture_single_get_current_button(gesture); | 737 int mybutton = gtk_gesture_single_get_current_button(gesture); |
738 | 738 |
739 if(mybutton == 3) | 739 if(mybutton == 3) |
740 mybutton = 2; | 740 mybutton = DW_BUTTON2_MASK; |
741 else if(mybutton == 2) | 741 else if(mybutton == 2) |
742 mybutton = 3; | 742 mybutton = DW_BUTTON3_MASK; |
743 | 743 |
744 retval = buttonfunc(work.window, (int)x, (int)y, mybutton, work.data); | 744 retval = buttonfunc(work.window, (int)x, (int)y, mybutton, work.data); |
745 } | 745 } |
746 return retval; | 746 return retval; |
747 } | 747 } |