[WIN32SS]
[reactos.git] / win32ss / gdi / eng / pdevobj.h
index 77f315b..9b986ac 100644 (file)
@@ -30,10 +30,10 @@ typedef struct _GDIPOINTER /* should stay private to ENG? No, part of PDEVOBJ ak
   BOOL     Enabled;
   SIZEL    Size;
   POINTL   HotSpot;
-  XLATEOBJ *XlateObject;
   SURFACE  *psurfColor;
   SURFACE  *psurfMask;
   SURFACE  *psurfSave;
+  FLONG    flags;
 
   /* Public pointer information */
   RECTL    Exclude; /* Required publicly for SPS_ACCEPT_EXCLUDE */
@@ -123,7 +123,7 @@ typedef struct _PDEVOBJ
     DEVINFO                   devinfo;
     GDIINFO                   gdiinfo;
     PSURFACE                  pSurface;       /* SURFACE for this device. */
-//  HANDLE                    hSpooler;       /* Handle to spooler, if spooler dev driver. */
+    HANDLE                    hSpooler;       /* Handle to spooler, if spooler dev driver, DeviceObject if graphics device */
 //  PVOID                     pDesktopId;
     PGRAPHICS_DEVICE          pGraphicsDevice;
     POINTL                    ptlOrigion;
@@ -159,22 +159,24 @@ extern PPDEVOBJ gppdevPrimary;
 
 PPDEVOBJ
 NTAPI
-EngpGetPDEV(PUNICODE_STRING pustrDevice);
+EngpGetPDEV(
+    _In_opt_ PUNICODE_STRING pustrDevice);
 
 VOID
 NTAPI
-PDEVOBJ_vRelease(PPDEVOBJ ppdev);
+PDEVOBJ_vRelease(
+    _Inout_ PPDEVOBJ ppdev);
 
 PSURFACE
 NTAPI
 PDEVOBJ_pSurface(
-    PPDEVOBJ ppdev);
+    _In_ PPDEVOBJ ppdev);
 
 VOID
 NTAPI
 PDEVOBJ_vGetDeviceCaps(
-    PPDEVOBJ ppdev,
-    PDEVCAPS pDevCaps);
+    _In_ PPDEVOBJ ppdev,
+    _Out_ PDEVCAPS pDevCaps);
 
 INIT_FUNCTION
 NTSTATUS
@@ -183,6 +185,27 @@ InitPDEVImpl(VOID);
 
 PSIZEL
 FASTCALL
-PDEVOBJ_sizl(PPDEVOBJ, PSIZEL);
+PDEVOBJ_sizl(
+    _In_ PPDEVOBJ ppdev,
+    _Out_ PSIZEL psizl);
+
+BOOL
+NTAPI
+PDEVOBJ_bSwitchMode(
+    PPDEVOBJ ppdev,
+    PDEVMODEW pdm);
+
+PDEVMODEW
+NTAPI
+PDEVOBJ_pdmMatchDevMode(
+    PPDEVOBJ ppdev,
+    PDEVMODEW pdm);
+
+FORCEINLINE
+VOID
+PDEVOBJ_vReference(PPDEVOBJ ppdev)
+{
+    InterlockedIncrement(&ppdev->cPdevRefs);
+}
 
 #endif /* !__WIN32K_PDEVOBJ_H */