Author: jimtabor Date: Sat Dec 15 10:03:51 2007 New Revision: 31228
URL: http://svn.reactos.org/svn/reactos?rev=31228&view=rev Log: Add new items to gdi handle table. Added cfont and user space share gdi handle table.
Modified: trunk/reactos/include/reactos/win32k/ntgdihdl.h trunk/reactos/include/reactos/win32k/ntgdityp.h trunk/reactos/subsystems/win32/win32k/include/gdiobj.h
Modified: trunk/reactos/include/reactos/win32k/ntgdihdl.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/win32k/ntgd... ============================================================================== --- trunk/reactos/include/reactos/win32k/ntgdihdl.h (original) +++ trunk/reactos/include/reactos/win32k/ntgdihdl.h Sat Dec 15 10:03:51 2007 @@ -21,6 +21,7 @@ /* GDI handle table can hold 0x10000 handles */ #define GDI_HANDLE_COUNT 0x10000 #define GDI_GLOBAL_PROCESS (0x0) +#define GDI_CFONT_MAX 16
/* Handle Masks and shifts */ #define GDI_HANDLE_INDEX_MASK (GDI_HANDLE_COUNT - 1) @@ -212,6 +213,19 @@ LONG Type; /* the first 16 bit is the object type including the stock obj flag, the last 16 bits is just the object type */ PVOID UserData; /* Points to the user mode structure, usually NULL though */ } GDI_TABLE_ENTRY, *PGDI_TABLE_ENTRY; + +// +// User space only structure! +// +typedef struct __GDI_SHARED_HANDLE_TABLE // Must match win32k/include/gdiobj.h +{ + GDI_TABLE_ENTRY Entries[GDI_HANDLE_COUNT]; // Handle table. + DEVCAPS DevCaps; // Shared device capabilities. + FLONG flDeviceUniq; // Device settings uniqueness. + PVOID pvLangPack; // Lanuage Pack. + CFONT cfPublic[GDI_CFONT_MAX]; // Public Fonts. + DWORD dwCsbSupported1; // OEM code-page bitfield. +} GDI_SHARED_HANDLE_TABLE, *PGDI_SHARED_HANDLE_TABLE;
typedef struct _RGNATTR {
Modified: trunk/reactos/include/reactos/win32k/ntgdityp.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/win32k/ntgd... ============================================================================== --- trunk/reactos/include/reactos/win32k/ntgdityp.h (original) +++ trunk/reactos/include/reactos/win32k/ntgdityp.h Sat Dec 15 10:03:51 2007 @@ -128,8 +128,11 @@ typedef D3DNTHAL_CONTEXTCREATEDATA D3DNTHAL_CONTEXTCREATEI; typedef LONG FIX;
-/* FIXME: Unknown; easy to guess, usually based on public types and converted */ -typedef struct _REALIZATION_INFO REALIZATION_INFO, *PREALIZATION_INFO; +typedef struct _REALIZATION_INFO // Based on LOCALESIGNATURE +{ + DWORD dwCsbDefault[2]; + DWORD dwCsbSupported0; +} REALIZATION_INFO, *PREALIZATION_INFO;
typedef struct _WIDTHDATA { @@ -240,6 +243,26 @@ FLOAT f; ULONG l; } gxf_long; + +typedef struct _CFONT +{ + struct _CFONT *pcfNext; + HFONT hf; + ULONG cRef; // Count of all pointers to this CFONT. + FLONG fl; + LONG lHeight; // Precomputed logical height. + HDC hdc; // HDC of realization. 0 for display. + EFLOAT_S efM11; // efM11 of WtoD of DC of realization + EFLOAT_S efM22; // efM22 of WtoD of DC of realization + EFLOAT_S efDtoWBaseline; // Precomputed back transform. (FXtoL) + EFLOAT_S efDtoWAscent; // Precomputed back transform. (FXtoL) + WIDTHDATA wd; + FLONG flInfo; + USHORT sWidth[256]; // Widths in pels. + ULONG ulAveWidth; // bogus average used by USER + TMW_INTERNAL tmw; // cached metrics + LOCALESIGNATURE lsLocSig; // font signature information +} CFONT, *PCFONT;
// // GDI Batch structures.
Modified: trunk/reactos/subsystems/win32/win32k/include/gdiobj.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/inc... ============================================================================== --- trunk/reactos/subsystems/win32/win32k/include/gdiobj.h (original) +++ trunk/reactos/subsystems/win32/win32k/include/gdiobj.h Sat Dec 15 10:03:51 2007 @@ -16,8 +16,11 @@ */ ////////////////////////////////////////////////////////////////////////////// GDI_TABLE_ENTRY Entries[GDI_HANDLE_COUNT]; - DEVCAPS DevCaps; // Device Capabilities - // Font data + DEVCAPS DevCaps; // Device Capabilities + FLONG flDeviceUniq; // Device settings uniqueness. + PVOID pvLangPack; // Lanuage Pack. + CFONT cfPublic[GDI_CFONT_MAX]; // Public Fonts. + DWORD dwCsbSupported1; // OEM code-page bitfield. ////////////////////////////////////////////////////////////////////////////// PPAGED_LOOKASIDE_LIST LookasideLists;