86 lines
2.1 KiB
C
86 lines
2.1 KiB
C
/************************************************************/
|
|
/* Windows Write, Copyright 1985-1992 Microsoft Corporation */
|
|
/************************************************************/
|
|
|
|
#define ichMaxLine 255
|
|
#define cpMaxTl (ichMaxLine + cchInsBlock)
|
|
#define ichpMacInitFormat 10 /* Initial mac of char runs in a line */
|
|
#define dypBaselineMin 2
|
|
|
|
#define wbWhite 0 /* Word break types */
|
|
#define wbText 1
|
|
#define wbPunct 2
|
|
#define wbAny 3 /* used when searching with wildcards */
|
|
|
|
#ifdef DBCS /* was in JAPAN, changed it to DBCS */
|
|
/* brought from WIN2. */
|
|
#define wbKanjiText 4
|
|
#define wbKanjiTextFirst 5
|
|
#endif /* DBCS */
|
|
|
|
#define dxpTab 40
|
|
|
|
/* Formatted line structure.
|
|
Reorganized KJS, CS Sept 3
|
|
Shuffled for word alignment bz, 6/11/85 */
|
|
|
|
/* booleans in bytes to simplify machine code */
|
|
struct FLI
|
|
{
|
|
typeCP cpMin;
|
|
int ichCpMin;
|
|
typeCP cpMac;
|
|
int ichCpMac;
|
|
int ichMac;
|
|
int dcpDepend;
|
|
unsigned fSplat : 8;
|
|
/* First character in region where spaces have additional pixel */
|
|
unsigned ichFirstWide : 8;
|
|
/* ichMac, with trailing blanks excluded */
|
|
int ichReal;
|
|
int doc;
|
|
|
|
int xpLeft;
|
|
int xpRight;
|
|
/* xpRight, with trailing blanks excluded */
|
|
int xpReal;
|
|
/* the right margin where insert will have to break the line */
|
|
int xpMarg;
|
|
|
|
unsigned fGraphics : 8;
|
|
unsigned fAdjSpace : 8; /* Whether you adjust the spaces */
|
|
|
|
unsigned dxpExtra;
|
|
/* the interesting positions in order from top to bottom are:
|
|
top: yp+dypLine
|
|
top of ascenders: yp+dypAfter+dypFont
|
|
base line: yp+dypBase
|
|
bottom of descenders: yp+dypAfter
|
|
bottom of line: yp
|
|
distances between the points can be determined by algebraic subtraction.
|
|
e.g. space before = yp+dypLine - (yp+dypAfter+dypFont)
|
|
*/
|
|
int dypLine;
|
|
int dypAfter;
|
|
int dypFont;
|
|
int dypBase;
|
|
int fSplatNext; /* Splat on following line? */
|
|
|
|
int ichLastTab;
|
|
int flm;
|
|
int rgdxp[ichMaxLine]; /* NOTE this differs from fce.rgdxp==CHAR! */
|
|
CHAR rgch[ichMaxLine];
|
|
};
|
|
|
|
|
|
|
|
#define cwFLI (sizeof(struct FLI) / sizeof(int))
|
|
#define cwFLIBase (cwFLI - ichMaxLine - (ichMaxLine / sizeof (int)))
|
|
|
|
|
|
#define flmPrinting 1
|
|
#define flmCharMode 2
|
|
#define flmNoMSJ 4
|
|
#define flmSandMode 8
|
|
|