Added missing #include "config.h"
[wine/multimedia.git] / include / dce.h
blob089ad22cd8d959f582a2bac91858ed3e5fa9d18b
1 /*
2 * USER DCE definitions
4 * Copyright 1993 Alexandre Julliard
5 */
7 #ifndef __WINE_DCE_H
8 #define __WINE_DCE_H
10 #include "windows.h"
11 #include "win.h"
13 /* additional DCX flags
16 #define DCX_NORESETATTR 0x00000004
17 #define DCX_EXCLUDEUPDATE 0x00000100
18 #define DCX_INTERSECTUPDATE 0x00000200
19 #define DCX_LOCKWINDOWUPDATE 0x00000400
20 #define DCX_NORECOMPUTE 0x00100000
21 #define DCX_VALIDATE 0x00200000
23 #define DCX_DCEEMPTY 0x00000800
24 #define DCX_DCEBUSY 0x00001000
25 #define DCX_DCEDIRTY 0x00002000
26 #define DCX_WINDOWPAINT 0x00020000
27 #define DCX_KEEPCLIPRGN 0x00040000
28 #define DCX_NOCLIPCHILDREN 0x00080000
30 typedef enum
32 DCE_CACHE_DC, /* This is a cached DC (allocated by USER) */
33 DCE_CLASS_DC, /* This is a class DC (style CS_CLASSDC) */
34 DCE_WINDOW_DC /* This is a window DC (style CS_OWNDC) */
35 } DCE_TYPE;
38 typedef struct tagDCE
40 struct tagDCE *next;
41 HDC32 hDC;
42 HWND32 hwndCurrent;
43 HWND32 hwndDC;
44 HRGN32 hClipRgn;
45 DCE_TYPE type;
46 DWORD DCXflags;
47 } DCE;
50 extern void DCE_Init(void);
51 extern DCE* DCE_AllocDCE( HWND32 hWnd, DCE_TYPE type );
52 extern DCE* DCE_FreeDCE( DCE *dce );
53 extern void DCE_FreeWindowDCE( WND* );
54 extern INT16 DCE_ExcludeRgn( HDC32, WND*, HRGN32 );
55 extern HRGN32 DCE_GetVisRgn( HWND32, WORD );
56 extern BOOL32 DCE_InvalidateDCE( WND*, const RECT32* );
58 #endif /* __WINE_DCE_H */