- Timestamp:
- Mar 29, 2003, 5:38:01 PM (22 years ago)
- Location:
- trunk/src/user32
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/user32/pmwindow.cpp
r9951 r9953 1 /* $Id: pmwindow.cpp,v 1.20 5 2003-03-28 13:56:59 sandervl Exp $ */1 /* $Id: pmwindow.cpp,v 1.206 2003-03-29 16:37:59 sandervl Exp $ */ 2 2 /* 3 3 * Win32 Window Managment Code for OS/2 … … 644 644 645 645 case WM_VRNENABLED: 646 { 646 647 dprintf(("OS2: WM_VRNENABLED %x %x %x", win32wnd->getWindowHandle(), mp1, mp2)); 647 648 //Always call handler; even if mp1 is 0. If we don't do this, the 648 649 //DivX 4 player will never be allowed to draw after putting another window 649 650 //on top of it. 651 650 652 win32wnd->callVisibleRgnNotifyProc(TRUE); 651 653 if(!win32wnd->isComingToTop() && ((win32wnd->getExStyle() & WS_EX_TOPMOST_W) == WS_EX_TOPMOST_W)) … … 669 671 } 670 672 goto RunDefWndProc; 673 } 671 674 672 675 case WM_VRNDISABLED: 676 { 673 677 dprintf(("OS2: WM_VRNDISABLED %x %x %x", win32wnd->getWindowHandle(), mp1, mp2)); 674 678 //visible region is about to change or WinLockWindowUpdate called 675 679 //suspend window drawing 680 676 681 win32wnd->callVisibleRgnNotifyProc(FALSE); 677 682 goto RunDefWndProc; 683 } 678 684 679 685 case WIN32APP_DDRAWFULLSCREEN: … … 1466 1472 } 1467 1473 } 1474 #ifdef DEBUG 1468 1475 dprintf(("WM_ADJUSTWINDOWPOS ret %x flags %x", ret, WinQueryWindowUShort(hwnd, QWS_FLAGS))); 1469 //testestset1470 1476 if(ret == 0x0f) { 1471 1477 dprintf(("PMFRAME:WM_ADJUSTWINDOWPOS, app changed windowpos struct")); 1472 1478 dprintf(("%x (%s) (%d,%d), (%d,%d)", pswp->fl, DbgGetStringSWPFlags(pswp->fl), pswp->x, pswp->y, pswp->cx, pswp->cy)); 1473 1479 } 1474 //testestset 1480 #endif 1475 1481 rc = (MRESULT)ret; 1476 1482 break; -
trunk/src/user32/win32wbase.cpp
r9941 r9953 1 /* $Id: win32wbase.cpp,v 1.36 4 2003-03-27 10:42:41sandervl Exp $ */1 /* $Id: win32wbase.cpp,v 1.365 2003-03-29 16:38:00 sandervl Exp $ */ 2 2 /* 3 3 * Win32 Window Base Class for OS/2 … … 120 120 fIsDragDropActive= FALSE; 121 121 fDirtyUpdateRegion = FALSE; 122 fWindowLocked = FALSE; 122 123 123 124 state = STATE_INIT; … … 4009 4010 SetLastError(ERROR_INVALID_INDEX); //verified in NT4, SP6 4010 4011 return 0; 4012 } 4013 //****************************************************************************** 4014 // Win32BaseWindow::setVisibleRgnNotifyProc 4015 // 4016 // Sets the visible region change notification handler. Called when 4017 // the window receives a WM_VRNDISABLED or WM_VRNENABLED message (PM). 4018 // 4019 // Parameters: 4020 // VISRGN_NOTIFY_PROC lpNotifyProc - notification handler 4021 // DWORD dwUserData - caller supplied parameter for handler invocations 4022 // 4023 // Returns: 4024 // TRUE - Success 4025 // FALSE - Failure 4026 // 4027 //****************************************************************************** 4028 BOOL Win32BaseWindow::setVisibleRgnNotifyProc(VISRGN_NOTIFY_PROC lpNotifyProc, DWORD dwUserData) 4029 { 4030 lpVisRgnNotifyProc = lpNotifyProc; 4031 dwVisRgnNotifyParam = dwUserData; 4032 return TRUE; 4033 } 4034 //****************************************************************************** 4035 // Win32BaseWindow::callVisibleRgnNotifyProc 4036 // 4037 // Call the visible region change notification handler. Called when 4038 // the window receives a WM_VRNDISABLED or WM_VRNENABLED message (PM). 4039 // 4040 // Parameters: 4041 // BOOL fDrawingAllowed - drawing is allowed or not 4042 // 4043 // Returns: 4044 // TRUE - Success 4045 // FALSE - Failure 4046 // 4047 //****************************************************************************** 4048 void Win32BaseWindow::callVisibleRgnNotifyProc(BOOL fDrawingAllowed) 4049 { 4050 if(fDrawingAllowed) { 4051 fWindowLocked = TRUE; 4052 } 4053 else { 4054 fWindowLocked = FALSE; 4055 } 4056 if(lpVisRgnNotifyProc) { 4057 lpVisRgnNotifyProc(getWindowHandle(), fDrawingAllowed, dwVisRgnNotifyParam); 4058 } 4011 4059 } 4012 4060 //****************************************************************************** -
trunk/src/user32/win32wbase.h
r9941 r9953 1 /* $Id: win32wbase.h,v 1.15 1 2003-03-27 10:42:42sandervl Exp $ */1 /* $Id: win32wbase.h,v 1.152 2003-03-29 16:38:01 sandervl Exp $ */ 2 2 /* 3 3 * Win32 Window Base Class for OS/2 … … 286 286 void SetVisibleRegionChanged(BOOL changed) { fVisibleRegionChanged = changed; }; 287 287 BOOL IsVisibleRegionChanged() { return fVisibleRegionChanged; }; 288 BOOL setVisibleRgnNotifyProc(VISRGN_NOTIFY_PROC lpNotifyProc, DWORD dwUserData) 289 { 290 lpVisRgnNotifyProc = lpNotifyProc; 291 dwVisRgnNotifyParam = dwUserData; 292 return TRUE; 293 } 294 void callVisibleRgnNotifyProc(BOOL fDrawingAllowed) 295 { 296 if(lpVisRgnNotifyProc) { 297 lpVisRgnNotifyProc(getWindowHandle(), fDrawingAllowed, dwVisRgnNotifyParam); 298 } 299 } 288 BOOL setVisibleRgnNotifyProc(VISRGN_NOTIFY_PROC lpNotifyProc, DWORD dwUserData); 289 void callVisibleRgnNotifyProc(BOOL fDrawingAllowed); 290 300 291 int GetWindowTextLength(BOOL fUnicode); 301 292 int GetWindowTextLengthA() { return GetWindowTextLength(FALSE); }; … … 422 413 fEraseBkgndFlag:1, 423 414 fIsDragDropActive:1, 424 fDirtyUpdateRegion:1; 415 fDirtyUpdateRegion:1, 416 fWindowLocked:1; 425 417 426 418 ULONG state;
Note:
See TracChangeset
for help on using the changeset viewer.