source: trunk/src/user32/new/open32wbase.h@ 823

Last change on this file since 823 was 823, checked in by dengert, 26 years ago

begin DAXifying windows

File size: 3.5 KB
Line 
1/* $Id: open32wbase.h,v 1.1 1999-09-04 20:03:10 dengert Exp $ */
2/*
3 * Open32 Window fake Base Class for OS/2
4 *
5 *
6 * Copyright 1999 Daniela Engert (dani@ngrt.de)
7 *
8 *
9 * Project Odin Software License can be found in LICENSE.TXT
10 *
11 */
12#ifndef __OPEN32WINBASE_H__
13#define __OPEN32WINBASE_H__
14
15extern "C" {
16void _System WinSetDAXData (HWND, PVOID);
17}
18
19#pragma pack(1)
20
21class fakeOpen32WinBaseClass
22{
23 public:
24 virtual BOOL clientArea(PRECTL pRectl) { pRectl=pRectl; return FALSE; }
25 virtual BOOL redraw() { return bRedraw; }
26 virtual VOID setRedraw( BOOL bOn = TRUE ) { bRedraw = bOn; }
27
28// private:
29 char type;
30 LONG lUserData;
31 HWND hwndThisObject;
32 HWND hwndFocusPartner;
33 ULONG origStyle; /* Original windows style */
34 ULONG origStyleEx; /* Original extended windows style */
35 ULONG hevObjWinCreated; /* Posted by ObjWin thread upon creation of WinobjWin object */
36 #define PMS_SIZE 10
37 INT PMSIdx_beginPaint; /* Poor Man's Stack index for begin paint HPS handles */
38 ULONG PMS_beginPaint[PMS_SIZE]; /* Poor Man's Stack for begin paint HPS handles */
39 Win32WndClass *pWindowClass; /* ptr to window class */
40 PVOID pWinExtra;
41 PVOID beginPaintHPS_HDC;
42 PVOID ownDeviceContext;
43 ULONG ulNextChildId;
44 PVOID pfnwpWindows;
45 PVOID pfnwpPMOriginal;
46
47 ULONG bZeroId:1, /* See Note 1 */
48 bInCreate:1,
49 bDragDrop:1, /* Set by DragAcceptFiles() */
50 bEraseBkgnd:1, /* See Note 2 */
51 bPSEraseFlag:1, /* See Note 2 */
52 bSupressErase:1, /* See Note 2 */
53 bPaintNow:1, /* See Note 2 */
54 bRedraw:1,
55 bDestroyed:1,
56 bSendSetFocus:1,
57 bGotSetFocus:1,
58 ulReserved:21;
59};
60
61#pragma pack()
62
63/* NOTES:
64 * 1) The window ID for many DAX windows will default to zero. This is
65 * because the window ID is taken from the hmenu parameter in the
66 * CreateWindow call and this parameter will very often be 0 for child
67 * windows. Since PM sends many control messages with only an id as a
68 * means of identification, we are forced to substitute another window ID
69 * internally when a window is created with an ID of 0. The private
70 * bZeroId flag indicates when this happens. One disadvantage is that
71 * the window ID as queried from PM for a DAX window will not be the real
72 * DAX window ID when it should be zero. Because of this the windowId
73 * member function should be used any time the ID is going to be passed
74 * back to a DAX app (in a message or structure, for instance).
75 * Fortunately this does not happen often.
76 * 2) bEraseBkgnd is set to TRUE if the background needs to be erased. The
77 * bPSEraseFlag tells BeginPaint what to set the PAINTSTRUCT fErased flag
78 * to when bEraseBkgnd is FALSE. The bPSEraseFlag is necessary because
79 * RedrawWindow must set bEraseBkgnd to FALSE if RDW_ERASENOW is used,
80 * but BeginPaint must still set fErase to TRUE if the WM_ERASEBKGND
81 * message returned FALSE.
82 */
83
84#endif
85
Note: See TracBrowser for help on using the repository browser.