7fd59977 |
1 | /*This file is used to define all attrib structures of the library used to |
2 | generate CGM files*/ |
3 | |
4 | #ifndef CGMATT_H |
5 | #define CGMATT_H |
6 | #ifdef CGMATT_C |
7 | #define Extern |
8 | #else |
9 | #define Extern extern |
10 | #endif |
11 | |
12 | |
13 | #include "cgmtypes.h" |
14 | |
15 | struct sharedatt { |
16 | Index auxindex; |
17 | RGBcolour aux; |
18 | Enum colmode, |
19 | transparency; |
20 | float xgrain, |
21 | ygrain; |
22 | }; |
23 | |
24 | typedef struct sharedatt Sharedatt; |
25 | |
26 | struct lineatt { |
27 | Index type; |
28 | float width; |
29 | Enum widthmode; |
30 | Index colindex; |
31 | RGBcolour col; |
32 | Sharedatt *shared; |
33 | }; |
34 | |
35 | typedef struct lineatt Lineatt; |
36 | |
37 | struct markeratt { |
38 | Index type; |
39 | float size; |
40 | Enum sizemode; |
41 | Index colindex; |
42 | RGBcolour col; |
43 | Sharedatt *shared; |
44 | }; |
45 | |
46 | typedef struct markeratt Markeratt; |
47 | |
48 | struct textatt { |
49 | int fontcount; /* environmental variables */ |
50 | char **fontlist; |
51 | int csetcount; |
52 | char **csetlist; |
53 | Enum csetannouncer; |
54 | |
55 | Index fontindex; /* bundleable attributes */ |
56 | Enum precision; |
57 | float expansion; |
58 | float spacing; |
59 | Index colindex; |
60 | RGBcolour col; |
61 | |
62 | float height; /* device-independent variables */ |
63 | float xup, |
64 | yup, |
65 | xbase, |
66 | ybase; |
67 | Enum path; |
68 | Enum halign, |
69 | valign; |
70 | float hcont, |
71 | vcont; |
72 | Index csindex, |
73 | acsindex; |
74 | Sharedatt *shared; |
75 | }; |
76 | |
77 | typedef struct textatt Textatt; |
78 | |
79 | struct fillatt { |
80 | Index style; |
81 | Index colindex; |
82 | RGBcolour col; |
83 | Index hatch, |
84 | pattern; |
85 | Sharedatt *shared; |
86 | }; |
87 | |
88 | typedef struct fillatt Fillatt; |
89 | |
90 | struct edgeatt { |
91 | Index type; |
92 | float width; |
93 | Enum widthmode; |
94 | Index colindex; |
95 | RGBcolour col; |
96 | Sharedatt *shared; |
97 | }; |
98 | |
99 | typedef struct edgeatt Edgeatt; |
100 | |
101 | struct linebundle { |
102 | Index type; |
103 | float width; |
104 | Index colindex; |
105 | Colourentry col; |
106 | }; |
107 | |
108 | typedef struct linebundle Linebundle; |
109 | |
110 | struct markerbundle { |
111 | Index type; |
112 | float size; |
113 | Index colindex; |
114 | Colourentry col; |
115 | }; |
116 | |
117 | typedef struct markerbundle Markerbundle; |
118 | |
119 | struct textbundle { |
120 | Index font; |
121 | Enum precision; |
122 | float expansion; |
123 | float spacing; |
124 | Index colindex; |
125 | Colourentry col; |
126 | }; |
127 | |
128 | typedef struct textbundle Textbundle; |
129 | |
130 | struct fillbundle { |
131 | Index style; |
132 | Index pattern; |
133 | Index hatch; |
134 | Index colindex; |
135 | Colourentry col; |
136 | }; |
137 | |
138 | typedef struct fillbundle Fillbundle; |
139 | |
140 | struct edgebundle { |
141 | Index type; |
142 | float width; |
143 | Index colindex; |
144 | Colourentry col; |
145 | }; |
146 | |
147 | typedef struct edgebundle Edgebundle; |
148 | |
149 | Extern void ATTline(); |
150 | Extern void ATTmarker(); |
151 | Extern void ATTtext(); |
152 | Extern void ATTfill(); |
153 | Extern void ATTedge(); |
154 | |
155 | #undef Extern |
156 | |
157 | #endif /* end of cgmatt.h */ |