Release 960928
[wine] / include / dce.h
1 /*
2  * USER DCE definitions
3  *
4  * Copyright 1993 Alexandre Julliard
5  */
6
7 #ifndef DCE_H
8 #define DCE_H
9
10 #include "windows.h"
11
12 /* additional DCX flags 
13  */
14
15 #define DCX_NORESETATTR         0x00000004
16 #define DCX_EXCLUDEUPDATE       0x00000100
17 #define DCX_INTERSECTUPDATE     0x00000200
18 #define DCX_LOCKWINDOWUPDATE    0x00000400
19 #define DCX_NORECOMPUTE         0x00100000
20 #define DCX_VALIDATE            0x00200000
21
22 #define DCX_DCEBUSY             0x00001000
23 #define DCX_WINDOWPAINT         0x00020000
24 #define DCX_KEEPCLIPRGN         0x00040000
25 #define DCX_NOCLIPCHILDREN      0x00080000
26
27 typedef enum
28 {
29     DCE_CACHE_DC,   /* This is a cached DC (allocated by USER) */
30     DCE_CLASS_DC,   /* This is a class DC (style CS_CLASSDC) */
31     DCE_WINDOW_DC   /* This is a window DC (style CS_OWNDC) */
32 } DCE_TYPE;
33
34
35 typedef struct tagDCE
36 {
37     struct tagDCE *next;
38     HDC32          hDC;
39     HWND32         hwndCurrent;
40     HWND32         hwndDC;
41     HRGN32         hClipRgn;
42     DCE_TYPE       type;
43     DWORD          DCXflags;
44 } DCE;
45
46
47 extern void DCE_Init(void);
48 extern DCE *DCE_AllocDCE( HWND32 hWnd, DCE_TYPE type );
49 extern void DCE_FreeDCE( DCE *dce );
50
51 #endif  /* DCE_H */