Release 20030408.
[wine/gsoc-2012-control.git] / include / dce.h
blobf77d7f47dde31d41759afe2b4cd3867779d7a7d6
1 /*
2 * USER DCE definitions
4 * Copyright 1993 Alexandre Julliard
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21 #ifndef __WINE_DCE_H
22 #define __WINE_DCE_H
24 #include "windef.h"
26 /* internal DCX flags */
27 #define DCX_DCEEMPTY 0x00000800
28 #define DCX_DCEBUSY 0x00001000
29 #define DCX_DCEDIRTY 0x00002000
30 #define DCX_WINDOWPAINT 0x00020000
31 #define DCX_KEEPCLIPRGN 0x00040000
32 #define DCX_NOCLIPCHILDREN 0x00080000
34 typedef enum
36 DCE_CACHE_DC, /* This is a cached DC (allocated by USER) */
37 DCE_CLASS_DC, /* This is a class DC (style CS_CLASSDC) */
38 DCE_WINDOW_DC /* This is a window DC (style CS_OWNDC) */
39 } DCE_TYPE;
42 typedef struct tagDCE
44 struct tagDCE *next;
45 HDC hDC;
46 HWND hwndCurrent;
47 HWND hwndDC;
48 HRGN hClipRgn;
49 DCE_TYPE type;
50 DWORD DCXflags;
51 } DCE;
53 extern DCE* DCE_AllocDCE( HWND hWnd, DCE_TYPE type );
54 extern DCE* DCE_FreeDCE( DCE *dce );
55 extern void DCE_FreeWindowDCE( HWND );
56 extern INT DCE_ExcludeRgn( HDC, HWND, HRGN );
57 extern BOOL DCE_InvalidateDCE( HWND, const RECT* );
59 #endif /* __WINE_DCE_H */