103 lines
4.5 KiB
C
103 lines
4.5 KiB
C
/************************************************************/
|
||
/* Windows Write, Copyright 1985-1992 Microsoft Corporation */
|
||
/************************************************************/
|
||
|
||
/* Single property modifiers */
|
||
|
||
/* *** MUST agree with dnsprm in mglobals.c *** */
|
||
|
||
#ifndef PRMDEFSH
|
||
#define PRMDEFSH
|
||
|
||
/* Paragraph */
|
||
#define sprmPLMarg 1 /* Left margin */
|
||
#define sprmPRMarg 2 /* Right margin */
|
||
#define sprmPFIndent 3 /* First line indent (from LM) */
|
||
#define sprmPJc 4 /* Justification code */
|
||
#define sprmPRuler 5 /* Ruler (formerly Clear tab) */
|
||
#define sprmPRuler1 6 /* Ruler1 (formerly Set tab) */
|
||
#define sprmPKeep 7 /* Keep */
|
||
#define sprmPNormal 8 /* Normal para (formerly Style, overrides all others) */
|
||
#define sprmPRhc 9 /* Running head code */
|
||
#define sprmPSame 10 /* Everything (overrides all others) */
|
||
#define sprmPDyaLine 11 /* Line height */
|
||
#define sprmPDyaBefore 12 /* Space before */
|
||
#define sprmPDyaAfter 13 /* Space after */
|
||
#define sprmPNest 14 /* Nest para */
|
||
#define sprmPUnNest 15 /* Un-nest para */
|
||
#define sprmPHang 16 /* Hanging indent */
|
||
#define sprmPRgtbd 17 /* add a range of tabs */
|
||
#define sprmPKeepFollow 18 /* Keep follow */
|
||
/*#define sprmPCAll 19 /* Clear all tabs */
|
||
|
||
/* Character */
|
||
#define sprmCBold 20 /* Bold */
|
||
#define sprmCItalic 21 /* Italic */
|
||
#define sprmCUline 22 /* Underline */
|
||
#define sprmCPos 23 /* Super/subscript */
|
||
#define sprmCFtc 24 /* Font code */
|
||
#define sprmCHps 25 /* Half-point size */
|
||
#define sprmCSame 26 /* Whole CHP */
|
||
#define sprmCChgFtc 27 /* Alter Font code */
|
||
#define sprmCChgHps 28 /* Alter point size */
|
||
#define sprmCPlain 29 /* Change to plain text (preserve font) */
|
||
#define sprmCShadow 30 /* Shadow text attribute */
|
||
#define sprmCOutline 31 /* Outline text attribute */
|
||
#define sprmCCsm 32 /* case modification */
|
||
|
||
#define sprmCStrike 33 /* Strikeout */ /* unused */
|
||
#define sprmCDline 34 /* Double underline */ /* unused */
|
||
/*#define sprmCPitch 35 /* Pitch */
|
||
/*#define sprmCOverset 36 /* Margin overset */
|
||
/*#define sprmCStc 37 /* Style (overrides all others) */
|
||
#define sprmCMapFtc 38 /* Defines font code mapping */
|
||
#define sprmCOldFtc 39 /* Defines procedural font code mapping
|
||
for old WORD files */
|
||
|
||
#define sprmPRhcNorm 40 /* Normalize rhc indent to be margin-relatve */
|
||
#define sprmMax 41 /* UPDATE WHEN ADDING SPRMS */
|
||
|
||
struct PRM
|
||
{ /* PropeRty Modifier -- 2 bytes only
|
||
(now 4 bytes so scratch file can be >64K (7.12.91) v-dougk)
|
||
Couldn't be 3 bytes because Heap mgmt in Write assumes
|
||
word sizes of memory requests . Don't know what would take
|
||
to change that. */
|
||
unsigned char fComplex : 1; /* If fComplex == false . . . */
|
||
unsigned char sprm : 7;
|
||
CHAR val;
|
||
WORD dummy;
|
||
};
|
||
|
||
struct PRMX
|
||
{ /* PropeRty Modifier, part 2 */
|
||
unsigned int fComplex : 1; /* if fComplex == true */
|
||
unsigned int bfprm_hi : 15;
|
||
unsigned int bfprm_low ;
|
||
};
|
||
|
||
extern struct PRM PrmAppend(struct PRM prm, CHAR *psprm);
|
||
extern DoPrm(struct CHP *pchp, struct PAP *ppap, struct PRM prm);
|
||
|
||
#define fcSCRATCHPRM(prm) (((((typeFC)(((struct PRMX *)&(prm))->bfprm_hi )) << 16) + \
|
||
(((typeFC)(((struct PRMX *)&(prm))->bfprm_low)) )) << 1)
|
||
#define bPRMNIL(prm) (!((prm).fComplex) && !((prm).sprm) && !((prm).val))
|
||
#define SETPRMNIL(prm) ((prm).fComplex = (prm).sprm = (prm).val = (prm).dummy = 0)
|
||
|
||
/* Definitions for ESPRM */
|
||
#define ESPRM_cch 000003 /* Mask for cch of sprm */
|
||
#define ESPRM_sgcMult 000004 /* Sgc multiplier */
|
||
#define ESPRM_sgc 000014 /* Sprm Group Code mask */
|
||
#define ESPRM_spr 000040 /* Sprm priority mask */
|
||
#define ESPRM_fClobber 000100 /* Overrides sprms with same sgc and <= spr */
|
||
#define ESPRM_fSame 000200 /* Overrides another instance of same sprm */
|
||
|
||
#define sgcChar (0 * ESPRM_sgcMult)
|
||
#define sgcPara (1 * ESPRM_sgcMult)
|
||
#define sgcParaSpec (2 * ESPRM_sgcMult)
|
||
|
||
#define hpsSuperSub 12
|
||
|
||
#define dxaTabDelta 50
|
||
#endif
|
||
|