0023510: Integration of test grid "vis" into the new testing system
[occt.git] / src / CGM / cgmatt.h
1 /*
2  Copyright (c) 1999-2012 OPEN CASCADE SAS
3
4  The content of this file is subject to the Open CASCADE Technology Public
5  License Version 6.5 (the "License"). You may not use the content of this file
6  except in compliance with the License. Please obtain a copy of the License
7  at http://www.opencascade.org and read it completely before using this file.
8
9  The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
10  main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
11
12  The Original Code and all software distributed under the License is
13  distributed on an "AS IS" basis, without warranty of any kind, and the
14  Initial Developer hereby disclaims all such warranties, including without
15  limitation, any warranties of merchantability, fitness for a particular
16  purpose or non-infringement. Please see the License for the specific terms
17  and conditions governing the rights and limitations under the License.
18
19 */
20
21 /*This file is used to define all attrib structures of the library used to
22 */ 
23 /*generate CGM files*/ 
24 #ifndef CGMATT_H
25 #define CGMATT_H
26 #ifdef CGMATT_C
27 #define Extern
28 #else
29 #define Extern extern
30 #endif
31
32  
33 #include "cgmtypes.h"
34
35 struct sharedatt {
36      Index       auxindex;
37      RGBcolour   aux;
38      Enum        colmode,
39                  transparency;
40      float       xgrain,
41                  ygrain;
42 };
43
44 typedef struct sharedatt Sharedatt;
45
46 struct lineatt {
47      Index       type;
48      float       width;
49      Enum        widthmode;
50      Index       colindex;
51      RGBcolour   col;
52      Sharedatt  *shared;
53 };
54
55 typedef struct lineatt Lineatt;
56
57 struct markeratt {
58      Index       type;
59      float       size;
60      Enum        sizemode;
61      Index       colindex;
62      RGBcolour   col;
63      Sharedatt  *shared;
64 };
65
66 typedef struct markeratt Markeratt;
67
68 struct textatt {
69      int         fontcount;             /*  environmental variables  */
70      char      **fontlist;
71      int         csetcount;
72      char      **csetlist;
73      Enum        csetannouncer;
74
75      Index       fontindex;             /*  bundleable attributes  */
76      Enum        precision;
77      float       expansion;
78      float       spacing;
79      Index       colindex;
80      RGBcolour   col;
81
82      float       height;                /*  device-independent variables  */
83      float       xup,
84                  yup,
85                  xbase,
86                  ybase;
87      Enum        path;
88      Enum        halign,
89                  valign;
90      float       hcont,
91                  vcont;
92      Index       csindex,
93                  acsindex;
94      Sharedatt  *shared;
95 };
96
97 typedef struct textatt Textatt;
98
99 struct fillatt {
100      Index       style;
101      Index       colindex;
102      RGBcolour   col;
103      Index       hatch,
104                  pattern;
105      Sharedatt  *shared;
106 };
107
108 typedef struct fillatt Fillatt;
109
110 struct edgeatt {
111      Index       type;
112      float       width;
113      Enum        widthmode;
114      Index       colindex;
115      RGBcolour   col;
116      Sharedatt  *shared;
117 };
118
119 typedef struct edgeatt Edgeatt;
120
121 struct linebundle {
122      Index   type;
123      float   width;
124      Index   colindex;
125      Colourentry col;
126 };
127
128 typedef struct linebundle Linebundle;
129
130 struct markerbundle {
131      Index   type;
132      float   size;
133      Index   colindex;
134      Colourentry col;
135 };
136
137 typedef struct markerbundle Markerbundle;
138
139 struct textbundle {
140      Index   font;
141      Enum    precision;
142      float   expansion;
143      float   spacing;
144      Index   colindex;
145      Colourentry col;
146 };
147
148 typedef struct textbundle Textbundle;
149
150 struct fillbundle {
151      Index   style;
152      Index   pattern;
153      Index   hatch;
154      Index   colindex;
155      Colourentry col;
156 };
157
158 typedef struct fillbundle Fillbundle;
159
160 struct edgebundle {
161      Index   type;
162      float   width;
163      Index   colindex;
164      Colourentry col;
165 };
166
167 typedef struct edgebundle Edgebundle;
168
169 Extern void ATTline();
170 Extern void ATTmarker();
171 Extern void ATTtext();
172 Extern void ATTfill();
173 Extern void ATTedge();
174
175 #undef Extern
176
177 #endif   /*  end of cgmatt.h */