File: docDocumentProperties.h

package info (click to toggle)
ted 2.11-1
  • links: PTS
  • area: main
  • in suites: woody
  • size: 11,064 kB
  • ctags: 13,935
  • sloc: ansic: 120,446; makefile: 7,469; sh: 253
file content (174 lines) | stat: -rw-r--r-- 3,840 bytes parent folder | download
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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
/************************************************************************/
/*									*/
/*  Document Properties.						*/
/*									*/
/************************************************************************/

#   ifndef	DOC_DOCUMENT_PROPERTIES_H
#   define	DOC_DOCUMENT_PROPERTIES_H

#   include	<time.h>

#   include	<utilPropMask.h>

#   include	<appGeo.h>
#   include	<appUnit.h>
#   include	<docFont.h>
#   include	<bmcolor.h>

#   define	DPfetFOOT_ONLY		0
#   define	DPfetEND_ONLY		1
#   define	DPfetFOOT_END_BOTH	2

typedef enum NotesPosition
    {
    DPftnPOS_SECT_END= 0,
    DPftnPOS_DOC_END,
    DPftnPOS_BELOW_TEXT,
    DPftnPOS_PAGE_BOTTOM,

    DPftnPOS__COUNT
    } NotesPosition;

typedef enum NotesRestart
    {
    DPftnRST_CONTINUOUS= 0,
    DPftnRST_PER_SECTION,
    DPftnRST_PER_PAGE,

    DPftnRST__COUNT
    } NotesRestart;

typedef enum NoteNumberStyle
    {
    DPftnNAR= 0,
    DPftnNALC,
    DPftnNAUC,
    DPftnNRLC,
    DPftnNRUC,
    DPftnNCHI,

    DPftn_NCOUNT
    } NoteNumberStyle;

typedef enum DocumentProperty
    {
    DPpropNONE= -1,

    DPpropSTART_PAGE= DGprop_COUNT,
    DPpropFACING_PAGES,

    DPpropWIDOWCTRL,

    DPpropNOTETYPES,	/*  \fetN	*/

    DPpropFOOTNOTE_STARTNR,
    DPpropFOOTNOTE_POSITION,
    DPpropFOOTNOTE_RESTART,
    DPpropFOOTNOTE_STYLE,

    DPpropENDNOTE_STARTNR,
    DPpropENDNOTE_POSITION,
    DPpropENDNOTE_RESTART,
    DPpropENDNOTE_STYLE,

    DPpropDEFTAB,
    DPpropDEFF,
    DPpropANSICPG,

    DPpropTITLE,
    DPpropSUBJECT,
    DPpropKEYWORDS,
    DPpropCOMMENT,
    DPpropAUTHOR,
    DPpropHLINKBASE,

    DPpropCREATIM,
    DPpropREVTIM,
    DPpropPRINTIM,

    DPprop_COUNT
    } DocumentProperty;

typedef struct NotesProperties
    {
    int			npStartNumber;
    unsigned int	npPosition:2;
    unsigned int	npRestart:2;
    unsigned int	npNumberStyle:3;
    } NotesProperties;

typedef struct DocumentProperties
    {
    int			dpContainsTables;
    int			dpTabIntervalTwips;
    int			dpDefaultColor;
    int			dpDefaultFont;
    int			dpAnsiCodePage;

    int			dpStartPageNumber;

    unsigned int	dpHasFacingPages:1;
    unsigned int	dpWidowControl:1;

    unsigned int	dpFootEndNoteType:2;
    NotesProperties	dpFootnoteProperties;
    NotesProperties	dpEndnoteProperties;

    DocumentGeometry	dpGeometry;
    DocumentFontList	dpFontList;

    RGB8Color *		dpColors;
    int			dpColorCount;

    unsigned char **	dpAuthors;
    int			dpAuthorCount;

    struct tm		dpCreatim;
    struct tm		dpRevtim;
    struct tm		dpPrintim;

    unsigned char *	dpTitle;
    unsigned char *	dpSubject;
    unsigned char *	dpKeywords;
    unsigned char *	dpComment;
    unsigned char *	dpAuthor;
    unsigned char *	dpHlinkbase;

    unsigned char *	dpFilename;
    } DocumentProperties;

#   define	docHasDocumentInfo( dp )		\
		( (dp)->dpTitle			||	\
		  (dp)->dpSubject		||	\
		  (dp)->dpKeywords		||	\
		  (dp)->dpComment		||	\
		  (dp)->dpHlinkbase		||	\
		  (dp)->dpAuthor		||	\
		  (dp)->dpCreatim.tm_mday != 0	||	\
		  (dp)->dpRevtim.tm_mday != 0	||	\
		  (dp)->dpPrintim.tm_mday != 0	)

/************************************************************************/
/*									*/
/*  Routine Declarations.						*/
/*									*/
/************************************************************************/

extern void docInitDocumentProperties(	DocumentProperties *		dp );

extern void docCleanDocumentProperties(	DocumentProperties *		dp );

extern int docCopyDocumentProperties(	DocumentProperties *		to,
					const DocumentProperties *	from );

extern int docUpdDocumentProperties(
				PropertyMask *			pChgPask,
				DocumentProperties *		dp,
				const PropertyMask *		updMask,
				const DocumentProperties *	dpNew );

extern int docPropertiesSetFilename(	DocumentProperties *	dp,
					const char *		filename );

#   endif	/*  DOC_DOCUMENT_PROPERTIES_H  */