Changeset 5606 for trunk/src


Ignore:
Timestamp:
Apr 27, 2001, 7:36:39 PM (24 years ago)
Author:
sandervl
Message:

mouse message translation + dc reset after resize fixes

Location:
trunk/src/user32
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/user32/HOOK.CPP

    r4759 r5606  
    1 /* $Id: HOOK.CPP,v 1.17 2000-12-06 15:39:42 phaller Exp $ */
     1/* $Id: HOOK.CPP,v 1.18 2001-04-27 17:36:36 sandervl Exp $ */
    22
    33/*
     
    686686 * There aren't ANSI and UNICODE versions of this.
    687687 */
    688 ODINFUNCTION4(LRESULT, CallNextHookEx,
    689               HHOOK, hhook,
    690               INT, code,
    691               WPARAM, wParam,
    692               LPARAM, lParam )
     688LRESULT WINAPI CallNextHookEx(HHOOK hhook, INT code, WPARAM wParam, LPARAM lParam)
    693689{
    694690    HANDLE next;
    695691    INT fromtype;       /* figure out Ansi/Unicode */
    696692    HOOKDATA *oldhook;
     693
     694    dprintf2(("CallNextHookEx %x %d %x %x", hhook, code, wParam, lParam));
    697695
    698696    if (CHECK_MAGIC(hhook) == FALSE) {
  • trunk/src/user32/USER32.DEF

    r5509 r5606  
    1 ; $Id: USER32.DEF,v 1.53 2001-04-15 14:29:47 sandervl Exp $
     1; $Id: USER32.DEF,v 1.54 2001-04-27 17:36:36 sandervl Exp $
    22
    33LIBRARY USER32 INITINSTANCE TERMINSTANCE
     
    687687
    688688    _CreateFakeWindowEx@4                                        @2028 NONAME
    689 
     689    _checkOrigin@4                                               @2029 NONAME
     690
  • trunk/src/user32/clipboard.cpp

    r5472 r5606  
    1 /* $Id: clipboard.cpp,v 1.10 2001-04-04 09:01:24 sandervl Exp $ */
     1/* $Id: clipboard.cpp,v 1.11 2001-04-27 17:36:36 sandervl Exp $ */
    22
    33/*
     
    152152//******************************************************************************
    153153//******************************************************************************
    154 int WIN32API GetPriorityClipboardFormat( PUINT arg1, int  arg2)
     154int WIN32API GetPriorityClipboardFormat( PUINT arg1, int arg2)
    155155{
    156156    dprintf(("USER32:  GetPriorityClipboardFormat\n"));
     
    161161BOOL WIN32API IsClipboardFormatAvailable( UINT arg1)
    162162{
    163     dprintf(("USER32:  IsClipboardFormatAvailable\n"));
     163    dprintf(("USER32: IsClipboardFormatAvailable %x", arg1));
    164164    return O32_IsClipboardFormatAvailable(arg1);
    165165}
     
    178178        }
    179179    }
    180     dprintf(("USER32:  OpenClipboard\n"));
     180    dprintf(("USER32: OpenClipboard %x", hwnd));
    181181    return O32_OpenClipboard(hwnd ? window->getOS2WindowHandle() : NULL);
    182182}
  • trunk/src/user32/dc.cpp

    r5390 r5606  
    1 /* $Id: dc.cpp,v 1.96 2001-03-27 20:47:22 sandervl Exp $ */
     1/* $Id: dc.cpp,v 1.97 2001-04-27 17:36:36 sandervl Exp $ */
    22
    33/*
     
    425425   RECTL rectWindowOS2;
    426426
    427    if(pClient->left == 0 && pClient->top == 0 &&
     427   if(!window->isOwnDCDirty() && (pClient->left == 0 && pClient->top == 0 &&
    428428      window->getClientHeight() == window->getWindowHeight() &&
    429       window->getClientWidth()  == window->getWindowWidth())
     429      window->getClientWidth()  == window->getWindowWidth()))
    430430   {
    431431        //client rectangle = frame rectangle -> no change necessary
     
    437437
    438438   mapWin32ToOS2Rect(window->getWindowHeight(), window->getClientRectPtr(), (PRECTLOS2)&rcl);
     439
     440   GetWindowRect(window->getWindowHandle(), &rectWindow);
     441   mapWin32ToOS2Rect(GetScreenHeight(), &rectWindow, (PRECTLOS2)&rectWindowOS2);
     442   dprintf2(("frame (%d,%d)(%d,%d) hps height %d", rectWindowOS2.xLeft, rectWindowOS2.yBottom, rectWindowOS2.xRight, rectWindowOS2.yTop, pHps->height));
    439443
    440444   //convert to screen coordinates
     
    510514              SETUPDC_ORIGIN | SETUPDC_VISRGN | SETUPDC_RECALCCLIP);
    511515
    512    pHps->isClientArea = TRUE;
    513 
    514516   // Destroy the region now we have finished with it.
    515517   GreDestroyRegion(pHps->hps, hrgnRect);
     518
     519   pHps->isClientArea = TRUE;
     520
     521   if(pClient->left == 0 && pClient->top == 0 &&
     522      window->getClientHeight() == window->getWindowHeight() &&
     523      window->getClientWidth()  == window->getWindowWidth())
     524   {
     525       //client = frame, so no changes are necessary when switching between the two
     526       pHps->isClient = FALSE;
     527       pHps->isClientArea = FALSE;
     528   }
     529   if(window->isOwnDCDirty()) {
     530       window->validateOwnDC();
     531       setPageXForm(window, pHps);
     532   }
    516533
    517534//testestest
     
    621638   if(wnd) {
    622639      selectClientArea(wnd, pHps);
     640   }
     641}
     642//******************************************************************************
     643//******************************************************************************
     644VOID WIN32API checkOrigin(pDCData pHps)
     645{
     646 Win32BaseWindow *wnd;
     647
     648   wnd = Win32BaseWindow::GetWindowFromOS2Handle(pHps->hwnd);
     649   if(wnd) {
     650      dprintfOrigin(pHps->hps);
     651      if(pHps->isClient)
     652          selectClientArea(wnd, pHps);
    623653   }
    624654}
     
    13051335         pr->yTop = height - pr->yBottom;
    13061336         pr->yBottom = height - temp;
    1307          dprintf2(("Invalid region (%d,%d) (%d,%d)", pr->xLeft, pr->yBottom, pr->xRight, pr->yTop));
     1337         dprintf2(("RedrawWindow: region (%d,%d) (%d,%d)", pr->xLeft, pr->yBottom, pr->xRight, pr->yTop));
    13081338      }
    13091339
  • trunk/src/user32/oslibmsg.cpp

    r5137 r5606  
    1 /* $Id: oslibmsg.cpp,v 1.36 2001-02-15 00:33:01 sandervl Exp $ */
     1/* $Id: oslibmsg.cpp,v 1.37 2001-04-27 17:36:37 sandervl Exp $ */
    22/*
    33 * Window message translation functions for OS/2
     
    6767   WM_HITTEST,       WINWM_NCHITTEST,
    6868
     69   //todo: not always right if mouse msg turns out to be for the client window
     70   WM_MOUSEMOVE,     WINWM_NCMOUSEMOVE,
     71   WM_BUTTON1DOWN,   WINWM_NCLBUTTONDOWN,
     72   WM_BUTTON1UP,     WINWM_NCLBUTTONUP,
     73   WM_BUTTON1DBLCLK, WINWM_NCLBUTTONDBLCLK,
     74   WM_BUTTON2DOWN,   WINWM_NCRBUTTONDOWN,
     75   WM_BUTTON2UP,     WINWM_NCRBUTTONUP,
     76   WM_BUTTON2DBLCLK, WINWM_NCRBUTTONDBLCLK,
     77   WM_BUTTON3DOWN,   WINWM_NCMBUTTONDOWN,
     78   WM_BUTTON3UP,     WINWM_NCMBUTTONUP,
     79   WM_BUTTON3DBLCLK, WINWM_NCMBUTTONDBLCLK,
     80
    6981   //TODO: Needs better translation!
    7082   WM_CHAR,          WINWM_KEYDOWN,
     
    8294
    8395   //
     96   //todo: not always right if mouse msg turns out to be for the nonclient window
    8497   WM_MOUSEMOVE,     WINWM_MOUSEMOVE,
    8598   WM_BUTTON1DOWN,   WINWM_LBUTTONDOWN,
     
    341354  }
    342355
    343   OS2ToWinMsgTranslate((PVOID)teb, &os2msg, pMsg, isUnicode, (fRemove & PM_REMOVE_W) ? MSG_REMOVE : MSG_NOREMOVE);
     356  if(OS2ToWinMsgTranslate((PVOID)teb, &os2msg, pMsg, isUnicode, (fRemove & PM_REMOVE_W) ? MSG_REMOVE : MSG_NOREMOVE) == FALSE)
     357  {
     358     //unused PM message; dispatch immediately and grab next one
     359     dprintf2(("OSLibWinPeekMsg: Untranslated message; dispatched immediately"));
     360     rc = WinPeekMsg(teb->o.odin.hab, &os2msg, hwndOS2, TranslateWinMsg(uMsgFilterMin, TRUE),
     361                     TranslateWinMsg(uMsgFilterMax, FALSE), PM_REMOVE);
     362     WinDispatchMsg(teb->o.odin.hab, &os2msg);
     363     return OSLibWinPeekMsg(pMsg, hwnd, uMsgFilterMin, uMsgFilterMax,
     364                            fRemove, isUnicode);
     365  }
    344366  //TODO: This is not safe! There's no guarantee this message will be dispatched and it might overwrite a previous message
    345367  if(fRemove & PM_REMOVE_W) {
  • trunk/src/user32/oslibmsgtranslate.cpp

    r5586 r5606  
    1 /* $Id: oslibmsgtranslate.cpp,v 1.47 2001-04-25 20:53:38 sandervl Exp $ */
     1/* $Id: oslibmsgtranslate.cpp,v 1.48 2001-04-27 17:36:37 sandervl Exp $ */
    22/*
    33 * Window message translation functions for OS/2
     
    387387        //WM_NC*BUTTON* is posted when the cursor is in a non-client area of the window
    388388
     389        dprintf(("button (%d,%d)", winMsg->pt.x, winMsg->pt.y));
    389390#ifdef ODIN_HITTEST
    390391        HWND hwnd;
     
    475476        HWND hwnd;
    476477
     478        dprintf2(("WM_NCMOUSEMOVE (%d,%d)", winMsg->pt.x, winMsg->pt.y));
    477479        DisableLogging();
    478480        if(GetCapture() != winMsg->hwnd)
     
    532534        if(fWasDisabled) {
    533535                if(win32wnd) {
    534                         winMsg->hwnd = win32wnd->getWindowHandle();
     536                    winMsg->hwnd = win32wnd->getWindowHandle();
    535537                }
    536                 else    goto dummymessage; //don't send mouse messages to disabled windows
     538                else {
     539                    goto dummymessage; //don't send mouse messages to disabled windows
     540                }
    537541        }
    538542        //OS/2 Window coordinates -> Win32 Window coordinates
     
    814818    default:
    815819dummymessage:
     820        dprintf2(("dummy message %x %x %x %x", os2Msg->hwnd, os2Msg->msg, os2Msg->mp1, os2Msg->mp2));
    816821        winMsg->message = 0;
    817822        winMsg->wParam  = 0;
  • trunk/src/user32/pmwindow.cpp

    r5428 r5606  
    1 /* $Id: pmwindow.cpp,v 1.122 2001-04-01 19:38:51 sandervl Exp $ */
     1/* $Id: pmwindow.cpp,v 1.123 2001-04-27 17:36:37 sandervl Exp $ */
    22/*
    33 * Win32 Window Managment Code for OS/2
     
    460460            win32wnd->MsgFormatFrame(&wp);
    461461
     462            if(win32wnd->isOwnDC()) {
     463                dprintf(("Mark owndc of %x as dirty", win32wnd->getWindowHandle()));
     464                win32wnd->invalidateOwnDC(); //mark DC as dirty. origin & visible region must be reinitialized
     465            }
    462466            if(win32wnd->CanReceiveSizeMsgs())
    463467                win32wnd->MsgPosChanged((LPARAM)&wp);
     
    11601164        dprintf2(("OS2: RunDefWndProc hwnd %x msg %x mp1 %x mp2 %x", hwnd, msg, mp1, mp2));
    11611165        RestoreOS2TIB();
    1162         return WinDefWindowProc( hwnd, msg, mp1, mp2 );
     1166        if(isFrame) {
     1167             return pfnFrameWndProc(hwnd, msg, mp1, mp2);
     1168        }
     1169        else return WinDefWindowProc( hwnd, msg, mp1, mp2 );
    11631170  }
    11641171  return (MRESULT)rc;
     
    11671174//  dprintf(("OS2: RunDefWndProc msg %x for %x", msg, hwnd));
    11681175  RestoreOS2TIB();
    1169   return WinDefWindowProc( hwnd, msg, mp1, mp2 );
     1176  if(isFrame) {
     1177       return pfnFrameWndProc(hwnd, msg, mp1, mp2);
     1178  }
     1179  else return WinDefWindowProc( hwnd, msg, mp1, mp2 );
    11701180} /* End of Win32WindowProc */
    11711181//******************************************************************************
  • trunk/src/user32/user32.cpp

    r5509 r5606  
    1 /* $Id: user32.cpp,v 1.96 2001-04-15 14:29:48 sandervl Exp $ */
     1/* $Id: user32.cpp,v 1.97 2001-04-27 17:36:38 sandervl Exp $ */
    22
    33/*
     
    327327/* Mouse Input Functions */
    328328
    329 /*****************************************************************************
    330  * Name      : BOOL WIN32API DragDetect
    331  * Purpose   : The DragDetect function captures the mouse and tracks its movement
    332  * Parameters: HWND  hwnd
    333  *             POINT pt
    334  * Variables :
    335  * Result    : If the user moved the mouse outside of the drag rectangle while
    336  *               holding the left button down, the return value is TRUE.
    337  *             If the user did not move the mouse outside of the drag rectangle
    338  *               while holding the left button down, the return value is FALSE.
    339  * Remark    :
    340  * Status    : UNTESTED STUB
    341  *
    342  * Author    : Patrick Haller [Thu, 1998/02/26 11:55]
    343  *****************************************************************************/
    344 BOOL WIN32API DragDetect(HWND  hwnd,
    345                             POINT pt)
    346 {
    347   dprintf(("USER32:DragDetect(%08xh,...) not implemented.\n",
    348          hwnd));
    349 
    350   return (FALSE);
    351 }
    352 //******************************************************************************
    353 //******************************************************************************
    354 UINT WIN32API GetDoubleClickTime(void)
    355 {
    356     dprintf(("USER32:  GetDoubleClickTime\n"));
    357     return O32_GetDoubleClickTime();
    358 }
    359 /*****************************************************************************
    360  * Name      : VOID WIN32API mouse_event
    361  * Purpose   : The mouse_event function synthesizes mouse motion and button clicks.
    362  * Parameters: DWORD dwFlags     flags specifying various motion/click variants
    363  *             DWORD dx          horizontal mouse position or position change
    364  *             DWORD dy          vertical mouse position or position change
    365  *             DWORD cButtons    unused, reserved for future use, set to zero
    366  *             DWORD dwExtraInfo 32 bits of application-defined information
    367  * Variables :
    368  * Result    :
    369  * Remark    :
    370  * Status    : UNTESTED STUB
    371  *
    372  * Author    : Patrick Haller [Thu, 1998/02/26 11:55]
    373  *****************************************************************************/
    374 VOID WIN32API mouse_event(DWORD dwFlags,
    375                              DWORD dx,
    376                              DWORD dy,
    377                              DWORD cButtons,
    378                              DWORD dwExtraInfo)
    379 {
    380   dprintf(("USER32:mouse_event (%08xh,%u,%u,%u,%08x) not implemented.\n",
    381           dwFlags,
    382           dx,
    383           dy,
    384           cButtons,
    385           dwExtraInfo));
    386 }
    387 //******************************************************************************
    388 //******************************************************************************
    389 BOOL WIN32API SetDoubleClickTime( UINT uInterval)
    390 {
    391     dprintf(("USER32:  SetDoubleClickTime\n"));
    392     return O32_SetDoubleClickTime(uInterval);
    393 }
    394 //******************************************************************************
    395 //******************************************************************************
    396 BOOL WIN32API SwapMouseButton( BOOL fSwap)
    397 {
    398     dprintf(("USER32:  SwapMouseButton\n"));
    399     return O32_SwapMouseButton(fSwap);
    400 }
    401 
    402329/* Error Functions */
    403330
  • trunk/src/user32/win32wbase.cpp

    r5586 r5606  
    1 /* $Id: win32wbase.cpp,v 1.252 2001-04-25 20:53:38 sandervl Exp $ */
     1/* $Id: win32wbase.cpp,v 1.253 2001-04-27 17:36:38 sandervl Exp $ */
    22/*
    33 * Win32 Window Base Class for OS/2
     
    106106  fCreationFinished= FALSE;
    107107  fMinMaxChange    = FALSE;
     108  fOwnDCDirty      = FALSE;
    108109
    109110  windowNameA      = NULL;
  • trunk/src/user32/win32wbase.h

    r5586 r5606  
    1 /* $Id: win32wbase.h,v 1.114 2001-04-25 20:53:39 sandervl Exp $ */
     1/* $Id: win32wbase.h,v 1.115 2001-04-27 17:36:39 sandervl Exp $ */
    22/*
    33 * Win32 Window Base Class for OS/2
     
    379379        unsigned isUnicode:1;
    380380        unsigned fMinMaxChange:1;        //set when switching between min/max/restored state
     381        unsigned fOwnDCDirty:1;          //set when selectClientArea must reset the origin + visible region
    381382
    382383        HRGN    hWindowRegion;
     
    468469         BOOL   isOwnDC() { return (windowClass && windowClass->getStyle() & CS_OWNDC_W); }
    469470#endif
     471         void   invalidateOwnDC() { fOwnDCDirty = TRUE; };
     472         void   validateOwnDC()   { fOwnDCDirty = FALSE; };
     473         BOOL   isOwnDCDirty()    { return fOwnDCDirty; };
     474
    470475         HDC    getOwnDC() { return ownDC; }
    471476         void   setOwnDC(HDC hdc) { ownDC = hdc; }
  • trunk/src/user32/windowmsg.cpp

    r5373 r5606  
    1 /* $Id: windowmsg.cpp,v 1.23 2001-03-25 08:50:42 sandervl Exp $ */
     1/* $Id: windowmsg.cpp,v 1.24 2001-04-27 17:36:39 sandervl Exp $ */
    22/*
    33 * Win32 window message APIs for OS/2
     
    2424#include "oslibwin.h"
    2525#include "oslibmsg.h"
     26#include "hook.h"
    2627
    2728#define DBG_LOCALLOG    DBG_windowmsg
     
    3940LONG WIN32API DispatchMessageA(const MSG * msg)
    4041{
     42  dprintf2(("DispatchMessageA %x %x %x %x %x", msg->hwnd, msg->message, msg->wParam, msg->lParam, msg->time));
    4143  return OSLibWinDispatchMsg((MSG *)msg);
    4244}
     
    4547LONG WIN32API DispatchMessageW( const MSG * msg)
    4648{
     49  dprintf2(("DispatchMessageW %x %x %x %x %x", msg->hwnd, msg->message, msg->wParam, msg->lParam, msg->time));
    4750  return OSLibWinDispatchMsg((MSG *)msg, TRUE);
    4851}
     
    5760BOOL WIN32API GetMessageA( LPMSG pMsg, HWND hwnd, UINT uMsgFilterMin, UINT uMsgFilterMax)
    5861{
    59     return OSLibWinGetMsg(pMsg, hwnd, uMsgFilterMin, uMsgFilterMax);
     62  BOOL ret;
     63
     64    dprintf2(("GetMessageA %x %d-%d %d", hwnd, uMsgFilterMin, uMsgFilterMax));
     65    ret = OSLibWinGetMsg(pMsg, hwnd, uMsgFilterMin, uMsgFilterMax);
     66    HOOK_CallHooksA(WH_GETMESSAGE, HC_ACTION, PM_REMOVE, (LPARAM)pMsg);
     67    return ret;
    6068}
    6169//******************************************************************************
     
    6371BOOL WIN32API GetMessageW( LPMSG pMsg, HWND hwnd, UINT uMsgFilterMin, UINT uMsgFilterMax)
    6472{
    65     return OSLibWinGetMsg(pMsg, hwnd, uMsgFilterMin, uMsgFilterMax, TRUE);
     73  BOOL ret;
     74
     75    dprintf2(("GetMessageW %x %d-%d %d", hwnd, uMsgFilterMin, uMsgFilterMax));
     76    ret = OSLibWinGetMsg(pMsg, hwnd, uMsgFilterMin, uMsgFilterMax, TRUE);
     77    HOOK_CallHooksW(WH_GETMESSAGE, HC_ACTION, PM_REMOVE, (LPARAM)pMsg);
     78    return ret;
    6679}
    6780//******************************************************************************
     
    7184{
    7285 BOOL fFoundMsg;
    73 
     86 
     87    dprintf2(("PeekMessagA %x %d-%d %d", hwndOwner, uMsgFilterMin, uMsgFilterMax, fuRemoveMsg));
    7488    fFoundMsg = OSLibWinPeekMsg(msg, hwndOwner, uMsgFilterMin, uMsgFilterMax,
    7589                                fuRemoveMsg, FALSE);
    7690    if(fFoundMsg) {
     91        dprintf2(("PeekMessagA %x %d-%d %d found message %x %d %x %x", hwndOwner, uMsgFilterMin, uMsgFilterMax, fuRemoveMsg, msg->hwnd, msg->message, msg->wParam, msg->lParam));
     92        HOOK_CallHooksA(WH_GETMESSAGE, HC_ACTION, fuRemoveMsg & PM_REMOVE, (LPARAM)msg );
    7793        if (msg->message == WM_QUIT && (fuRemoveMsg & PM_REMOVE)) {
    7894            //TODO: Post WM_QUERYENDSESSION message when WM_QUIT received and system is shutting down
     
    88104 BOOL fFoundMsg;
    89105
     106    dprintf2(("PeekMessagW %x %d-%d %d", hwndOwner, uMsgFilterMin, uMsgFilterMax, fuRemoveMsg));
    90107    fFoundMsg = OSLibWinPeekMsg(msg, hwndOwner, uMsgFilterMin, uMsgFilterMax,
    91108                                fuRemoveMsg, FALSE);
    92109    if(fFoundMsg) {
     110        dprintf2(("PeekMessagW %x %d-%d %d found message %x %d %x %x", hwndOwner, uMsgFilterMin, uMsgFilterMax, fuRemoveMsg, msg->hwnd, msg->message, msg->wParam, msg->lParam));
     111        HOOK_CallHooksW(WH_GETMESSAGE, HC_ACTION, fuRemoveMsg & PM_REMOVE, (LPARAM)msg );
    93112        if (msg->message == WM_QUIT && (fuRemoveMsg & (PM_REMOVE))) {
    94113            //TODO: Post WM_QUERYENDSESSION message when WM_QUIT received and system is shutting down
     
    109128DWORD WIN32API GetMessagePos(void)
    110129{
    111     dprintf(("USER32: GetMessagePos"));
    112     return OSLibWinGetMessagePos();
     130 DWORD pos;
     131
     132    pos = OSLibWinGetMessagePos();
     133    dprintf(("USER32: GetMessagePos -> (%d,%d)", HIWORD(pos), LOWORD(pos)));
     134    return pos;
    113135}
    114136//******************************************************************************
     
    9941016 DWORD queueStatus;
    9951017
    996     dprintf(("USER32:  GetQueueStatus"));
    9971018    queueStatus = OSLibWinQueryQueueStatus();
    998 
    9991019    queueStatus = MAKELONG(queueStatus, queueStatus);
     1020
     1021    dprintf(("USER32: GetQueueStatus %x returned %x", flags, queueStatus & MAKELONG(flags, flags)));
     1022
    10001023    return queueStatus & MAKELONG(flags, flags);
    10011024}
     
    10321055{
    10331056 DWORD curtime, endtime;
     1057 MSG msg;
    10341058
    10351059  dprintf(("MsgWaitForMultipleObjects %x %x %d %d %x", nCount, pHandles, fWaitAll, dwMilliseconds, dwWakeMask));
     
    10511075                if(OSLibWinWaitMessage() == FALSE) {
    10521076                        dprintf(("OSLibWinWaitMessage returned FALSE!"));
    1053                         return -1;
     1077                        return WAIT_ABANDONED;
    10541078                }
    10551079                if(GetQueueStatus(dwWakeMask) != 0) {
    10561080                        return WAIT_OBJECT_0;
    10571081                }
     1082                //TODO: Ignoring all messages could be dangerous. But processing them,
     1083                //while the app doesn't expect any, isn't safe either.
     1084                if(PeekMessageA(&msg, NULL, 0, 0, PM_REMOVE))
     1085                {
     1086                    if (msg.message == WM_QUIT) {
     1087                         dprintf(("ERROR: MsgWaitForMultipleObjects call abandoned because WM_QUIT msg was received!!"));
     1088                         return WAIT_ABANDONED;
     1089                    }
     1090   
     1091                    /* otherwise dispatch it */
     1092                    DispatchMessageA(&msg);
     1093                }
    10581094                curtime = GetCurrentTime();
    10591095        }
  • trunk/src/user32/winmouse.cpp

    r5507 r5606  
    1 /* $Id: winmouse.cpp,v 1.13 2001-04-15 09:47:21 sandervl Exp $ */
     1/* $Id: winmouse.cpp,v 1.14 2001-04-27 17:36:39 sandervl Exp $ */
    22/*
    33 * Mouse handler for DINPUT
     
    157157//******************************************************************************
    158158//******************************************************************************
     159UINT WIN32API GetDoubleClickTime(void)
     160{
     161    dprintf(("USER32: GetDoubleClickTime"));
     162    return O32_GetDoubleClickTime();
     163}
     164//******************************************************************************
     165//******************************************************************************
     166BOOL WIN32API SetDoubleClickTime( UINT uInterval)
     167{
     168    dprintf(("USER32: SetDoubleClickTime %d", uInterval));
     169    return O32_SetDoubleClickTime(uInterval);
     170}
     171//******************************************************************************
     172//******************************************************************************
     173BOOL WIN32API SwapMouseButton( BOOL fSwap)
     174{
     175    dprintf(("USER32: SwapMouseButton %d", fSwap));
     176    return O32_SwapMouseButton(fSwap);
     177}
     178/*****************************************************************************
     179 * Name      : VOID WIN32API mouse_event
     180 * Purpose   : The mouse_event function synthesizes mouse motion and button clicks.
     181 * Parameters: DWORD dwFlags     flags specifying various motion/click variants
     182 *             DWORD dx          horizontal mouse position or position change
     183 *             DWORD dy          vertical mouse position or position change
     184 *             DWORD cButtons    unused, reserved for future use, set to zero
     185 *             DWORD dwExtraInfo 32 bits of application-defined information
     186 * Variables :
     187 * Result    :
     188 * Remark    :
     189 * Status    : UNTESTED STUB
     190 *
     191 * Author    : Patrick Haller [Thu, 1998/02/26 11:55]
     192 *****************************************************************************/
     193VOID WIN32API mouse_event(DWORD dwFlags, DWORD dx, DWORD dy, DWORD cButtons,
     194                          DWORD dwExtraInfo)
     195{
     196  dprintf(("USER32:mouse_event (%08xh,%u,%u,%u,%08x) not implemented",
     197          dwFlags, dx, dy, cButtons, dwExtraInfo));
     198}
     199/*****************************************************************************
     200 * Name      : BOOL WIN32API DragDetect
     201 * Purpose   : The DragDetect function captures the mouse and tracks its movement
     202 * Parameters: HWND  hwnd
     203 *             POINT pt
     204 * Variables :
     205 * Result    : If the user moved the mouse outside of the drag rectangle while
     206 *               holding the left button down, the return value is TRUE.
     207 *             If the user did not move the mouse outside of the drag rectangle
     208 *               while holding the left button down, the return value is FALSE.
     209 * Remark    :
     210 * Status    : UNTESTED STUB
     211 *
     212 * Author    : Patrick Haller [Thu, 1998/02/26 11:55]
     213 *****************************************************************************/
     214BOOL WIN32API DragDetect(HWND  hwnd,
     215                            POINT pt)
     216{
     217  dprintf(("USER32:DragDetect(%08xh,...) not implemented", hwnd));
     218
     219  return (FALSE);
     220}
     221//******************************************************************************
     222//******************************************************************************
Note: See TracChangeset for help on using the changeset viewer.