File: docBorderProperties.h

package info (click to toggle)
ted 2.16-5
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 13,944 kB
  • ctags: 20,273
  • sloc: ansic: 167,980; makefile: 12,518; sh: 263
file content (139 lines) | stat: -rw-r--r-- 3,230 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
/************************************************************************/
/*									*/
/*  Border properties.							*/
/*									*/
/************************************************************************/

#   ifndef	DOC_BORDER_PROP_H
#   define	DOC_BORDER_PROP_H

#   include	<utilPropMask.h>
#   include	<bmcolor.h>

/************************************************************************/
/*									*/
/*  Border Styles: How they are drawn.					*/
/*									*/
/************************************************************************/

typedef enum BorderStyle
    {
    DOCbsNONE= 0,
    DOCbsS,
    DOCbsTH,
    DOCbsSH,

    DOCbsDB,
    DOCbsHAIR,
    DOCbsDOT,
    DOCbsDASH,
    DOCbsDASHD,
    DOCbsDASHDD,
    DOCbsTRIPLE,

    DOCbsTNTHSG,
    DOCbsTHTNSG,
    DOCbsTNTHTNSG,
    DOCbsTNTHMG,
    DOCbsTHTNMG,
    DOCbsTNTHTNMG,
    DOCbsTNTHLG,
    DOCbsTHTNLG,
    DOCbsTNTHTNLG,

    DOCbsWAVY,
    DOCbsWAVYDB,
    DOCbsDASHSM,
    DOCbsDASHDOTSTR,
    DOCbsEMBOSS,
    DOCbsENGRAVE,
    DOCbsOUTSET,

    DOCbsTBL,
    DOCbsNIL,

    DOCbs_COUNT
    } BorderStyle;

#   define DOCbs_BITS	5

typedef struct BorderProperties
    {
    unsigned int	bpColor:8;
    unsigned int	bpPenWideTwips:8;
    unsigned int	bpStyle:DOCbs_BITS;	/*  (enum)		*/
    unsigned int	bpSpacingTwips:16;	/*  Unused in recent	*/
						/*  versions of Word ?	*/
    unsigned int	bpArt:8;

    } BorderProperties;

typedef struct ExpandedBorderProperties
    {
    int			ebpColorExplicit;
    RGB8Color		ebpColor;

    int			ebpPenWideTwips;
    int			ebpStyle;
    int			ebpSpacingTwips;
    int			ebpArt;
    } ExpandedBorderProperties;

typedef enum BorderProperty
    {
    BRDRprop_NONE= -1,

    BRDRpropCOLOR= 0,
    BRDRpropSPACING,
    BRDRpropPEN_WIDE,
    BRDRpropSTYLE,
    BRDRpropART,

    BRDRprop_COUNT
    } BorderProperty;

#   define	docCleanBorderProperties( bp ) /*void*/

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

extern void docInitBorderProperties(	BorderProperties *	bp );

extern void docUpdateBorderProperties(
				    PropertyMask * 		pBpDoneMask,
				    BorderProperties *		bpTo,
				    const PropertyMask * 	bpSetMask,
				    const BorderProperties *	bpFrom );

extern void docCopyBorderProperties(BorderProperties *		bpTo,
				    const BorderProperties *	bpFrom,
				    const int *			colorMap );

extern int docBordersDiffer(	const BorderProperties *	bp1,
				const BorderProperties *	bp2,
				const int *			colorMap );

extern void docExpandBorderProperties(
				ExpandedBorderProperties *	ebp,
				const BorderProperties *	bp,
				const RGB8Color *		colors,
				int				colorCount );

extern int docIndirectBorderProperties(
			PropertyMask *				pBpDoneMask,
			BorderProperties *			bp,
			const PropertyMask * 			bpSetMask,
			const ExpandedBorderProperties *	ebp,
			RGB8Color **				pColors,
			int *					pColorCount );

extern void docInitExpandedBorderProperties(
				ExpandedBorderProperties *	ebp );

extern int docBorderThick(	int *				pWide,
				const BorderProperties *	bp );

#   endif	/*  DOC_BORDER_PROP_H  */