1 /* $XConsortium: t1imager.h,v 1.5 92/03/20 14:36:05 keith Exp $ */
2 /* Copyright International Business Machines,Corp. 1991
5 * License to use, copy, modify, and distribute this software
6 * and its documentation for any purpose and without fee is
7 * hereby granted, provided that the above copyright notice
8 * appear in all copies and that both that copyright notice and
9 * this permission notice appear in supporting documentation,
10 * and that the name of IBM not be used in advertising or
11 * publicity pertaining to distribution of the software without
12 * specific, written prior permission.
14 * IBM PROVIDES THIS SOFTWARE "AS IS", WITHOUT ANY WARRANTIES
15 * OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT
16 * LIMITED TO ANY IMPLIED WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT OF
18 * THIRD PARTY RIGHTS. THE ENTIRE RISK AS TO THE QUALITY AND
19 * PERFORMANCE OF THE SOFTWARE, INCLUDING ANY DUTY TO SUPPORT
20 * OR MAINTAIN, BELONGS TO THE LICENSEE. SHOULD ANY PORTION OF
21 * THE SOFTWARE PROVE DEFECTIVE, THE LICENSEE (NOT IBM) ASSUMES
22 * THE ENTIRE COST OF ALL SERVICING, REPAIR AND CORRECTION. IN
23 * NO EVENT SHALL IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR
24 * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
25 * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
26 * CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
27 * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
33 typedef pointer xobject;
34 typedef pointer location;
36 typedef pointer region;
37 typedef pointer XYspace;
41 The following are the user entry locations to TYPE1IMAGER
43 extern path t1_Bezier();
44 extern path t1_ClosePath();
45 extern xobject t1_Destroy();
46 extern xobject t1_Dup();
47 extern char *t1_ErrorMsg();
48 extern void t1_InitImager();
49 extern region t1_Interior();
50 extern location t1_ILoc();
51 extern xobject t1_Join();
52 extern path t1_Line();
53 extern xobject t1_Permanent();
54 extern path t1_Phantom();
55 extern location t1_Loc();
56 extern xobject t1_Scale();
57 extern xobject t1_Snap();
58 extern location t1_SubLoc();
59 extern xobject t1_Temporary();
76 Here are some TYPE1IMAGER functions that are defined in terms of others:
79 #define t1_AddLoc(p1,p2) t1_Join(p1,p2)
83 Define the simple form of all the subroutine names:
85 #define AddLoc(p1,p2) t1_AddLoc(p1,p2)
86 #define Bezier(B,C,D) t1_Bezier(B,C,D)
87 #define ClosePath(p) t1_ClosePath(p,0)
88 #define Complement(area) t1_Complement(area)
89 #define Destroy(o) t1_Destroy(o)
90 #define Dup(o) t1_Dup(o)
91 #define ErrorMsg() t1_ErrorMsg()
92 #define HeadSegment(p) t1_HeadSegment(p)
93 #define InitImager() t1_InitImager()
94 #define Interior(p,rule) t1_Interior(p,rule)
95 #define ILoc(S,x,y) t1_ILoc(S,x,y)
96 #define Join(p1,p2) t1_Join(p1,p2)
97 #define Line(P) t1_Line(P)
98 #define Permanent(o) t1_Permanent(o)
99 #define Phantom(o) t1_Phantom(o)
100 #define Loc(S,x,y) t1_Loc(S,(double)x,(double)y)
101 #define Scale(o,sx,sy) t1_Scale(o,(double)sx,(double)sy)
102 #define Snap(o) t1_Snap(o)
103 #define SubLoc(a,b) t1_SubLoc(a,b)
104 #define Temporary(o) t1_Temporary(o)
105 #define TermImager() t1_TermImager()
106 #define Transform(o,cxx,cyx,cxy,cyy) t1_Transform(o,(double)cxx,(double)cyx,\
107 (double)cxy,(double)cyy)
111 #define WINDINGRULE -2
112 #define EVENODDRULE -3
114 #define CONTINUITY 0x80 /* can be added to above rules; e.g. WINDINGRULE+CONTINUITY */
117 Stroke() line style constants:
121 Coordinate space constants:
123 #define IDENTITY t1_Identity
124 extern XYspace *IDENTITY;
127 Generic null object definition:
129 #define NULLOBJECT ((xobject)NULL)
132 Null path definition:
134 #define NULLPATH NULLOBJECT
137 Full page and null region definition:
139 #define INFINITY t1_Infinity
141 extern region *INFINITY;
143 #define NULLREGION NULLOBJECT
145 #define FF_PARSE_ERROR 5
148 extern pointer xiStub();