From a886e054493d706b8695809f7d0fc7825f43ac5a Mon Sep 17 00:00:00 2001 From: NishiOwO Date: Sat, 11 Oct 2025 13:07:05 +0000 Subject: [PATCH] gdi backend too git-svn-id: http://svn2.nishi.boats/svn/milsko/trunk@270 b9cfdab3-6d41-4d17-bbe4-086880011989 --- src/backend/gdi.c | 30 ++++++++++++++++++++++-------- 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/src/backend/gdi.c b/src/backend/gdi.c index 2c64410..6252d4d 100644 --- a/src/backend/gdi.c +++ b/src/backend/gdi.c @@ -43,18 +43,32 @@ static LRESULT CALLBACK wndproc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp) { MwLLDispatch(u->ll, draw, NULL); EndPaint(hWnd, &ps); } - } else if(msg == WM_LBUTTONDOWN) { - MwPoint p; - p.x = LOWORD(lp); - p.y = HIWORD(lp); + } else if(msg == WM_LBUTTONDOWN || msg == WM_MBUTTONDOWN || msg == WM_RBUTTONDOWN) { + MwLLMouse p; + p.point.x = LOWORD(lp); + p.point.y = HIWORD(lp); + if(msg == WM_LBUTTONDOWN) { + p.button = MwLLMouseLeft; + } else if(msg == WM_MBUTTONDOWN) { + p.button = MwLLMouseMiddle; + } else if(msg == WM_RBUTTONDOWN) { + p.button = MwLLMouseRight; + } SetCapture(hWnd); SetFocus(hWnd); MwLLDispatch(u->ll, down, &p); - } else if(msg == WM_LBUTTONUP) { - MwPoint p; - p.x = LOWORD(lp); - p.y = HIWORD(lp); + } else if(msg == WM_LBUTTONUP || msg == WM_MBUTTONUP || msg == WM_RBUTTONUP) { + MwLLMouse p; + p.point.x = LOWORD(lp); + p.point.y = HIWORD(lp); + if(msg == WM_LBUTTONUP) { + p.button = MwLLMouseLeft; + } else if(msg == WM_MBUTTONUP) { + p.button = MwLLMouseMiddle; + } else if(msg == WM_RBUTTONUP) { + p.button = MwLLMouseRight; + } SetCapture(NULL); MwLLDispatch(u->ll, up, &p);