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 }