Changeset 16888


Ignore:
Timestamp:
Jul 14, 2001, 11:21:46 AM (24 years ago)
Author:
sandervl
Message:

Support full window drag for Odin windows

Location:
tags/trunk/src/user32
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified tags/trunk/src/user32/oslibwin.h

    r16717 r16888  
    1 /* $Id: oslibwin.h,v 1.59 2001-07-03 18:33:27 sandervl Exp $ */
     1/* $Id: oslibwin.h,v 1.60 2001-07-14 09:21:42 sandervl Exp $ */
    22/*
    33 * Window API wrappers for OS/2
     
    133133#define SVOS_CYBYTEALIGN             50
    134134#define SVOS_CYALIGN                 50
     135#define SVOS_DESKTOPWORKAREAYTOP     51
     136#define SVOS_DESKTOPWORKAREAYBOTTOM  52
     137#define SVOS_DESKTOPWORKAREAXRIGHT   53
     138#define SVOS_DESKTOPWORKAREAXLEFT    54
    135139
    136140/* The following value enables any greater value to be set by WinSetSysValue. */
     
    180184#define SVOS_PRINTSCREEN             97
    181185#define SVOS_LOCKSTARTINPUT          98
     186#define SVOS_DYNAMICDRAG             99
     187#define SVOS_ALTTABWINDOW            100
     188#define SVOS_VIOMOUSEACTIONS         101
     189#define SVOS_ASYNCFOCUSCHANGE        102
     190#define SVOS_AFCSENSITIVITY          103
     191#define SVOS_CLOSEVIOWITHOUTCONFIRM  104
     192#define SVOS_CXCURSOR                106
     193#define SVOS_CYCURSOR                107
    182194#define SVOS_CSYSVALUES              108
    183195
  • TabularUnified tags/trunk/src/user32/pmwindow.cpp

    r16815 r16888  
    1 /* $Id: pmwindow.cpp,v 1.139 2001-07-08 15:51:42 sandervl Exp $ */
     1/* $Id: pmwindow.cpp,v 1.140 2001-07-14 09:21:43 sandervl Exp $ */
    22/*
    33 * Win32 Window Managment Code for OS/2
     
    13541354
    13551355    case WM_TRACKFRAME:
     1356        dprintf(("PMFRAME: WM_TRACKFRAME %x %x %x", win32wnd->getWindowHandle(), mp1, mp2));
    13561357        if(fOS2Look) {//sent by titlebar control
    13571358            FrameTrackFrame(win32wnd, TF_MOVE);
     
    13861387//******************************************************************************
    13871388//TODO: Quickly moving a window two times doesn't force a repaint (1st time)
     1389//
     1390//
     1391BOOL (APIENTRY *WinTrackWindow)(HWND hwndTrack, PTRACKINFO pti) = NULL;
     1392//
    13881393//******************************************************************************
    13891394VOID FrameTrackFrame(Win32BaseWindow *win32wnd,DWORD flags)
     
    13941399  HWND      hwndTracking;
    13951400  LONG      parentHeight, parentWidth;
    1396 
     1401  static    BOOL fInit = FALSE;
     1402  APIRET    rc;
     1403  BOOL      ret;
     1404
     1405    if(!fInit) {
     1406        HMODULE hModule;
     1407        char    buf[CCHMAXPATH];
     1408        rc = DosLoadModule(buf, sizeof(buf), "PMMERGE", &hModule);
     1409        rc = DosQueryProcAddr(hModule, 5466, NULL, (PFN *)&WinTrackWindow);
     1410        if(rc) WinTrackWindow = NULL;
     1411        fInit = TRUE;
     1412    }
    13971413    dprintf(("FrameTrackFrame: %x %x", win32wnd->getWindowHandle(), flags));
    13981414    track.cxBorder = 4;
     
    14281444    track.fs = flags;
    14291445
    1430     if(WinTrackRect(hwndTracking, NULL, &track) )
    1431     {
     1446    BOOL fDynamicDrag = WinQuerySysValue(HWND_DESKTOP, SVOS_DYNAMICDRAG);
     1447
     1448    SEL sel = RestoreOS2FS();
     1449    if(fDynamicDrag && WinTrackWindow) {
     1450         ret = WinTrackWindow(win32wnd->getOS2FrameWindowHandle(), &track);
     1451    }
     1452    else ret = WinTrackRect(hwndTracking, NULL, &track);
     1453    SetFS(sel);
     1454
     1455    if(ret) {
    14321456        /* if successful copy final position back */
    14331457        if(!WinEqualRect(0, &rcl, &track.rclTrack)) {
  • TabularUnified tags/trunk/src/user32/user32.cpp

    r16887 r16888  
    1 /* $Id: user32.cpp,v 1.107 2001-07-14 08:36:19 sandervl Exp $ */
     1/* $Id: user32.cpp,v 1.108 2001-07-14 09:21:46 sandervl Exp $ */
    22
    33/*
     
    707707
    708708    case SPI_GETDRAGFULLWINDOWS:
    709         *(BOOL *)pvParam = FALSE; //CB: where is the Warp 4 setting stored?
     709        *(BOOL *)pvParam = OSLibWinQuerySysValue(SVOS_DYNAMICDRAG);
    710710        break;
    711711
Note: See TracChangeset for help on using the changeset viewer.