Techwiki:Win32k/ESTROBJ

From ReactOS Wiki
Jump to: navigation, search

Windows XP version of ESTROBJ

typedef struct _STROBJ
{
  ULONG    cGlyphs;
  FLONG    flAccel;
  ULONG    ulCharInc;
  RECTL    rclBkGround;
  GLYPHPOS *pgp;
  LPWSTR   pwszOrg;
} STROBJ;

typedef struct _ESTROBJ
{
  STROBJ    strobj;                   // 000
  ULONG     cgposCopied;              // 024
  ULONG     cgposPositionsEnumerated; // 028
  RFONTOBJ *prfo;                     // 02c
  FLONG     flTO;                     // 030
  GLYPHPOS *pgpos;                    // 034
  POINTFIX  ptfxRef;                  // 038
  POINTFIX  ptfxUpdate;               // 040
  POINTFIX  ptfxEscapement;           // 048
  RECTFX    rcfx;                     // 050
  FIX       fxExtent;                 // 060
  FIX       fxExtra;                  // 064
  FIX       fxBreakExtra;             // 068
  DWORD     dwCodePage;               // 06c
  ULONG     cExtraRects;              // 070
  RECTL     arclExtra[3];             // 074
  RECTL     rclBkGroundSave;          // 0a8
  PWCHAR    pwcPartition;             // 0b4
  PLONG     plPartition;              // 0b8
  PLONG     plNext;                   // 0bc
  GLYPHPOS *pgpNext;                  // 0c0
  LONG      lCurrentFont;             // 0c4 plCurrentFont?
  POINTL    ptlBaseLineAdjust;        // 0c8
  ULONG     cTTSysGlyphs;             // 0d0
  ULONG     cSysGlyphs;               // 0d4
  ULONG     cDefGlyphs;               // 0d8
  ULONG     cNumFaceNameLinks;        // 0dc cNumFaceNameGlyphs?
  PULONG    pacFaceNameGlyphs;        // 0e0
  ULONG     acFaceNameGlyphs[8];      // 0e4
// size                                  104
} ESTROBJ, PESTROBJ;
// ESTROBJ 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

References

  • Windows Symbol files, gdikdx.dll.