b311480e |
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 | |
7fd59977 |
21 | #ifndef CGMOUT_H |
22 | #define CGMOUT_H |
23 | |
24 | /* Include all files on which this is dependent. */ |
25 | |
26 | #include "cgmmach.h" |
27 | #include "cgmtypes.h" |
28 | #include "cgmstruc.h" |
29 | |
30 | /* Include file that all modules using this file will use. */ |
31 | |
32 | #include "cgmatt.h" |
33 | #include "cgmerr.h" |
34 | |
35 | /* external structures needed by driver */ |
36 | |
37 | extern const struct char_defaults chardef; |
38 | extern struct char_defaults mfchar, curchar, oldchar; |
39 | extern const struct text_defaults textdef; |
40 | extern struct text_defaults mftext, curtext; |
41 | extern const struct bin_defaults bindef; |
42 | extern struct bin_defaults mfbin, curbin; |
43 | extern struct defaults cur, old; |
44 | extern struct attributes curatt, oldatt; |
45 | |
46 | extern struct flags att; |
47 | |
48 | extern Enum cgmdriver; |
49 | extern Enum cgmstate; |
50 | |
51 | extern long *null; |
52 | |
53 | extern Code st_start, st_term; |
54 | |
55 | /* Global variable set as arguments for output control */ |
56 | |
57 | extern Logical cgmralgks, cgmverbose, cgmquiet, cgmEOF, cgmfinished; |
58 | |
59 | /* Variables for random frame access */ |
60 | |
61 | extern long cgmnext, cgmpresent, cgmabort; |
62 | |
63 | /* Structures for font list and character set list */ |
64 | |
65 | extern struct cgmfont cgmfonts; |
66 | extern struct cgmcset cgmcsets; |
67 | |
68 | /* Macros for common Maths functions */ |
69 | |
70 | #define REQUAL(x,y) ( FABS((x)-(y)) <= cur.realmin ) |
71 | #define VEQUAL(x,y) ( FABS((x)-(y)) <= cur.vdcmin ) |
72 | #define PEQUAL(p,q) ( VEQUAL((p)->x, (q)->x) && VEQUAL((p)->y, (q)->y) ) |
73 | #define XPROD(a,b,c,d) ( (b->x - a->x)*(d->y - c->y)\ |
74 | - (d->x - c->x)*(b->y - a->y) ) |
75 | #endif /* end of cgmout.h */ |