aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJason Rumney2002-01-13 12:16:05 +0000
committerJason Rumney2002-01-13 12:16:05 +0000
commit53823ab9c1100230c774fb178a3a61a42b5a64ad (patch)
tree1eba807f3c9f1d5c186c138cb7391357a21cf99b /src
parent742145478bc9c3ad900ca8bad82b9eb87893eaad (diff)
downloademacs-53823ab9c1100230c774fb178a3a61a42b5a64ad.tar.gz
emacs-53823ab9c1100230c774fb178a3a61a42b5a64ad.zip
(parse_button): New parameter xbutton. Callers changed.
(w32_read_socket): Handle new "XBUTTON" messages.
Diffstat (limited to 'src')
-rw-r--r--src/w32term.c24
1 files changed, 20 insertions, 4 deletions
diff --git a/src/w32term.c b/src/w32term.c
index a906c96f7f9..9fe40866edc 100644
--- a/src/w32term.c
+++ b/src/w32term.c
@@ -6037,9 +6037,13 @@ glyph_to_pixel_coords (w, hpos, vpos, frame_x, frame_y)
6037 return success_p; 6037 return success_p;
6038} 6038}
6039 6039
6040/* Parse a button MESSAGE. The button index is returned in PBUTTON, and
6041 the state in PUP. XBUTTON provides extra information for extended mouse
6042 button messages. Returns FALSE if unable to parse the message. */
6040BOOL 6043BOOL
6041parse_button (message, pbutton, pup) 6044parse_button (message, xbutton, pbutton, pup)
6042 int message; 6045 int message;
6046 int xbutton;
6043 int * pbutton; 6047 int * pbutton;
6044 int * pup; 6048 int * pup;
6045{ 6049{
@@ -6084,6 +6088,14 @@ parse_button (message, pbutton, pup)
6084 button = 1; 6088 button = 1;
6085 up = 1; 6089 up = 1;
6086 break; 6090 break;
6091 case WM_XBUTTONDOWN:
6092 button = xbutton + 2;
6093 up = 0;
6094 break;
6095 case WM_XBUTTONUP:
6096 button = xbutton + 2;
6097 up = 1;
6098 break;
6087 default: 6099 default:
6088 return (FALSE); 6100 return (FALSE);
6089 } 6101 }
@@ -6109,7 +6121,8 @@ construct_mouse_click (result, msg, f)
6109 int button; 6121 int button;
6110 int up; 6122 int up;
6111 6123
6112 parse_button (msg->msg.message, &button, &up); 6124 parse_button (msg->msg.message, HIWORD (msg->msg.wParam),
6125 &button, &up);
6113 6126
6114 /* Make the event type no_event; we'll change that when we decide 6127 /* Make the event type no_event; we'll change that when we decide
6115 otherwise. */ 6128 otherwise. */
@@ -8661,6 +8674,8 @@ w32_read_socket (sd, bufp, numchars, expected)
8661 case WM_MBUTTONUP: 8674 case WM_MBUTTONUP:
8662 case WM_RBUTTONDOWN: 8675 case WM_RBUTTONDOWN:
8663 case WM_RBUTTONUP: 8676 case WM_RBUTTONUP:
8677 case WM_XBUTTONDOWN:
8678 case WM_XBUTTONUP:
8664 { 8679 {
8665 /* If we decide we want to generate an event to be seen 8680 /* If we decide we want to generate an event to be seen
8666 by the rest of Emacs, we put it here. */ 8681 by the rest of Emacs, we put it here. */
@@ -8712,8 +8727,9 @@ w32_read_socket (sd, bufp, numchars, expected)
8712 } 8727 }
8713 } 8728 }
8714 8729
8715 parse_button (msg.msg.message, &button, &up); 8730 parse_button (msg.msg.message, HIWORD (msg.msg.wParam),
8716 8731 &button, &up);
8732
8717 if (up) 8733 if (up)
8718 { 8734 {
8719 dpyinfo->grabbed &= ~ (1 << button); 8735 dpyinfo->grabbed &= ~ (1 << button);