Author: tkreuzer
Date: Tue Feb 26 04:00:34 2008
New Revision: 32485
URL:
http://svn.reactos.org/svn/reactos?rev=32485&view=rev
Log:
- add BASEOBJECT to brush, palette, font and region structures- fix debug output
Modified:
trunk/reactos/subsystems/win32/win32k/include/brush.h
trunk/reactos/subsystems/win32/win32k/include/dc.h
trunk/reactos/subsystems/win32/win32k/include/palette.h
trunk/reactos/subsystems/win32/win32k/include/region.h
trunk/reactos/subsystems/win32/win32k/include/text.h
trunk/reactos/subsystems/win32/win32k/objects/gdiobj.c
Modified: trunk/reactos/subsystems/win32/win32k/include/brush.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/in…
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/include/brush.h (original)
+++ trunk/reactos/subsystems/win32/win32k/include/brush.h Tue Feb 26 04:00:34 2008
@@ -23,10 +23,9 @@
typedef struct
{
-// HGDIOBJ hHmgr;
-// PVOID pvEntry;
-// ULONG lucExcLock;
-// ULONG Tid;
+ /* Header for all gdi objects in the handle table.
+ Do not (re)move this. */
+ BASEOBJECT BaseObject;
ULONG ulStyle;
HBITMAP hbmPattern;
Modified: trunk/reactos/subsystems/win32/win32k/include/dc.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/in…
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/include/dc.h (original)
+++ trunk/reactos/subsystems/win32/win32k/include/dc.h Tue Feb 26 04:00:34 2008
@@ -35,6 +35,8 @@
/* The DC object structure */
typedef struct _DC
{
+ /* Header for all gdi objects in the handle table.
+ Do not (re)move this. */
BASEOBJECT BaseObject;
DHPDEV PDev; // <- GDIDEVICE.hPDev DHPDEV for device.
Modified: trunk/reactos/subsystems/win32/win32k/include/palette.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/in…
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/include/palette.h (original)
+++ trunk/reactos/subsystems/win32/win32k/include/palette.h Tue Feb 26 04:00:34 2008
@@ -31,17 +31,18 @@
#define PAL_RGB16_565 0x00400000 // 16-bit RGB in 565 format
#define PAL_GAMMACORRECTION 0x00800000 // Correct colors
-typedef struct {
+typedef struct
+{
int shift;
int scale;
int max;
} ColorShifts;
-typedef struct _PALGDI {
-// HGDIOBJ hHmgr;
-// PVOID pvEntry;
-// ULONG lucExcLock;
-// ULONG Tid;
+typedef struct _PALGDI
+{
+ /* Header for all gdi objects in the handle table.
+ Do not (re)move this. */
+ BASEOBJECT BaseObject;
PALOBJ PalObj;
XLATEOBJ *logicalToSystem;
@@ -79,4 +80,4 @@
PPALETTEENTRY FASTCALL ReturnSystemPalette (VOID);
-#endif /* _WIN32K_PALETTE_H */
+#endif /* not _WIN32K_PALETTE_H */
Modified: trunk/reactos/subsystems/win32/win32k/include/region.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/in…
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/include/region.h (original)
+++ trunk/reactos/subsystems/win32/win32k/include/region.h Tue Feb 26 04:00:34 2008
@@ -4,26 +4,30 @@
#include "gdiobj.h"
-/* Internal region data. Can't use RGNDATA structure because buffer is allocated
statically */
-typedef struct _ROSRGNDATA {
-// HGDIOBJ hHmgr;
-// PVOID pvEntry;
-// ULONG lucExcLock;
-// ULONG Tid;
+/* Type definitions ***********************************************************/
+
+/* Internal region data.
+ Can't use RGNDATA structure because buffer is allocated statically */
+typedef struct _ROSRGNDATA
+{
+ /* Header for all gdi objects in the handle table.
+ Do not (re)move this. */
+ BASEOBJECT BaseObject;
RGNDATAHEADER rdh;
PRECT Buffer;
} ROSRGNDATA, *PROSRGNDATA, *LPROSRGNDATA;
+/* Functions ******************************************************************/
+
#define RGNDATA_FreeRgn(hRgn) GDIOBJ_FreeObj(GdiHandleTable, (HGDIOBJ)hRgn,
GDI_OBJECT_TYPE_REGION)
#define RGNDATA_LockRgn(hRgn) ((PROSRGNDATA)GDIOBJ_LockObj(GdiHandleTable,
(HGDIOBJ)hRgn, GDI_OBJECT_TYPE_REGION))
#define RGNDATA_UnlockRgn(pRgn) GDIOBJ_UnlockObjByPtr(GdiHandleTable, pRgn)
+
HRGN FASTCALL RGNDATA_AllocRgn(INT n);
BOOL INTERNAL_CALL RGNDATA_Cleanup(PVOID ObjectBody);
-
BOOL FASTCALL IntGdiPaintRgn(PDC, HRGN );
HRGN FASTCALL GdiCreatePolyPolygonRgn(CONST PPOINT, CONST PINT, INT, INT );
-#endif
-
+#endif /* not __WIN32K_REGION_H */
Modified: trunk/reactos/subsystems/win32/win32k/include/text.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/in…
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/include/text.h (original)
+++ trunk/reactos/subsystems/win32/win32k/include/text.h Tue Feb 26 04:00:34 2008
@@ -20,7 +20,7 @@
#define TO_SYS_PARTITION 0x1000
//
// Extended STROBJ
-//
+//
typedef struct _STRGDI
{
STROBJ StrObj; // Text string object header.
@@ -51,12 +51,16 @@
INT cDefGlyphs;
INT cNumFaceNameGlyphs;
PVOID pacFaceNameGlyphs;
- ULONG acFaceNameGlyphs[8];
+ ULONG acFaceNameGlyphs[8];
} STRGDI, *PSTRGDI;
/* GDI logical font object */
typedef struct
{
+ /* Header for all gdi objects in the handle table.
+ Do not (re)move this. */
+ BASEOBJECT BaseObject;
+
ENUMLOGFONTEXDVW logfont; //LOGFONTW logfont;
FONTOBJ *Font;
BOOLEAN Initialized; /* Don't reinitialize for each DC */
Modified: trunk/reactos/subsystems/win32/win32k/objects/gdiobj.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ob…
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/objects/gdiobj.c (original)
+++ trunk/reactos/subsystems/win32/win32k/objects/gdiobj.c Tue Feb 26 04:00:34 2008
@@ -311,7 +311,7 @@
static void FASTCALL
LockErrorDebugOutput(HGDIOBJ hObj, PGDI_TABLE_ENTRY Entry, LPSTR Function)
{
- if (Entry->KernelData == NULL)
+ if ((Entry->Type & GDI_ENTRY_BASETYPE_MASK) == 0)
{
DPRINT1("%s: Attempted to lock object 0x%x that is deleted!\n",
Function, hObj);
}