#ifndef TXTOBJ_DEFINED #define TXTOBJ_DEFINED #include "lsidefs.h" #include "plsdnode.h" #include "plnobj.h" #define txtkindRegular 0 #define txtkindHardHyphen 1 #define txtkindTab 2 #define txtkindNonReqHyphen 3 #define txtkindYsrChar 4 #define txtkindNonBreakSpace 5 /* Used in decimal tab logic */ #define txtkindNonBreakHyphen 6 #define txtkindOptNonBreak 7 #define txtkindSpecSpace 8 #define txtkindOptBreak 9 #define txtkindEOL 10 #define txtfMonospaced 1 #define txtfVisi 2 #define txtfModWidthClassed 4 #define txtfGlyphBased 8 #define txtfSkipAtNti 16 #define txtfSkipAtWysi 32 #define txtfFirstShaping 64 #define txtfLastShaping 128 struct txtobj { PLSDNODE plsdnUpNode; /* upper DNode */ PLNOBJ plnobj; long iwchFirst; /* index of the first char of dobj in rgwch */ long iwchLim; /* index of the lim char of dobj in rgwch */ WORD txtkind; WORD txtf; union { struct { long iwSpacesFirst; /* index of the first Space-index in wSpaces*/ long iwSpacesLim; /* index of the lim Space-index in wSpaces */ } reg; struct { WCHAR wch; /* char code for Tab or Visi Tab */ WCHAR wchTabLeader; /* leaders info */ } tab; /* use this for the txtkindTab */ } u; long igindFirst; /* index of the first glyph of dobj in rgwch*/ long igindLim; /* index of the lim glyph of dobj in rgwch */ long dupBefore; }; typedef struct txtobj TXTOBJ; typedef TXTOBJ* PTXTOBJ; #endif /* !TXTOBJ_DEFINED */