- Reordered IntGdiGet/SetDCState and separated the copy sections.

- When creating DCE for window handles, allocate a DC structure for the default window DC.
- Return Dhpdev if not zero for NtGdiOpenDCW.
- Reordered the DC object. 

svn path=/trunk/; revision=28932
This commit is contained in:
James Tabor 2007-09-08 01:05:27 +00:00
parent ede2779483
commit 0f6b993fbd
6 changed files with 38 additions and 0 deletions

View file

@ -5,6 +5,11 @@
/* GDI logical bitmap object */
typedef struct _BITMAPOBJ
{
HGDIOBJ hHmgr;
PVOID pvEntry;
ULONG lucExcLock;
ULONG Tid;
SURFOBJ SurfObj;
FLONG flHooks;
FLONG flFlags;

View file

@ -23,6 +23,11 @@ typedef struct
typedef struct
{
HGDIOBJ hHmgr;
PVOID pvEntry;
ULONG lucExcLock;
ULONG Tid;
ULONG ulStyle;
HBITMAP hbmPattern;
HANDLE hbmClient;

View file

@ -43,6 +43,19 @@ typedef struct _GDIOBJHDR
#endif
} GDIOBJHDR, *PGDIOBJHDR;
//
// Every GDI Object must have this standard type of header.
// It's for thread locking.
// This header is standalone, used only in gdiobj.c.
//
typedef struct _GDIOBJEMPTYHDR
{
HGDIOBJ hHmgr;
PVOID pvEntry;
ULONG lucExcLock;
ULONG Tid;
} GDIOBJEMPTYHDR, *PGDIOBJEMPTYHDR;
BOOL INTERNAL_CALL GDIOBJ_OwnedByCurrentProcess(PGDI_HANDLE_TABLE HandleTable, HGDIOBJ ObjectHandle);
void INTERNAL_CALL GDIOBJ_SetOwnership(PGDI_HANDLE_TABLE HandleTable, HGDIOBJ ObjectHandle, PEPROCESS Owner);
void INTERNAL_CALL GDIOBJ_CopyOwnership(PGDI_HANDLE_TABLE HandleTable, HGDIOBJ CopyFrom, HGDIOBJ CopyTo);

View file

@ -16,6 +16,11 @@ typedef struct {
} ColorShifts;
typedef struct _PALGDI {
HGDIOBJ hHmgr;
PVOID pvEntry;
ULONG lucExcLock;
ULONG Tid;
PALOBJ PalObj;
XLATEOBJ *logicalToSystem;
HPALETTE Self;

View file

@ -6,6 +6,11 @@
/* Internal region data. Can't use RGNDATA structure because buffer is allocated statically */
typedef struct _ROSRGNDATA {
HGDIOBJ hHmgr;
PVOID pvEntry;
ULONG lucExcLock;
ULONG Tid;
RGNDATAHEADER rdh;
PRECT Buffer;
} ROSRGNDATA, *PROSRGNDATA, *LPROSRGNDATA;

View file

@ -6,6 +6,11 @@
/* GDI logical font object */
typedef struct
{
HGDIOBJ hHmgr;
PVOID pvEntry;
ULONG lucExcLock;
ULONG Tid;
ENUMLOGFONTEXDVW logfont; //LOGFONTW logfont;
FONTOBJ *Font;
BOOLEAN Initialized; /* Don't reinitialize for each DC */