summaryrefslogtreecommitdiffstats
path: root/private/mvdm/wow16/write/docdefs.h
blob: 8927d7fe44c5e66eda6c75b890821f1fbf9a0dcb (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
/************************************************************/
/* Windows Write, Copyright 1985-1992 Microsoft Corporation */
/************************************************************/

//#define prmNil	0
#define docNil	(-1)
#define cpNil	((typeCP) -1)
#define cpMax	((typeCP) 2147483647)
#define fcNil	((typeFC) -1)
#define cp0	((typeCP) 0)
#define fnNil	(32767)
#define fc0	((typeFC) 0)
#define tcMax	255

#ifdef SAND
#define xaMax	9500
#endif

#define pn0	((typePN) 0)

#define cdocInit	4
#define cwExpand	256
#define cchMaxExpand	(cwExpand * sizeof (int))

/* FetchCp Modes */
#define fcmChars	1
#define fcmProps	2
#define fcmBoth 	(fcmChars + fcmProps)
#define fcmNoExpand	4
#define fcmParseCaps	8	/* Return separate runs for U&lc if sm. caps*/

/* Document types -- two bits only */
#define dtyNormal	0
#define dtyBuffer	1
#define dtySsht 	2
#define dtyPrd		3
#define dtySystem	4	/* Never written; smashed to dtyNormal */
#define dtyHlp		5	/* Never written */
#define dtyNormNoExt	6   /* Never written */

#ifdef INTL  /* international version */
#define dtyWordDoc	6	/* when saving in Word format */
#endif	/* international version */

#define dtyNetwork	7	/* Never written; smashed to dtyNormal */

#define dtyAny		0


struct DOD
	{ /* Document descriptor */
	struct PCTB	**hpctb;	/* Piece table */
	typeCP		cpMac;		/* Number of lexemes in doc */

	unsigned       fFormatted : 1; /* Default save is formatted */
	unsigned       fDirty : 1;     /* Document has been edited */
	unsigned       fAbsLooks : 1;  /* Absolute looks applied */
	unsigned       fBackup : 1;    /* Make auto backup of file? */
	unsigned       fReadOnly: 1;   /* Read only doc (no edits allowed)? */
	unsigned       fDisplayable : 1;
	unsigned       : 4;
	unsigned       dty : 2;        /* Document type */
	unsigned       cref : 4;       /* Reference count */

	CHAR		(**hszFile)[];	/* Document name */
	struct FNTB	**hfntb;	/* Footnote table */
#ifdef CASHMERE
	struct SETB	**hsetb;	/* Section table */
#else
	struct SEP	**hsep; 	/* Section properties */
#endif
	int		docSsht;	/* Style sheet if dty == dtySsht */
	struct PGTB	**hpgtb;	/* Page table (for Jump Page) */
	struct FFNTB	**hffntb;	/* font name table */

	struct TBD	(**hgtbd)[];	/* Table of tab stops */

#ifdef SAND
	int		vref;		/* Volume that this document is on */
#endif /* SAND */
	};

#define cwDOD (sizeof (struct DOD) / sizeof (int))
#define cbDOD (sizeof (struct DOD))

struct FNTB **HfntbGet();