9c203183bb8b8e7b386596e8e9cbc1aefee9a19f
4 /* Ported from WINE by Jason Filby */
6 #include <user32/wininternal.h>
11 #define DCHC_INVALIDVISRGN 0x0001
12 #define DCHC_DELETEDC 0x0002
14 #define DCHF_INVALIDATEVISRGN 0x0001
15 #define DCHF_VALIDATEVISRGN 0x0002
19 DCE_CACHE_DC
, /* This is a cached DC (allocated by USER) */
20 DCE_CLASS_DC
, /* This is a class DC (style CS_CLASSDC) */
21 DCE_WINDOW_DC
/* This is a window DC (style CS_OWNDC) */
22 } DCE_TYPE
, *PDCE_TYPE
;
36 #define DCEOBJ_AllocDCE() \
37 ((HDCE) GDIOBJ_AllocObj (sizeof (DCE), GO_DCE_MAGIC))
38 #define DCEOBJ_FreeDCE(hDCE) GDIOBJ_FreeObj((HGDIOBJ)hDCE, GO_DCE_MAGIC, GDIOBJFLAG_DEFAULT)
39 #define DCEOBJ_LockDCE(hDCE) ((PDCE)GDIOBJ_LockObj((HGDIOBJ)hDCE, GO_DCE_MAGIC))
40 #define DCEOBJ_UnlockDCE(hDCE) GDIOBJ_UnlockObj((HGDIOBJ)hDCE, GO_DCE_MAGIC)
42 PDCE
DCE_AllocDCE(HWND hWnd
, DCE_TYPE type
);
43 PDCE
DCE_FreeDCE(PDCE dce
);
44 VOID
DCE_FreeWindowDCE(HWND
);
45 INT
DCE_ExcludeRgn(HDC
, HWND
, HRGN
);
46 BOOL
DCE_InvalidateDCE(HWND
, const PRECTL
);
47 BOOL
DCE_InternalDelete(PDCE dce
);