- show_mouseptr(1);
- term_mouse (cfg.mouse_is_xterm ? MB_EXTEND : MB_PASTE,
- MA_RELEASE, TO_CHR_X(X_POS(lParam)),
- TO_CHR_Y(Y_POS(lParam)));
- ReleaseCapture();
+ {
+ int button, press;
+ switch (message) {
+ case WM_LBUTTONDOWN: button = MBT_LEFT; press = 1; break;
+ case WM_MBUTTONDOWN: button = MBT_MIDDLE; press = 1; break;
+ case WM_RBUTTONDOWN: button = MBT_RIGHT; press = 1; break;
+ case WM_LBUTTONUP: button = MBT_LEFT; press = 0; break;
+ case WM_MBUTTONUP: button = MBT_MIDDLE; press = 0; break;
+ case WM_RBUTTONUP: button = MBT_RIGHT; press = 0; break;
+ }
+ show_mouseptr(1);
+ if (press) {
+ click (button,
+ TO_CHR_X(X_POS(lParam)), TO_CHR_Y(Y_POS(lParam)),
+ wParam & MK_SHIFT, wParam & MK_CONTROL);
+ SetCapture(hwnd);
+ } else {
+ term_mouse (button, MA_RELEASE,
+ TO_CHR_X(X_POS(lParam)), TO_CHR_Y(Y_POS(lParam)),
+ wParam & MK_SHIFT, wParam & MK_CONTROL);
+ ReleaseCapture();
+ }
+ }