Moved DCX_* constants to winuser.h.
[wine/multimedia.git] / include / dce.h
blob3c386817855fd430746269a6a199e78836a7071c
1 /*
2 * USER DCE definitions
4 * Copyright 1993 Alexandre Julliard
5 */
7 #ifndef __WINE_DCE_H
8 #define __WINE_DCE_H
10 #include "windef.h"
12 struct tagWND;
14 /* internal DCX flags */
15 #define DCX_DCEEMPTY 0x00000800
16 #define DCX_DCEBUSY 0x00001000
17 #define DCX_DCEDIRTY 0x00002000
18 #define DCX_WINDOWPAINT 0x00020000
19 #define DCX_KEEPCLIPRGN 0x00040000
20 #define DCX_NOCLIPCHILDREN 0x00080000
22 typedef enum
24 DCE_CACHE_DC, /* This is a cached DC (allocated by USER) */
25 DCE_CLASS_DC, /* This is a class DC (style CS_CLASSDC) */
26 DCE_WINDOW_DC /* This is a window DC (style CS_OWNDC) */
27 } DCE_TYPE;
30 typedef struct tagDCE
32 struct tagDCE *next;
33 HDC hDC;
34 HWND hwndCurrent;
35 HWND hwndDC;
36 HRGN hClipRgn;
37 DCE_TYPE type;
38 DWORD DCXflags;
39 } DCE;
41 extern DCE* DCE_AllocDCE( HWND hWnd, DCE_TYPE type );
42 extern DCE* DCE_FreeDCE( DCE *dce );
43 extern void DCE_FreeWindowDCE( struct tagWND* );
44 extern INT DCE_ExcludeRgn( HDC, struct tagWND*, HRGN );
45 extern HRGN DCE_GetVisRgn( HWND, WORD, HWND, WORD );
46 extern BOOL DCE_InvalidateDCE( struct tagWND*, const RECT* );
48 #endif /* __WINE_DCE_H */