[ros-diffs] [sginsberg] 36629: - Preliminary work on win32k's internal headers

sginsberg at svn.reactos.org sginsberg at svn.reactos.org
Thu Oct 2 21:39:29 CEST 2008


Author: sginsberg
Date: Thu Oct  2 14:39:28 2008
New Revision: 36629

URL: http://svn.reactos.org/svn/reactos?rev=36629&view=rev
Log:
- Preliminary work on win32k's internal headers

Added:
    branches/nwin32/subsystems/win32/win32k/include/engobj.h   (with props)
    branches/nwin32/subsystems/win32/win32k/include/gdiobj.h   (with props)
    branches/nwin32/subsystems/win32/win32k/include/userobj.h   (with props)
    branches/nwin32/subsystems/win32/win32k/include/win32kp.h   (with props)
Modified:
    branches/nwin32/subsystems/win32/win32k/include/win32k.h

Added: branches/nwin32/subsystems/win32/win32k/include/engobj.h
URL: http://svn.reactos.org/svn/reactos/branches/nwin32/subsystems/win32/win32k/include/engobj.h?rev=36629&view=auto
==============================================================================
--- branches/nwin32/subsystems/win32/win32k/include/engobj.h (added)
+++ branches/nwin32/subsystems/win32/win32k/include/engobj.h [iso-8859-1] Thu Oct  2 14:39:28 2008
@@ -1,0 +1,55 @@
+/*
+ * PROJECT:         ReactOS Win32K
+ * LICENSE:         GPL - See COPYING in the top level directory
+ * FILE:            subsystems/win32/win32k/include/engobj.h
+ * PURPOSE:         Eng* Structures
+ * PROGRAMMERS:     Stefan Ginsberg (stefan__100__ at hotmail.com)
+ */
+
+#ifndef _WIN32K_ENGOBJ_H
+#define _WIN32K_ENGOBJ_H
+
+//#define PAL_INDEXED          0x000001
+//#define PAL_BITFIELDS        0x000002
+//#define PAL_RGB              0x000004
+//#define PAL_BGR              0x000008
+//#define PAL_CMYK             0x000010
+#define PAL_DC               0x000100
+#define PAL_FIXED            0x000200
+#define PAL_FREE             0x000400
+#define PAL_MANAGED          0x000800
+#define PAL_NOSTATIC         0x001000
+#define PAL_MONOCHROME       0x002000
+#define PAL_BRUSHHACK        0x004000
+#define PAL_DIBSECTION       0x008000
+#define PAL_HT               0x100000
+#define PAL_RGB16_555        0x200000
+#define PAL_RGB16_565        0x400000
+#define PAL_GAMMACORRECTION  0x800000
+
+typedef unsigned long HDEVPPAL;
+
+typedef struct _EPALOBJ
+{
+    BASEOBJECT BaseObject;
+    FLONG flPal;
+    ULONG cEntries;
+    ULONG ulUnique;
+    HDC hdcHead;
+    HDEVPPAL hSelected;
+    ULONG cRefhpal;
+    ULONG cRefRegular;
+    PVOID ptransFore; // PTRANSLATE
+    PVOID ptransCurrent; // PTRANSLATE
+    PVOID ptransOld; // PTRANSLATE
+    ULONG unk_038;
+    PFN pfnGetNearest;
+    PFN pfnGetMatch;
+    ULONG ulRGBTime;
+    struct _PRGB555XL *pRGBXlate;
+    PALETTEENTRY *pFirstColor;  // 0x4c, this->apalColors, attention!! Yuan is wrong here
+    struct _EPALOBJ *pPalette;     // 0x50, this, attention!! Yuan is wrong here
+    PALETTEENTRY apalColors[1];
+} EPALOBJ, *PEPALOBJ;
+
+#endif // _WIN32K_ENGOBJ_H

Propchange: branches/nwin32/subsystems/win32/win32k/include/engobj.h
------------------------------------------------------------------------------
    svn:eol-style = native

Added: branches/nwin32/subsystems/win32/win32k/include/gdiobj.h
URL: http://svn.reactos.org/svn/reactos/branches/nwin32/subsystems/win32/win32k/include/gdiobj.h?rev=36629&view=auto
==============================================================================
--- branches/nwin32/subsystems/win32/win32k/include/gdiobj.h (added)
+++ branches/nwin32/subsystems/win32/win32k/include/gdiobj.h [iso-8859-1] Thu Oct  2 14:39:28 2008
@@ -1,0 +1,105 @@
+/*
+ * PROJECT:         ReactOS Win32K
+ * LICENSE:         GPL - See COPYING in the top level directory
+ * FILE:            subsystems/win32/win32k/include/gdiobj.h
+ * PURPOSE:         GDI Structures
+ * PROGRAMMERS:     Stefan Ginsberg (stefan__100__ at hotmail.com)
+ */
+ 
+#ifndef _WIN32K_GDIOBJ_H
+#define _WIN32K_GDIOBJ_H
+
+typedef struct _BASEOBJECT
+{
+    HGDIOBJ hHmgr;
+    ULONG ulShareCount;
+    USHORT cExclusiveLock;
+    USHORT BaseFlags;
+    struct _PW32THREAD *Tid;
+} BASEOBJECT, *POBJ;
+
+typedef struct _GDIBRUSHOBJ
+{
+    BASEOBJECT BaseObject;
+    ULONG ulStyle;
+    HBITMAP hbmPattern;
+    HANDLE hbmClient;
+    FLONG flAttrs;
+    ULONG ulBrushUnique;
+    BRUSH_ATTR *pBrushAttr;
+    BRUSH_ATTR BrushAttr;
+    POINT ptOrigin;
+    ULONG bCacheGrabbed;
+    COLORREF crBack;
+    COLORREF crFore;
+    ULONG ulPalTime;
+    ULONG ulSurfTime;
+    PVOID ulRealization;
+    ULONG Unknown4C[3];
+    POINT ptPenWidth;
+    ULONG ulPenStyle;
+    DWORD *pStyle;
+    DWORD dwStyleCount;
+    ULONG Unknown6C;
+} GDIBRUSHOBJ, *PGDIBRUSHOBJ;
+
+// EXtended CLip and Window Region Object
+// Multipurpose E/X/CLIPOBJ and E/WNDOBJ structure
+typedef struct _XCLIPOBJ
+{
+    WNDOBJ exClipWnd;
+    PVOID pClipRgn;
+    RECTL rclClipRgn;
+    PVOID pscanClipRgn;
+    DWORD cScans;
+    DWORD Unknown1;
+    ULONG ulBSize;
+    LONG lscnSize;
+    ULONG ulObjSize;
+    ULONG iDirection;
+    ULONG ClipType;
+    DWORD Unknown2;
+    LONG lUpDown;
+    DWORD Unknown3;
+    BOOL ShouldDoAll;
+    DWORD nComplexity;
+    PVOID pUnknown;
+} XCLIPOBJ, *PXCLIPOBJ;
+
+typedef struct _SCAN
+{
+    LONG scnPntCnt;
+    LONG scnPntTop;
+    LONG scnPntBottom;
+    LONG scnPntX[2];
+} SCAN, *PSCAN;
+
+typedef struct _SCAN1
+{
+    LONG scnPntCnt;
+    struct _SCAN2 *scnPnt[3];
+    LONG scnPntCntToo;
+} SCAN1, *PSCAN1;
+
+typedef struct _SCAN2
+{
+    LONG scnPntTop;
+    LONG scnPntBottom;
+    LONG scnPntX[2];
+} SCAN2, *PSCAN2;
+
+typedef struct _REGION
+{
+   BASEOBJECT BaseObject;
+   unsigned   sizeObj;
+   ULONG      iUniq;      // from Clip object
+   DWORD      nRefCount;   // inc/dec Ref count if 0 deleteRGNOBJ
+   PSCAN pscnTail;
+   unsigned   sizeRgn;
+   unsigned   cScans;
+   RECTL rcl;
+   SCAN scnHead1[1];
+   SCAN1 scnHead2[1];
+} REGION, *PREGION;
+
+#endif // _WIN32K_GDIOBJ_H

Propchange: branches/nwin32/subsystems/win32/win32k/include/gdiobj.h
------------------------------------------------------------------------------
    svn:eol-style = native

Added: branches/nwin32/subsystems/win32/win32k/include/userobj.h
URL: http://svn.reactos.org/svn/reactos/branches/nwin32/subsystems/win32/win32k/include/userobj.h?rev=36629&view=auto
==============================================================================
--- branches/nwin32/subsystems/win32/win32k/include/userobj.h (added)
+++ branches/nwin32/subsystems/win32/win32k/include/userobj.h [iso-8859-1] Thu Oct  2 14:39:28 2008
@@ -1,0 +1,69 @@
+/*
+ * PROJECT:         ReactOS Win32K
+ * LICENSE:         GPL - See COPYING in the top level directory
+ * FILE:            subsystems/win32/win32k/include/userobj.h
+ * PURPOSE:         User Structures
+ * PROGRAMMERS:     Stefan Ginsberg (stefan__100__ at hotmail.com)
+ */
+
+#ifndef _WIN32K_USEROBJ_H
+#define _WIN32K_USEROBJ_H
+
+//
+// W32PROCESS Flags
+//
+#define W32PF_CONSOLEAPPLICATION      0x00000001
+#define W32PF_FORCEOFFFEEDBACK        0x00000002
+#define W32PF_STARTGLASS              0x00000004
+#define W32PF_WOW                     0x00000008
+#define W32PF_READSCREENACCESSGRANTED 0x00000010
+#define W32PF_INITIALIZED             0x00000020
+#define W32PF_APPSTARTING             0x00000040
+#define W32PF_WOW64                   0x00000080
+#define W32PF_ALLOWFOREGROUNDACTIVATE 0x00000100
+#define W32PF_OWNDCCLEANUP            0x00000200
+#define W32PF_SHOWSTARTGLASSCALLED    0x00000400
+#define W32PF_FORCEBACKGROUNDPRIORITY 0x00000800
+#define W32PF_TERMINATED              0x00001000
+#define W32PF_CLASSESREGISTERED       0x00002000
+#define W32PF_THREADCONNECTED         0x00004000
+#define W32PF_PROCESSCONNECTED        0x00008000
+#define W32PF_WAKEWOWEXEC             0x00010000
+#define W32PF_WAITFORINPUTIDLE        0x00020000
+#define W32PF_IOWINSTA                0x00040000
+#define W32PF_CONSOLEFOREGROUND       0x00080000
+#define W32PF_OLELOADED               0x00100000
+#define W32PF_SCREENSAVER             0x00200000
+#define W32PF_IDLESCREENSAVER         0x00400000
+
+typedef struct _W32THREAD
+{
+    PETHREAD peThread;
+    ULONG RefCount;
+    PVOID ptlW32; //FIXME: PTL?
+    PVOID pgdiDcattr;
+    PVOID pgdiBrushAttr;
+    PVOID pUMPDObjs;
+    PVOID pUMPDHeap;
+    DWORD dwEngAcquireCount;
+    PVOID pSemTable;
+    PVOID pUMPDObj;
+} W32THREAD, *PW32THREAD;
+
+typedef struct _W32PROCESS
+{
+    PEPROCESS peProcess;
+    ULONG RefCount;
+    FLONG W32PF_flags;
+    ULONG InputIdleEvent;
+    ULONG StartCursorHideTime;
+    ULONG NextStart;
+    PVOID pDCAttrList;
+    PVOID pBrushAttrList;
+    ULONG W32Pid;
+    ULONG GDIHandleCount;
+    ULONG UserHandleCount;
+    ULONG Unknown[19];     
+} W32PROCESS, *PW32PROCESS;
+
+#endif // _WIN32K_USEROBJ_H

Propchange: branches/nwin32/subsystems/win32/win32k/include/userobj.h
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: branches/nwin32/subsystems/win32/win32k/include/win32k.h
URL: http://svn.reactos.org/svn/reactos/branches/nwin32/subsystems/win32/win32k/include/win32k.h?rev=36629&r1=36628&r2=36629&view=diff
==============================================================================
--- branches/nwin32/subsystems/win32/win32k/include/win32k.h [iso-8859-1] (original)
+++ branches/nwin32/subsystems/win32/win32k/include/win32k.h [iso-8859-1] Thu Oct  2 14:39:28 2008
@@ -70,5 +70,9 @@
 #include <win32k/ntusrtyp.h>
 #include <win32k/ntuser.h>
 #include <win32k/ntgdityp.h>
+#include <win32k/ntgdihdl.h>
 #define LANGPACK
 #include <psdk/ntgdi.h>
+
+/* Internal  Win32K Header */
+#include <win32kp.h>

Added: branches/nwin32/subsystems/win32/win32k/include/win32kp.h
URL: http://svn.reactos.org/svn/reactos/branches/nwin32/subsystems/win32/win32k/include/win32kp.h?rev=36629&view=auto
==============================================================================
--- branches/nwin32/subsystems/win32/win32k/include/win32kp.h (added)
+++ branches/nwin32/subsystems/win32/win32k/include/win32kp.h [iso-8859-1] Thu Oct  2 14:39:28 2008
@@ -1,0 +1,27 @@
+/*
+ * COPYRIGHT:       See COPYING in the top level directory
+ * PROJECT:         ReactOS Win32K
+ * FILE:            subsystems/win32/win32k/include/win32kp.h
+ * PURPOSE:         Internal Win32K Header
+ * PROGRAMMER:      Stefan Ginsberg (stefan__100__ at hotmail.com)
+ */
+
+#ifndef _INCLUDE_INTERNAL_WIN32K_H
+#define _INCLUDE_INTERNAL_WIN32K_H
+
+/* INCLUDES ******************************************************************/
+
+/* Prototypes */
+NTSTATUS
+APIENTRY
+NtGdiFlushUserBatch(
+    VOID
+);
+
+/* Internal  Win32K Headers */
+#include <gdiobj.h>
+#include <engobj.h>
+#include <userobj.h>
+
+
+#endif

Propchange: branches/nwin32/subsystems/win32/win32k/include/win32kp.h
------------------------------------------------------------------------------
    svn:eol-style = native



More information about the Ros-diffs mailing list