add more test for EngCreateSemaphore, it checking some info in the internal HANDLE...
[reactos.git] / rostests / apitests / gdi32api / gdi.h
index 8e3c930..3e6520d 100644 (file)
@@ -2,13 +2,6 @@
 #define _WIN32_WINNT 0x0501\r
 #endif\r
 \r
-typedef struct _GDI_TABLE_ENTRY\r
-{\r
-       PVOID KernelData; /* Points to the kernel mode structure */\r
-       HANDLE ProcessId; /* process id that created the object, 0 for stock objects */\r
-       LONG Type;        /* the first 16 bit is the object type including the stock obj flag, the last 16 bits is just the object type */\r
-       PVOID UserData;   /* Points to the user mode structure, usually NULL though */\r
-} GDI_TABLE_ENTRY, *PGDI_TABLE_ENTRY;\r
 \r
 typedef PGDI_TABLE_ENTRY (CALLBACK * GDIQUERYPROC) (void);\r
 \r
@@ -22,29 +15,7 @@ typedef PGDI_TABLE_ENTRY (CALLBACK * GDIQUERYPROC) (void);
 #define GDI_HANDLE_STOCK_MASK 0x00800000\r
 #define GDI_HANDLE_REUSE_MASK 0xff000000\r
 #define GDI_HANDLE_REUSECNT_SHIFT 24\r
-#define GDI_HANDLE_UPPER_MASK 0xffff0000\r
 \r
-/* Handle macros */\r
-#define GDI_HANDLE_CREATE(i, t)    \\r
-    ((HANDLE)(((i) & GDI_HANDLE_INDEX_MASK) | ((t) << 16)))\r
-\r
-#define GDI_HANDLE_GET_INDEX(h)    \\r
-    (((ULONG_PTR)(h)) & GDI_HANDLE_INDEX_MASK)\r
-\r
-#define GDI_HANDLE_GET_TYPE(h)     \\r
-    (((ULONG_PTR)(h)) & GDI_HANDLE_TYPE_MASK)\r
-\r
-#define GDI_HANDLE_IS_TYPE(h, t)   \\r
-    ((t) == (((ULONG_PTR)(h)) & GDI_HANDLE_TYPE_MASK))\r
-\r
-#define GDI_HANDLE_IS_STOCKOBJ(h)  \\r
-    (0 != (((ULONG_PTR)(h)) & GDI_HANDLE_STOCK_MASK))\r
-\r
-#define GDI_HANDLE_SET_STOCKOBJ(h) \\r
-    ((h) = (HANDLE)(((ULONG_PTR)(h)) | GDI_HANDLE_STOCK_MASK))\r
-\r
-#define GDI_HANDLE_GET_UPPER(h)     \\r
-    (((ULONG_PTR)(h)) & GDI_HANDLE_UPPER_MASK)\r
 \r
 #define GDI_OBJECT_TYPE_DC          0x00010000\r
 #define GDI_OBJECT_TYPE_REGION      0x00040000\r
@@ -73,131 +44,20 @@ typedef PGDI_TABLE_ENTRY (CALLBACK * GDIQUERYPROC) (void);
 \r
 typedef LONG FIX;\r
 \r
-typedef struct _EFLOAT_S\r
-{\r
-    LONG lMant;\r
-    LONG lExp;\r
-} EFLOAT_S;\r
-\r
-/* XFORM Structures */\r
-typedef struct _MATRIX_S\r
-{\r
-    EFLOAT_S efM11;\r
-    EFLOAT_S efM12;\r
-    EFLOAT_S efM21;\r
-    EFLOAT_S efM22;\r
-    EFLOAT_S efDx;\r
-    EFLOAT_S efDy;\r
-    FIX fxDx;\r
-    FIX fxDy;\r
-    FLONG flAccel;\r
-} MATRIX;\r
-\r
-/* GDI object structures */\r
-\r
-typedef struct _RGNATTR\r
-{\r
-    ULONG AttrFlags;\r
-    ULONG Flags;\r
-    RECTL Rect;\r
-} RGNATTR,*PRGNATTR;\r
-\r
-// Local DC structure (_DC_ATTR) PVOID pvLDC;\r
-typedef struct _LDC\r
-{\r
-    HDC hDC;\r
-    ULONG Flags;\r
-    INT iType;\r
-    PVOID pvEmfDC;        /* Pointer to ENHMETAFILE structure */\r
-    ABORTPROC pAbortProc; /* AbortProc for Printing */\r
-    HANDLE hPrinter;      /* Local or Remote Printer driver */\r
-    INT iInitPage;        /* Start/Stop */\r
-    INT iInitDocument;\r
-} LDC, *PLDC;\r
-\r
-typedef struct\r
-{\r
-  void *      pvLDC;                 // 000\r
-  ULONG       ulDirty;\r
-  HBRUSH      hbrush;\r
-  HPEN        hpen;\r
-\r
-  COLORREF    crBackgroundClr;       // 010\r
-  ULONG       ulBackgroundClr;\r
-  COLORREF    crForegroundClr;\r
-  ULONG       ulForegroundClr;\r
-\r
-#if (_WIN32_WINNT >= 0x0500)\r
-  COLORREF crBrushClr;               // 020\r
-  ULONG ulBrushClr;\r
-  COLORREF crPenClr;\r
-  ULONG ulPenClr;\r
 \r
-#endif\r
-  int         iCS_CP;                // 030\r
-  int         iGraphicsMode;\r
-  BYTE        jROP2;                 // 038\r
-  BYTE        jBkMode;\r
-  BYTE        jFillMode;\r
-  BYTE        jStretchBltMode;\r
-\r
-  POINT       ptlCurrent;            // 03C\r
-  POINTFX     ptfxCurrent;           // 044\r
-  long        lBkMode;               // 04C\r
-\r
-  long        lFillMode;             // 050\r
-  long        lStretchBltMode;\r
-\r
-#if (_WIN32_WINNT >= 0x0500)\r
-  long        flFontMapper;          // 058\r
-  long        lIcmMode;\r
-  unsigned    hcmXform;              // 060\r
-  HCOLORSPACE hColorSpace;\r
-  FLONG       flIcmFlags;\r
-  unsigned    IcmBrushColor;\r
-  unsigned    IcmPenColor;           // 070\r
-  PVOID       pvLIcm;\r
-#endif\r
-\r
-  long        flTextAlign;           // 078\r
-  long        lTextAlign;\r
-  long        lTextExtra;            // 080\r
-  long        lRelAbs;\r
-  long        lBreakExtra;\r
-  long        cBreak;\r
 \r
-  HFONT       hlfntNew;              // 090\r
-  MATRIX      mxWorldToDevice;       // 094\r
-  MATRIX      mxDeviceToWorld;       // 0D0\r
-  MATRIX      mxWorldToPage;         // 10C\r
 \r
-  EFLOAT_S    efM11PtoD;\r
-  EFLOAT_S    efM22PtoD;\r
-  EFLOAT_S    efDxPtoD;\r
-  EFLOAT_S    efDyPtoD;\r
+HDC WINAPI GdiConvertBitmap(HDC hdc);\r
+HBRUSH WINAPI GdiConvertBrush(HBRUSH hbr);\r
+HDC WINAPI GdiConvertDC(HDC hdc);\r
+HFONT WINAPI GdiConvertFont(HFONT hfont);\r
+HPALETTE WINAPI GdiConvertPalette(HPALETTE hpal);\r
+HRGN WINAPI GdiConvertRegion(HRGN hregion);\r
+HBRUSH WINAPI GdiGetLocalBrush(HBRUSH hbr);\r
+HDC WINAPI GdiGetLocalDC(HDC hdc);\r
+BOOL WINAPI GdiDeleteLocalDC(HDC hdc);\r
+BOOL WINAPI GdiReleaseLocalDC(HDC hdc);\r
+BOOL WINAPI GdiSetAttrs(HDC hdc);\r
 \r
-  int         iMapMode;              // 168\r
-\r
-#if (_WIN32_WINNT >= 0x0500)\r
-  DWORD       dwLayout;              // 16c\r
-  long        lWindowOrgx;           // 170\r
-#endif\r
-  POINT       ptlWindowOrg;          // 174\r
-  SIZE        szlWindowExt;          // 17c\r
-  POINT       ptlViewportOrg;        // 184\r
-  SIZE        szlViewportExt;        // 18c\r
-\r
-  long        flXform;               // 194\r
-  SIZE        szlVirtualDevicePixel; // 198\r
-  SIZE        szlVirtualDeviceMm;    // 1a0\r
-  POINT       ptlBrushOrigin;        // 1a8\r
-\r
-  unsigned    unk1b0_00000000[2];    // 1b0\r
-  RGNATTR VisRectRegion;\r
-\r
-//  unsigned    unk1b0_00000000[2];    // 1b0\r
-//  unsigned    RectRegionFlag;        // 1b4\r
-//  RECT        VisRectRegion;         // 1b8\r
-} DC_ATTR, *PDC_ATTR;\r
 \r
 \r