branch update for HEAD-2003091401
[reactos.git] / subsys / win32k / include / dce.h
index 9c20318..edb75eb 100644 (file)
@@ -34,16 +34,19 @@ typedef struct tagDCE
 
 
 #define  DCEOBJ_AllocDCE()  \
-  ((HDCE) GDIOBJ_AllocObj (sizeof (DCE), GO_DCE_MAGIC))
-#define  DCEOBJ_FreeDCE(hDCE)  GDIOBJ_FreeObj((HGDIOBJ)hDCE, GO_DCE_MAGIC, GDIOBJFLAG_DEFAULT)
-#define  DCEOBJ_LockDCE(hDCE) ((PDCE)GDIOBJ_LockObj((HGDIOBJ)hDCE, GO_DCE_MAGIC))
-#define  DCEOBJ_UnlockDCE(hDCE) GDIOBJ_UnlockObj((HGDIOBJ)hDCE, GO_DCE_MAGIC)
-
-PDCE DCE_AllocDCE(HWND hWnd, DCE_TYPE type);
-PDCE DCE_FreeDCE(PDCE dce);
-VOID DCE_FreeWindowDCE(HWND);
-INT  DCE_ExcludeRgn(HDC, HWND, HRGN);
-BOOL DCE_InvalidateDCE(HWND, const PRECTL);
-BOOL DCE_InternalDelete(PDCE dce);
+  ((HDCE) GDIOBJ_AllocObj (sizeof (DCE), GDI_OBJECT_TYPE_DCE, (GDICLEANUPPROC) DCE_InternalDelete))
+#define  DCEOBJ_FreeDCE(hDCE)  GDIOBJ_FreeObj((HGDIOBJ)hDCE, GDI_OBJECT_TYPE_DCE, GDIOBJFLAG_DEFAULT)
+#define  DCEOBJ_LockDCE(hDCE) ((PDCE)GDIOBJ_LockObj((HGDIOBJ)hDCE, GDI_OBJECT_TYPE_DCE))
+#define  DCEOBJ_UnlockDCE(hDCE) GDIOBJ_UnlockObj((HGDIOBJ)hDCE, GDI_OBJECT_TYPE_DCE)
+
+PDCE FASTCALL DCE_AllocDCE(HWND hWnd, DCE_TYPE type); // ???
+PDCE FASTCALL DceAllocDCE(HWND hWnd, DCE_TYPE Type);
+PDCE FASTCALL DCE_FreeDCE(PDCE dce);
+VOID FASTCALL DCE_FreeWindowDCE(HWND);
+HRGN STDCALL  DceGetVisRgn(HWND hWnd, ULONG Flags, HWND hWndChild, ULONG CFlags);
+INT  FASTCALL DCE_ExcludeRgn(HDC, HWND, HRGN);
+BOOL FASTCALL DCE_InvalidateDCE(HWND, const PRECTL);
+BOOL FASTCALL DCE_InternalDelete(PDCE dce);
+HWND FASTCALL IntWindowFromDC(HDC hDc);
 
 #endif