From 27233905f121c1b8003f7d96350dab06e1686f8a Mon Sep 17 00:00:00 2001 From: "John Hodge (sonata)" Date: Thu, 29 Nov 2012 11:38:10 +0800 Subject: [PATCH] Usermode/AxWin3 - Added move code to decorator --- Usermode/Applications/axwin3_src/WM/decorator.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/Usermode/Applications/axwin3_src/WM/decorator.c b/Usermode/Applications/axwin3_src/WM/decorator.c index 14c04147..6600408a 100644 --- a/Usermode/Applications/axwin3_src/WM/decorator.c +++ b/Usermode/Applications/axwin3_src/WM/decorator.c @@ -133,18 +133,31 @@ void Decorator_Redraw(tWindow *Window) int Decorator_HandleMessage(tWindow *Window, int Message, int Length, const void *Data) { + static tWindow *btn1_down; switch(Message) { case WNDMSG_MOUSEMOVE: { const struct sWndMsg_MouseMove *msg = Data; + + if( btn1_down == Window ) { + WM_MoveWindow(Window, Window->X + msg->dX, Window->Y + msg->dY); + return 0; + } + if(msg->Y >= 0) return 1; // Pass - + // TODO: Handle return 0; } case WNDMSG_MOUSEBTN: { const struct sWndMsg_MouseButton *msg = Data; + if( msg->Button == 0 && !msg->bPressed ) + btn1_down = 0; + if(msg->Y >= 0) return 1; // Pass - + + if( msg->Button == 0 && msg->bPressed ) + btn1_down = Window; + // TODO: Handle return 0; } default: // Anything unhandled is passed on -- 2.20.1