From aa95d25bdabccd5df9e4de38e81693bb4b881654 Mon Sep 17 00:00:00 2001 From: James Tabor Date: Sun, 23 Dec 2007 06:38:08 +0000 Subject: [PATCH] Fix STRGDI structure and update it. Move it into text.h. svn path=/trunk/; revision=31411 --- reactos/subsystems/win32/win32k/eng/objects.h | 6 +- .../subsystems/win32/win32k/include/text.h | 56 +++++++++++++++++-- 2 files changed, 52 insertions(+), 10 deletions(-) diff --git a/reactos/subsystems/win32/win32k/eng/objects.h b/reactos/subsystems/win32/win32k/eng/objects.h index ad4868700a4..aea3005d21f 100644 --- a/reactos/subsystems/win32/win32k/eng/objects.h +++ b/reactos/subsystems/win32/win32k/eng/objects.h @@ -21,7 +21,7 @@ * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel * PURPOSE: GDI Internal Objects - * FILE: subsys/win32k/eng/objects.h + * FILE: subsystem/win32/win32k/eng/objects.h * PROGRAMER: Jason Filby * REVISION HISTORY: * 21/8/1999: Created @@ -79,10 +79,6 @@ typedef struct _PATHGDI { PATHOBJ PathObj; } PATHGDI; -typedef struct _STRGDI { - STROBJ StrObj; -} STRGDI; - typedef BOOL (STDCALL *PFN_BitBlt)(SURFOBJ *, SURFOBJ *, SURFOBJ *, CLIPOBJ *, XLATEOBJ *, RECTL *, POINTL *, POINTL *, BRUSHOBJ *, POINTL *, ROP4); diff --git a/reactos/subsystems/win32/win32k/include/text.h b/reactos/subsystems/win32/win32k/include/text.h index 95d7290bbf0..a8c57d70fd9 100644 --- a/reactos/subsystems/win32/win32k/include/text.h +++ b/reactos/subsystems/win32/win32k/include/text.h @@ -2,15 +2,61 @@ #define _WIN32K_TEXT_H #define TAG_FINF TAG('F', 'I', 'N', 'F') +// +// EXSTROBJ flags. +// +#define TO_MEM_ALLOCATED 0x0001 +#define TO_ALL_PTRS_VALID 0x0002 +#define TO_VALID 0x0004 +#define TO_ESC_NOT_ORIENT 0x0008 +#define TO_PWSZ_ALLOCATED 0x0010 +#define TSIM_UNDERLINE1 0x0020 +#define TSIM_UNDERLINE2 0x0040 +#define TSIM_STRIKEOUT 0x0080 +#define TO_HIGHRESTEXT 0x0100 +#define TO_BITMAPS 0x0200 +#define TO_PARTITION_INIT 0x0400 +#define TO_ALLOC_FACENAME 0x0800 +#define TO_SYS_PARTITION 0x1000 +// +// Extended STROBJ +// +typedef struct _STRGDI +{ + STROBJ StrObj; // Text string object header. + FLONG flTO; + INT cgposCopied; + INT cgposPositionsEnumerated; + PVOID prfo; // PRFONT -> PFONTGDI + PGLYPHPOS pgpos; + POINTFIX ptfxRef; + POINTFIX ptfxUpdate; + POINTFIX ptfxEscapement; + RECTFX rcfx; + FIX fxExtent; + FIX fxExtra; + FIX fxBreakExtra; + DWORD dwCodePage; + INT cExtraRects; + RECTL arclExtra[3]; + RECTL rclBackGroundSave; + PWCHAR pwcPartition; + PLONG plPartition; + PLONG plNext; + PGLYPHPOS pgpNext; + LONG lCurrentFont; + POINTL ptlBaseLineAdjust; + INT cTTSysGlyphs; + INT cSysGlyphs; + INT cDefGlyphs; + INT cNumFaceNameGlyphs; + PVOID pacFaceNameGlyphs; + ULONG acFaceNameGlyphs[8]; +} STRGDI, *PSTRGDI; /* 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 */