Author: tkreuzer
Date: Mon Apr  6 20:48:41 2009
New Revision: 40402

URL: http://svn.reactos.org/svn/reactos?rev=40402&view=rev
Log:
Move PDEVOBJ and related into it's own header file and update the structure to 
be like XP (most fields currently still commented out)

Added:
    trunk/reactos/subsystems/win32/win32k/include/pdevobj.h   (with props)
Modified:
    trunk/reactos/subsystems/win32/win32k/include/dc.h
    trunk/reactos/subsystems/win32/win32k/include/win32k.h

Modified: trunk/reactos/subsystems/win32/win32k/include/dc.h
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/include/dc.h?rev=40402&r1=40401&r2=40402&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/include/dc.h [iso-8859-1] (original)
+++ trunk/reactos/subsystems/win32/win32k/include/dc.h [iso-8859-1] Mon Apr  6 
20:48:41 2009
@@ -3,94 +3,14 @@
 
 #include "brush.h"
 #include "bitmaps.h"
+#include "pdevobj.h"
 
 /* Constants 
******************************************************************/
 
 /* Get/SetBounds/Rect support. */
 #define DCB_WINDOWMGR 0x8000 /* Queries the Windows bounding rectangle instead 
of the application's */
 
-/* PDEVOBJ flags */
-#define PDEV_DISPLAY             0x00000001 /* Display device */
-#define PDEV_HARDWARE_POINTER    0x00000002 /* Supports hardware cursor */
-#define PDEV_SOFTWARE_POINTER    0x00000004
-#define PDEV_GOTFONTS            0x00000040 /* Has font driver */
-#define PDEV_PRINTER             0x00000080
-#define PDEV_ALLOCATEDBRUSHES    0x00000100
-#define PDEV_HTPAL_IS_DEVPAL     0x00000200
-#define PDEV_DISABLED            0x00000400
-#define PDEV_SYNCHRONIZE_ENABLED 0x00000800
-#define PDEV_FONTDRIVER          0x00002000 /* Font device */
-#define PDEV_GAMMARAMP_TABLE     0x00004000
-#define PDEV_UMPD                0x00008000
-#define PDEV_SHARED_DEVLOCK      0x00010000
-#define PDEV_META_DEVICE         0x00020000
-#define PDEV_DRIVER_PUNTED_CALL  0x00040000 /* Driver calls back to GDI engine 
*/
-#define PDEV_CLONE_DEVICE        0x00080000
-
 /* Type definitions 
***********************************************************/
-
-// FIXME: move me to an appropriate header
-typedef struct _GDIPOINTER /* should stay private to ENG? No, part of PDEVOBJ 
aka HDEV aka PDEV. */
-{
-  /* private GDI pointer handling information, required for software emulation 
*/
-  BOOL     Enabled;
-  SIZEL    Size;
-  POINTL   HotSpot;
-  XLATEOBJ *XlateObject;
-  HSURF    ColorSurface;
-  HSURF    MaskSurface;
-  HSURF    SaveSurface;
-  int      ShowPointer; /* counter negtive  do not show the mouse postive show 
the mouse */
-
-  /* public pointer information */
-  RECTL    Exclude; /* required publicly for SPS_ACCEPT_EXCLUDE */
-  PFN_DrvMovePointer MovePointer;
-  ULONG    Status;
-} GDIPOINTER, *PGDIPOINTER;
-
-typedef struct _PDEVOBJ
-{
-  BASEOBJECT  BaseObject;
-
-  struct _PDEVOBJ *ppdevNext;
-  INT           cPdevRefs;
-  INT           cPdevOpenRefs;
-  struct _PDEVOBJ *ppdevParent;
-  FLONG         flFlags;
-  PERESOURCE    hsemDevLock;    /* Device lock. */
-
-  PVOID         pvGammaRamp;    /* Gamma ramp pointer. */
-
-  HSURF         FillPatterns[HS_DDI_MAX];
-
-  ULONG         DxDd_nCount;
-
-  DHPDEV        hPDev;          /* DHPDEV for device. */
-  PVOID         ppalSurf;       /* PEPALOBJ/PPALGDI for this device. */
-  DEVINFO       DevInfo;
-  GDIINFO       GDIInfo;
-  HSURF         pSurface;       /* SURFACE for this device. */
-  HANDLE        hSpooler;       /* Handle to spooler, if spooler dev driver. */
-  ULONG         DisplayNumber;
-  PVOID         pGraphicsDev;   /* PGRAPHICS_DEVICE */
-
-  DEVMODEW      DMW;
-  PVOID         pdmwDev;        /* Ptr->DEVMODEW.dmSize + dmDriverExtra == 
alloc size. */
-
-  FLONG         DxDd_Flags;     /* DxDD active status flags. */
-
-  PFILE_OBJECT  VideoFileObject;
-  BOOLEAN       PreparedDriver;
-  GDIPOINTER    Pointer;
-  /* Stuff to keep track of software cursors; win32k gdi part */
-  UINT SafetyRemoveLevel; /* at what level was the cursor removed?
-                            0 for not removed */
-  UINT SafetyRemoveCount;
-
-  DRIVER_FUNCTIONS DriverFunctions;
-  struct _EDD_DIRECTDRAW_GLOBAL * pEDDgpl;
-} PDEVOBJ, *PPDEVOBJ;
-
 
 typedef struct _ROS_DC_INFO
 {
@@ -210,15 +130,6 @@
   ROS_DC_INFO rosdc;
 } DC, *PDC;
 
-typedef struct _GRAPHICS_DEVICE
-{
-  CHAR szNtDeviceName[CCHDEVICENAME];           /* Yes char AscII */
-  CHAR szWinDeviceName[CCHDEVICENAME];          /* <- chk GetMonitorInfoW 
MxIxEX.szDevice */
-  struct _GRAPHICS_DEVICE * pNextGraphicsDevice;
-  DWORD StateFlags;                             /* See DISPLAY_DEVICE_* */
-} GRAPHICS_DEVICE, *PGRAPHICS_DEVICE;
-
-
 /* Internal functions 
*********************************************************/
 
 #define  DC_LockDc(hDC)  \

Added: trunk/reactos/subsystems/win32/win32k/include/pdevobj.h
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/include/pdevobj.h?rev=40402&view=auto
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/include/pdevobj.h (added)
+++ trunk/reactos/subsystems/win32/win32k/include/pdevobj.h [iso-8859-1] Mon 
Apr  6 20:48:41 2009
@@ -1,0 +1,125 @@
+#ifndef __WIN32K_PDEVOBJ_H
+#define __WIN32K_PDEVOBJ_H
+
+/* PDEVOBJ flags */
+#define PDEV_DISPLAY             0x00000001 /* Display device */
+#define PDEV_HARDWARE_POINTER    0x00000002 /* Supports hardware cursor */
+#define PDEV_SOFTWARE_POINTER    0x00000004
+#define PDEV_GOTFONTS            0x00000040 /* Has font driver */
+#define PDEV_PRINTER             0x00000080
+#define PDEV_ALLOCATEDBRUSHES    0x00000100
+#define PDEV_HTPAL_IS_DEVPAL     0x00000200
+#define PDEV_DISABLED            0x00000400
+#define PDEV_SYNCHRONIZE_ENABLED 0x00000800
+#define PDEV_FONTDRIVER          0x00002000 /* Font device */
+#define PDEV_GAMMARAMP_TABLE     0x00004000
+#define PDEV_UMPD                0x00008000
+#define PDEV_SHARED_DEVLOCK      0x00010000
+#define PDEV_META_DEVICE         0x00020000
+#define PDEV_DRIVER_PUNTED_CALL  0x00040000 /* Driver calls back to GDI engine 
*/
+#define PDEV_CLONE_DEVICE        0x00080000
+
+/* Type definitions 
***********************************************************/
+
+typedef struct _GDIPOINTER /* should stay private to ENG? No, part of PDEVOBJ 
aka HDEV aka PDEV. */
+{
+  /* private GDI pointer handling information, required for software emulation 
*/
+  BOOL     Enabled;
+  SIZEL    Size;
+  POINTL   HotSpot;
+  XLATEOBJ *XlateObject;
+  HSURF    ColorSurface;
+  HSURF    MaskSurface;
+  HSURF    SaveSurface;
+  int      ShowPointer; /* counter negtive  do not show the mouse postive show 
the mouse */
+
+  /* public pointer information */
+  RECTL    Exclude; /* required publicly for SPS_ACCEPT_EXCLUDE */
+  PFN_DrvMovePointer MovePointer;
+  ULONG    Status;
+} GDIPOINTER, *PGDIPOINTER;
+
+typedef struct _GRAPHICS_DEVICE
+{
+  CHAR szNtDeviceName[CCHDEVICENAME];           /* Yes char AscII */
+  CHAR szWinDeviceName[CCHDEVICENAME];          /* <- chk GetMonitorInfoW 
MxIxEX.szDevice */
+  struct _GRAPHICS_DEVICE * pNextGraphicsDevice;
+  DWORD StateFlags;                             /* See DISPLAY_DEVICE_* */
+} GRAPHICS_DEVICE, *PGRAPHICS_DEVICE;
+
+typedef struct _PDEVOBJ
+{
+    BASEOBJECT                BaseObject;
+
+    struct _PDEVOBJ *         ppdevNext;
+    INT                       cPdevRefs;
+    INT                       cPdevOpenRefs;
+    struct _PDEVOBJ *         ppdevParent;
+    FLONG                     flFlags;  // flags
+//  FLONG                     flAccelerated;
+    PERESOURCE                hsemDevLock;    /* Device lock. */
+//  HSEMAPHORE                hsemPointer;
+//  POINTL                    ptlPointer;
+//  SIZEL                     szlPointer;
+//  SPRITESTATE               SpriteState;
+//  HFONT                     hlfntDefault;
+//  HFONT                     hlfntAnsiVariable;
+//  HFONT                     hlfntAnsiFixed;
+    HSURF                     FillPatterns[HS_DDI_MAX]; // ahsurf[HS_DDI_MAX];
+//  PUNICODE_STRING           pusPrtDataFileName;
+//  PVOID                     pDevHTInfo;
+//  RFONT *                   prfntActive;
+//  RFONT *                   prfntInactive;
+//  ULONG                     cInactive;
+//  BYTE                      ajbo[0x5C];
+//  ULONG                     cDirectDrawDisableLocks;
+//  PVOID                     TypeOneInfo;
+    PVOID                     pvGammaRamp;    /* Gamma ramp pointer. */
+//  PVOID                     RemoteTypeOne;
+//  ULONG                     ulHorzRes;
+//  ULONG                     ulVertRes;
+//  PFN_DrvSetPointerShape    pfnDrvSetPointerShape;
+//  PFN_DrvMovePointer        pfnDrvMovePointer;
+//  PFN_DrvMovePointer        pfnMovePointer;
+//  PFN_DrvSynchronize        pfnDrvSynchronize;
+//  PFN_DrvSynchronizeSurface pfnDrvSynchronizeSurface;
+//  PFN_DrvSetPalette         pfnDrvSetPalette;
+//  PFN_DrvNotify             pfnDrvNotify;
+//  ULONG                     TagSig;
+//  PLDEVOBJ                  pldev;
+    DHPDEV                    hPDev;          /* dhpdev, DHPDEV for device. */
+    PVOID                     ppalSurf;       /* PEPALOBJ/PPALGDI for this 
device. */
+    DEVINFO                   DevInfo; // devinfo
+    GDIINFO                   GDIInfo; // gdiinfo
+    HSURF                     pSurface;       /* SURFACE for this device., 
FIXME: PSURFACE */
+//  HANDLE                    hSpooler;       /* Handle to spooler, if spooler 
dev driver. */
+//  PVOID                     pDesktopId;
+    PGRAPHICS_DEVICE          pGraphicsDev;   /* pGraphicsDevice */
+//  POINTL                    ptlOrigion;
+    PVOID                     pdmwDev;        /* Ptr->DEVMODEW.dmSize + 
dmDriverExtra == alloc size. */
+//  DWORD                     Unknown3;
+    FLONG                     DxDd_Flags;     /* DxDD active status flags. */
+//  LONG                      devAttr;
+//  PVOID                     WatchDogContext;
+//  ULONG                     WatchDogs;
+    union
+    {
+      DRIVER_FUNCTIONS        DriverFunctions;
+      PVOID                   apfn[INDEX_LAST];         // B8C 0x0598
+    };
+
+    /* ros specific */
+    ULONG         DxDd_nCount;
+    ULONG         DisplayNumber;
+    DEVMODEW      DMW;
+    PFILE_OBJECT  VideoFileObject;
+    BOOLEAN       PreparedDriver;
+    GDIPOINTER    Pointer;
+    /* Stuff to keep track of software cursors; win32k gdi part */
+    UINT SafetyRemoveLevel; /* at what level was the cursor removed?
+                              0 for not removed */
+    UINT SafetyRemoveCount;
+    struct _EDD_DIRECTDRAW_GLOBAL * pEDDgpl;
+} PDEVOBJ, *PPDEVOBJ;
+
+#endif /* !__WIN32K_PDEVOBJ_H */

Propchange: trunk/reactos/subsystems/win32/win32k/include/pdevobj.h
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: trunk/reactos/subsystems/win32/win32k/include/win32k.h
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/include/win32k.h?rev=40402&r1=40401&r2=40402&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/include/win32k.h [iso-8859-1] 
(original)
+++ trunk/reactos/subsystems/win32/win32k/include/win32k.h [iso-8859-1] Mon Apr 
 6 20:48:41 2009
@@ -33,6 +33,7 @@
 #include <include/floatobj.h>
 #include <include/gdiobj.h>
 #include <include/palette.h>
+#include <include/pdevobj.h>
 #include <include/rect.h>
 #include <include/win32.h>
 #include <include/window.h>

Reply via email to