windows-nt/Source/XPSP1/NT/base/mvdm/wow16/write/prmdefs.h
2020-09-26 16:20:57 +08:00

103 lines
4.5 KiB
C
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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