source: trunk/src/ddraw/os2DDWindow.cpp@ 210

Last change on this file since 210 was 210, checked in by hugh, 26 years ago

DX 6 Version of ddraw rel files

File size: 1.3 KB
Line 
1#define INCL_WIN
2#include <os2wrap.h>
3#include "os2DDWindow.h"
4
5PFNWP pfnOrgClientProc = NULL;
6
7MRESULT EXPENTRY DDOS2WindowProc(HWND hwnd, ULONG ulMsg, MPARAM mp1, MPARAM mp2);
8extern VOID SwitchDisplay(HWND hwnd);
9
10BOOL OS2DdSubClassWindow(HWND hwndClient)
11{
12 HWND hwndParent;
13
14 // only allow subclassing once!
15
16 if(NULL==pfnOrgClientProc)
17 {
18 hwndParent = WinQueryWindow(hwndClient,QW_PARENT);
19
20 if(hwndParent!=HWND_DESKTOP)
21 hwndFrame = hwndParent;
22 else
23 hwndFrame = hwndClient;
24
25 pfnOrgClientProc = WinSubclassWindow(hwndFrame,DDOS2WindowProc);
26
27 return TRUE;
28 }
29
30 return FALSE;
31}
32
33
34MRESULT EXPENTRY DDOS2WindowProc(HWND hwnd, ULONG ulMsg, MPARAM mp1, MPARAM mp2)
35{
36 USHORT usFlags;
37 switch(ulMsg)
38 {
39 // capture the mouse
40 case WM_ACTIVATE:
41 if(mp1)
42 WinSetCapture(HWND_DESKTOP,hwnd);
43 else
44 WinSetCapture(HWND_DESKTOP,NULLHANDLE);
45 break;
46 case WM_CHAR:
47 // Check for CTRL+SHIFT+F12 to toggle between stretched (FS) / windowd mode
48 usFlags = SHORT1FROMMP(mp1);
49 if(!(usFlags & KC_KEYUP))
50 {
51 if( (usFlags & KC_VIRTUALKEY) && (usFlags & KC_SHIFT) && (usFlags & KC_CTRL))
52 {
53 if(VK_F12 == SHORT2FROMMP(mp2))
54 SwitchDisplay(hwnd);
55 }
56 }
57 break;
58 default:
59 break;
60 }
61 return pfnOrgClientProc(hwnd, ulMsg, mp1,mp2);
62}
63
Note: See TracBrowser for help on using the repository browser.