diff options
| author | Jason Rumney | 2002-01-13 12:16:05 +0000 |
|---|---|---|
| committer | Jason Rumney | 2002-01-13 12:16:05 +0000 |
| commit | 53823ab9c1100230c774fb178a3a61a42b5a64ad (patch) | |
| tree | 1eba807f3c9f1d5c186c138cb7391357a21cf99b /src | |
| parent | 742145478bc9c3ad900ca8bad82b9eb87893eaad (diff) | |
| download | emacs-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.c | 24 |
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. */ | ||
| 6040 | BOOL | 6043 | BOOL |
| 6041 | parse_button (message, pbutton, pup) | 6044 | parse_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); |