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/i... ============================================================================== --- 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__@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/i... ============================================================================== --- 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__@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/i... ============================================================================== --- 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__@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/i... ============================================================================== --- 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/i... ============================================================================== --- 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__@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