Ignore:
Timestamp:
Jan 5, 2000, 10:25:08 PM (26 years ago)
Author:
cbratschi
Message:

single frame works now

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/user32/new/pmwindow.cpp

    r2291 r2335  
    1 /* $Id: pmwindow.cpp,v 1.32 2000-01-01 17:07:42 cbratschi Exp $ */
     1/* $Id: pmwindow.cpp,v 1.33 2000-01-05 21:25:05 cbratschi Exp $ */
    22/*
    33 * Win32 Window Managment Code for OS/2
     
    243243        break;
    244244
    245 #if 1
    246245    case WM_ADJUSTWINDOWPOS:
    247     {
    248 //      PSWP     pswp = (PSWP)mp1;
    249 
    250 //        dprintf(("OS2: WM_ADJUSTWINDOWPOS %x %x %x (%d,%d) (%d,%d)", hwnd, pswp->hwnd, pswp->fl, pswp->x, pswp->y, pswp->cx, pswp->cy));
    251         goto RunDefWndProc;
    252     }
    253 #else
    254     case WM_ADJUSTWINDOWPOS:
    255     {
    256       PSWP     pswp = (PSWP)mp1;
    257       SWP      swpOld, swpNew;
    258       WINDOWPOS wp;
    259       ULONG     parentHeight = 0;
    260       HWND      hParent = NULLHANDLE, hFrame = NULLHANDLE, hwndAfter;
    261 
    262         dprintf(("OS2: WM_ADJUSTWINDOWPOS %x %x %x (%d,%d) (%d,%d)", hwnd, pswp->hwnd, pswp->fl, pswp->x, pswp->y, pswp->cx, pswp->cy));
    263 
    264         if ((pswp->fl & (SWP_SIZE | SWP_MOVE | SWP_ZORDER)) == 0) goto RunDefWndProc;;
    265 
    266         //SvL: TODO: Workaround. Why is this happening?
    267         //     When this flag is set the coordinates are 0, even though SWP_SIZE & SWP_MOVE are set.
    268 //        if ((pswp->fl & SWP_NOADJUST)) goto RunDefWndProc;
    269 
    270         if(!win32wnd->CanReceiveSizeMsgs()) goto RunDefWndProc;;
    271 
    272         WinQueryWindowPos(hwnd, &swpOld);
    273 
    274         if(pswp->fl & (SWP_MOVE | SWP_SIZE)) {
    275             if (win32wnd->isChild()) {
    276                 if(win32wnd->getParent()) {
    277                         hParent = win32wnd->getParent()->getOS2WindowHandle();
    278                 }
    279                 else    goto RunDefWndProc;;
    280             }
    281         }
    282         hwndAfter = pswp->hwndInsertBehind;
    283         hFrame = win32wnd->getOS2FrameWindowHandle();
    284         OSLibMapSWPtoWINDOWPOS(pswp, &wp, &swpOld, hParent, hFrame);
    285 
    286         wp.hwnd = win32wnd->getWindowHandle();
    287         if ((pswp->fl & SWP_ZORDER) && (pswp->hwndInsertBehind > HWND_BOTTOM))
    288         {
    289            Win32BaseWindow *wndAfter = Win32BaseWindow::GetWindowFromOS2Handle(pswp->hwndInsertBehind);
    290            if(wndAfter) wp.hwndInsertAfter = wndAfter->getWindowHandle();
    291         }
    292         if(win32wnd->MsgPosChanging((LPARAM)&wp) == 0)
    293         {//app or default window handler changed wp
    294             dprintf(("OS2: WM_ADJUSTWINDOWPOS, app changed windowpos struct"));
    295             dprintf(("%x (%d,%d), (%d,%d)", pswp->fl, pswp->x, pswp->y, pswp->cx, pswp->cy));
    296             OSLibMapWINDOWPOStoSWP(&wp, &swpNew, &swpOld, hParent, hFrame);
    297             dprintf(("%x (%d,%d), (%d,%d)", swpNew.fl, swpNew.x, swpNew.y, swpNew.cx, swpNew.cy));
    298             swpNew.fl |= SWP_NOADJUST;
    299             swpNew.hwndInsertBehind = hwndAfter;
    300             swpNew.hwnd = hFrame;
    301 
    302             WinSetMultWindowPos(GetThreadHAB(), &swpNew, 1);
    303             return (MRESULT)0;
    304         }
    305         break;
    306     }
    307 #endif
     246        goto RunDefWndProc;
    308247
    309248    case WM_WINDOWPOSCHANGED:
     
    584523
    585524        win32wnd->setWindowRect(swpOld.x, swpOld.y, swpOld.x + swpOld.cx, swpOld.y + swpOld.cy);
    586         win32wnd->setClientRect(swpOld.x, swpOld.y, swpOld.x + swpOld.cx, swpOld.y + swpOld.cy);
     525        //win32wnd->setClientRect(swpOld.x, swpOld.y, swpOld.x + swpOld.cx, swpOld.y + swpOld.cy);
    587526        wp.x = swpOld.x;
    588527        wp.y = swpOld.y;
Note: See TracChangeset for help on using the changeset viewer.