windows-nt/Source/XPSP1/NT/windows/richedit/inci/txtobj.h
2020-09-26 16:20:57 +08:00

67 lines
1.5 KiB
C

#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 */