Release 990226.
[wine/gsoc-2012-control.git] / include / dce.h
blob3fa10cb555739693962c170d29358cc666cb700b
1 /*
2 * USER DCE definitions
4 * Copyright 1993 Alexandre Julliard
5 */
7 #ifndef __WINE_DCE_H
8 #define __WINE_DCE_H
10 #include "win.h"
12 /* additional DCX flags
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
22 #define DCX_DCEEMPTY 0x00000800
23 #define DCX_DCEBUSY 0x00001000
24 #define DCX_DCEDIRTY 0x00002000
25 #define DCX_WINDOWPAINT 0x00020000
26 #define DCX_KEEPCLIPRGN 0x00040000
27 #define DCX_NOCLIPCHILDREN 0x00080000
29 typedef enum
31 DCE_CACHE_DC, /* This is a cached DC (allocated by USER) */
32 DCE_CLASS_DC, /* This is a class DC (style CS_CLASSDC) */
33 DCE_WINDOW_DC /* This is a window DC (style CS_OWNDC) */
34 } DCE_TYPE;
37 typedef struct tagDCE
39 struct tagDCE *next;
40 HDC hDC;
41 HWND hwndCurrent;
42 HWND hwndDC;
43 HRGN hClipRgn;
44 DCE_TYPE type;
45 DWORD DCXflags;
46 } DCE;
49 extern void DCE_Init(void);
50 extern DCE* DCE_AllocDCE( HWND hWnd, DCE_TYPE type );
51 extern DCE* DCE_FreeDCE( DCE *dce );
52 extern void DCE_FreeWindowDCE( WND* );
53 extern INT16 DCE_ExcludeRgn( HDC, WND*, HRGN );
54 extern HRGN DCE_GetVisRgn( HWND, WORD, HWND, WORD );
55 extern BOOL DCE_InvalidateDCE( WND*, const RECT* );
57 #endif /* __WINE_DCE_H */