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/…
==============================================================================
--- 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__(a)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/…
==============================================================================
--- 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__(a)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/…
==============================================================================
--- 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__(a)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/…
==============================================================================
--- 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/…
==============================================================================
--- 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__(a)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