- Timestamp:
- Mar 20, 2002, 11:30:08 AM (23 years ago)
- Location:
- trunk/src/user32
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/user32/dc.cpp
r7702 r8105 1 /* $Id: dc.cpp,v 1.11 5 2001-12-30 10:47:43sandervl Exp $ */1 /* $Id: dc.cpp,v 1.116 2002-03-20 10:30:06 sandervl Exp $ */ 2 2 3 3 /* … … 660 660 RECTL rectlClient; 661 661 RECTL rectlClip; 662 BOOL bIcon; 662 663 663 664 if(lpps == NULL) { … … 675 676 return (HDC)0; 676 677 } 677 HWND hwndClient = wnd->getOS2WindowHandle(); 678 679 if(hwnd != HWND_DESKTOP && wnd->isOwnDC()) 678 // bIcon = (IsIconic(hwnd) && GetClassLongA(hWnd, GCL_HICON_W)); 679 bIcon = IsIconic(hwnd); 680 681 HWND hwndClient = (bIcon) ? wnd->getOS2FrameWindowHandle() : wnd->getOS2WindowHandle(); 682 683 if(hwnd != HWND_DESKTOP && !bIcon && wnd->isOwnDC()) 680 684 { 681 685 hPS_ownDC = wnd->getOwnDC(); … … 694 698 } 695 699 if(!hpsPaint) { 696 hpsPaint = GetDCEx(hwnd, 0, (DCX_CACHE_W|DCX_USESTYLE_W ));700 hpsPaint = GetDCEx(hwnd, 0, (DCX_CACHE_W|DCX_USESTYLE_W | ((bIcon) ? DCX_WINDOW_W : 0))); 697 701 pHps = (pDCData)GpiQueryDCData(hpsPaint); 698 702 if (!pHps) … … 710 714 dprintf (("USER32: WARNING: WinQueryUpdateRect failed (error or no update rectangle)!!")); 711 715 716 if(bIcon) { 717 //WinBeginPaint messes this up for icon windows; this isn't 718 //a good solution, but it does the job 719 //Use the entire frame window as clip region 720 rectl.xRight = wnd->getWindowWidth(); 721 rectl.yTop = wnd->getWindowHeight(); 722 } 723 712 724 HRGN hrgnClip = GpiCreateRegion(pHps->hps, 1, &rectl); 713 725 GpiSetClipRegion(pHps->hps, hrgnClip, &hrgnOldClip); … … 717 729 //save old clip region (restored for CS_OWNDC windows in EndPaint) 718 730 wnd->SetClipRegion(hrgnOldClip); 719 lComplexity = RGN_NULL; 731 if(bIcon) { 732 lComplexity = RGN_RECT; 733 } 734 else lComplexity = RGN_NULL; 720 735 } 721 736 else { -
trunk/src/user32/pmwindow.cpp
r7943 r8105 1 /* $Id: pmwindow.cpp,v 1.1 69 2002-02-18 10:14:57sandervl Exp $ */1 /* $Id: pmwindow.cpp,v 1.170 2002-03-20 10:30:06 sandervl Exp $ */ 2 2 /* 3 3 * Win32 Window Managment Code for OS/2 … … 987 987 } 988 988 989 //@@PF all commands from minimized window viewer or from Ctrl-Esc 990 //are 'pure' and should be handled only by DeFrameProc - this is weird 991 //but without them we will not have results. Pure = plain flag of restore/minimize/maximize 992 if((pswp->fl == SWP_MINIMIZE) || (pswp->fl & SWP_RESTORE)) { 993 // note the purity of SWP no other SWP_FLAGS allowed 994 goto RunDefFrameWndProc; 995 } 996 989 997 if(pswp->fl & SWP_NOADJUST) { 990 998 //ignore weird messages (TODO: why are they sent?) -
trunk/src/user32/win32wbase.cpp
r8101 r8105 1 /* $Id: win32wbase.cpp,v 1.31 7 2002-03-18 15:26:30sandervl Exp $ */1 /* $Id: win32wbase.cpp,v 1.318 2002-03-20 10:30:07 sandervl Exp $ */ 2 2 /* 3 3 * Win32 Window Base Class for OS/2 … … 1280 1280 (pUpdateRect->right >= client.left) && (pUpdateRect->right < client.right) && 1281 1281 (pUpdateRect->top >= client.top) && (pUpdateRect->top < client.bottom) && 1282 (pUpdateRect->bottom >= client.top) && (pUpdateRect->bottom < client.bottom)) 1282 (pUpdateRect->bottom >= client.top) && (pUpdateRect->bottom < client.bottom) 1283 && (!(getStyle() & WS_MINIMIZE))) 1283 1284 { 1284 1285 return 0; … … 1289 1290 1290 1291 rc = SendMessageA(getWindowHandle(),WM_NCPAINT, hrgn, 0); 1292 //Send WM_PAINTICON here if minimized, because client window will 1293 //not receive a (valid) WM_PAINT message 1294 if (getStyle() & WS_MINIMIZE) 1295 { 1296 rc = SendMessageA(getWindowHandle(),WM_PAINTICON, 1, 0); 1297 } 1291 1298 1292 1299 DeleteObject(hrgn); … … 1788 1795 case WM_PRINT: 1789 1796 return DefWndPrint(wParam,lParam); 1797 1798 case WM_SYNCPAINT: 1799 RedrawWindow(getWindowHandle(), NULL, 0, RDW_ERASENOW | RDW_ERASE | RDW_ALLCHILDREN); 1800 return 0; 1790 1801 1791 1802 case WM_PAINTICON: … … 2277 2288 case SW_RESTORE: 2278 2289 dprintf(("ShowWindow:restoring window")); 2279 //Set client rectangle to 0 (contains negative values)2280 setClientRect(0,0,0,0);2281 2290 2282 2291 swp |= SWP_SHOWWINDOW | SWP_FRAMECHANGED; … … 2300 2309 swp |= SWP_NOACTIVATE | SWP_NOZORDER; 2301 2310 2302 SetWindowPos(HWND_TOP, newPos.left, newPos.top, newPos.right, newPos.bottom, LOWORD(swp)); 2311 dprintf(("ShowWindow : SetWindowPos now")); 2312 if (!(getStyle() & WS_MINIMIZE)) { 2313 SetWindowPos(HWND_TOP, newPos.left, newPos.top, newPos.right, newPos.bottom, LOWORD(swp)); 2314 } 2315 else OSLibWinMinimizeWindow(getOS2FrameWindowHandle()); 2303 2316 2304 2317 if(!(swp & SWP_NOACTIVATE)) { -
trunk/src/user32/win32wbasenonclient.cpp
r7801 r8105 1 /* $Id: win32wbasenonclient.cpp,v 1.3 8 2002-02-05 17:59:01sandervl Exp $ */1 /* $Id: win32wbasenonclient.cpp,v 1.39 2002-03-20 10:30:07 sandervl Exp $ */ 2 2 /* 3 3 * Win32 Window Base Class for OS/2 (non-client methods) … … 439 439 winRect->right = winRect->left; 440 440 } 441 441 else { 442 //must return empty rectangle in parent coordinates (converted to 443 //(0,0)(0,0) in NCCALCSIZE handler 444 winRect->right = winRect->left; 445 winRect->bottom = winRect->top; 446 } 442 447 return result; 443 448 } -
trunk/src/user32/win32wbasepos.cpp
r8042 r8105 1 /* $Id: win32wbasepos.cpp,v 1.2 8 2002-03-07 19:41:18 sandervl Exp $ */1 /* $Id: win32wbasepos.cpp,v 1.29 2002-03-20 10:30:08 sandervl Exp $ */ 2 2 /* 3 3 * Win32 Window Base Class for OS/2 (nonclient/position methods) … … 315 315 if(getParent() == NULL) { 316 316 // @@PF : for now disable windows style - it messes with WV minimize - will fix it soon 317 SetRect(lpRect, -32000, -32000, GetSystemMetrics(SM_CXICON), GetSystemMetrics(SM_CYICON));317 // SetRect(lpRect, -32000, -32000, getWindowWidth(), getWindowHeight()); 318 318 // OSLibSetWindowStyle(getOS2FrameWindowHandle(), getOS2WindowHandle(), getStyle(), getExStyle()); 319 CloseWindow();320 319 } 321 320 else {
Note:
See TracChangeset
for help on using the changeset viewer.