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/ntg…
==============================================================================
--- 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/ntg…
==============================================================================
--- 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/in…
==============================================================================
--- 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;