windows-nt/Source/XPSP1/NT/base/mvdm/wow16/write/propdefs.h

238 lines
8.3 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
/************************************************************/
/* Windows Write, Copyright 1985-1992 Microsoft Corporation */
/************************************************************/
/* propdefs.h - MW defsfor char/para properties */
#define hpsNegMin 128
/* NOTE - "hpsNormal" is used for incremental encoding/decoding of chps in doc
files, hpsDefault is the size the guy starts typing into a new doc with */
#define hpsNormal 24
#ifdef KOREA
#define hpsDefault 24
#else
#ifdef JAPAN
#define hpsDefault 24 //T-HIROYN Win3.1
#else
#define hpsDefault 20
#endif
#endif
struct TBD /* Tab Descriptor */
{
unsigned dxa; /* distance from left margin of tab stop */
unsigned char jc : 3; /* justification code */
unsigned char tlc : 3; /* leader dot code */
unsigned char opcode : 2; /* operation code for Format Tabs */
CHAR chAlign; /* ASCII code of char to align on
if jcTab=3, or 0 to align on '.' */
};
#define cchTBD (sizeof (struct TBD))
#define cwTBD (sizeof (struct TBD) / sizeof (int))
#define itbdMax 13
#define itbdMaxWord 20
#define cchMaxNum 10
struct CHP /* Character properties */
{
unsigned fStyled : 1; /* BYTE 0 */
unsigned stc : 7; /* style */
unsigned fBold : 1; /* BYTE 1 */
unsigned fItalic : 1;
unsigned ftc : 6; /* Font code */
unsigned hps : 8; /* Size in half pts */ /* BYTE 2 */
unsigned fUline : 1; /* BYTE 3 */
unsigned fStrike : 1;
unsigned fDline: 1;
unsigned fOverset : 1;
unsigned csm : 2; /* Case modifier */
unsigned fSpecial : 1;
unsigned : 1;
unsigned ftcXtra : 3; /* BYTE 4 */
unsigned fOutline : 1;
unsigned fShadow : 1;
unsigned : 3;
unsigned hpsPos : 8; /* BYTE 5 */
unsigned fFixedPitch : 1; /* used internally only */
unsigned psWidth : 7;
unsigned chLeader : 8;
unsigned ichRun : 8;
unsigned cchRun : 8;
};
#define cchCHP (sizeof (struct CHP))
#define cwCHP (cchCHP / sizeof (int))
#define cchCHPUsed (cchCHP - 3)
#define csmNormal 0
#define csmUpper 1
#define csmSmallCaps 3
/* Justification codes: must agree with menu.mod */
#define jcLeft 0
#define jcCenter 1
#define jcRight 2
#define jcBoth 3
#define jcTabMin 4
#define jcTabLeft 4
#define jcTabCenter 5
#define jcTabRight 6
#define jcTabDecimal 7
/* nice, safe invalid jc value */
#define jcNil -1
/* Tab leader codes: must agree with menu.mod */
#define tlcWhite 0
#define tlcDot 1
#define tlcHyphen 2
#define tlcUline 3
struct PAP /* Paragraph properties */
{
unsigned fStyled : 1; /* BYTE 0 */
unsigned stc : 7;
unsigned jc : 2; /* BYTE 1 */
unsigned fKeep : 1;
unsigned fKeepFollow : 1;
unsigned : 4;
unsigned stcNormChp : 7; /* BYTE 2 */
unsigned : 9; /* BYTE 3 */
unsigned dxaRight; /* BYTE 4-5 */
unsigned dxaLeft; /* BYTE 6-7 */
unsigned dxaLeft1; /* BYTE 8-9 */
unsigned dyaLine; /* 10-11 */
unsigned dyaBefore; /* 12-13 */
unsigned dyaAfter; /* 14-15 */
unsigned rhc : 4; /* Running hd code */
unsigned fGraphics : 1; /* Graphics bit */
unsigned wUnused1 : 11;
int wUnused2;
int wUnused3;
struct TBD rgtbd[itbdMaxWord];
};
#define cchPAP (sizeof (struct PAP))
#define cwPAP (cchPAP / sizeof (int))
#define cwPAPBase (cwPAP - cwTBD * itbdMaxWord)
struct SEP
{ /* Section properties */
unsigned fStyled : 1; /* BYTE 0 */
unsigned stc : 7;
unsigned bkc : 3; /* Break code */ /* BYTE 1 */
unsigned nfcPgn : 3; /* Pgn format code */
unsigned :2;
unsigned yaMac; /* Page height */ /* BYTE 2-3 */
unsigned xaMac; /* Page width */ /* BYTE 4-5 */
unsigned pgnStart; /* Starting pgn */ /* BYTE 6-7 */
unsigned yaTop; /* Start of text */ /* BYTE 8-9 */
unsigned dyaText; /* Height of text */ /* 10-11 */
unsigned xaLeft; /* Left text margin */ /* 12-13 */
unsigned dxaText; /* Width of text */ /* 14-15 */
unsigned rhc : 4; /* *** RESERVED *** */ /* 16 */
/* (Must be same as PAP) */
unsigned : 2;
unsigned fAutoPgn : 1; /* Print pgns without hdr */
unsigned fEndFtns : 1; /* Footnotes at end of doc */
unsigned cColumns : 8; /* # of columns */ /* BYTE 17 */
unsigned yaRH1; /* Pos of top hdr */ /* 18-19 */
unsigned yaRH2; /* Pos of bottom hdr */ /* 20-21 */
unsigned dxaColumns; /* Intercolumn gap */ /* 22-23 */
unsigned dxaGutter; /* Gutter width */ /* 24-25 */
unsigned yaPgn; /* Y pos of page nos */ /* 26-27 */
unsigned xaPgn; /* X pos of page nos */ /* 28-29 */
CHAR rgbJunk[cchPAP - 30]; /* Pad to cchPAP */
};
#define cchSEP (sizeof (struct SEP))
#define cwSEP (cchSEP / sizeof (int))
struct PROP
{ /* A CHP, PAP, or SEP. */
unsigned char fStyled : 1;
unsigned char stc : 7;
CHAR rgb[cchPAP - 1]; /* Variable size */
};
#define cchPROP (sizeof (struct PROP))
typedef struct
{ /* tri-state value for character/paragraph properties */
unsigned wTsv; /* 16 bit value */
unsigned char fGray;
}TSV;
#define cchTSV (sizeof (TSV))
#define itsvMax 6
#define itsvchMax 6
#define itsvparaMax 5
/* character index values */
#define itsvBold 0
#define itsvItalic 1
#define itsvUline 2
#define itsvPosition 3 /* 0 = normal; >0 = superscript; <0 = subscript */
#define itsvFfn 4 /* font name and family */
#define itsvSize 5 /* font size */
/* paragraph index values */
#define itsvJust 0 /* justification (left, center, right, both) */
#define itsvSpacing 1
#define itsvLIndent 2 /* left indent */
#define itsvFIndent 3 /* first line indent */
#define itsvRIndent 4 /* right indent */
#define cyaInch czaInch
#define cxaInch czaInch
#define cyaTl czaLine
#define dxaNest 720
extern int cxaTc;
#define yaNil 0xffff
#define xaNil 0xffff
#define ypNil 0xffff
#define xpNil 0xffff
#define dyaMinUseful cyaInch
#define dxaMinUseful (cxaInch / 2)
#define cColumnsMax (10)
#define bkcLine 0
#define bkcColumn 1
#define bkcPage 2
#define bkcRecto 3
#define bkcVerso 4
#define nfcArabic 0
#define nfcUCRoman 1
#define nfcLCRoman 2
#define nfcUCLetter 3
#define nfcLCLetter 4
#define pgnNil (-1)
struct PROP *PpropXlate();
/* Running head codes */
#define RHC_fBottom 1
#define RHC_fOdd 2
#define RHC_fEven 4
#define RHC_fFirst 8
#define rhcDefault (RHC_fOdd + RHC_fEven)