]> git.sesse.net Git - rdpsrv/blob - Xserver/lib/font/Type1/t1imager.h
Support RDP5 logon packets.
[rdpsrv] / Xserver / lib / font / Type1 / t1imager.h
1 /* $XConsortium: t1imager.h,v 1.5 92/03/20 14:36:05 keith Exp $ */
2 /* Copyright International Business Machines,Corp. 1991
3  * All Rights Reserved
4  *
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.
13  *
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
28  * SOFTWARE.
29  */
30
31 #include "fontmisc.h"
32  
33 typedef  pointer xobject;
34 typedef  pointer location;
35 typedef  pointer path;
36 typedef  pointer region;
37 typedef  pointer XYspace;
38  
39 #ifndef NOEXTERNS
40 /*
41 The following are the user entry locations to TYPE1IMAGER
42 */
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();
60  
61 #endif
62  
63 #ifndef   NULL
64 #define   NULL         0
65 #endif
66  
67 #ifndef   TRUE
68 #define   TRUE          1
69 #endif
70  
71 #ifndef   FALSE
72 #define   FALSE         0
73 #endif
74  
75 /*
76 Here are some TYPE1IMAGER functions that are defined in terms of others:
77 */
78  
79 #define   t1_AddLoc(p1,p2)    t1_Join(p1,p2)
80  
81 #ifndef   NONAMES
82 /*
83 Define the simple form of all the subroutine names:
84 */
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)
108  
109 #endif
110  
111 #define   WINDINGRULE -2
112 #define   EVENODDRULE -3
113  
114 #define   CONTINUITY  0x80   /* can be added to above rules; e.g. WINDINGRULE+CONTINUITY */
115  
116 /*
117 Stroke() line style constants:
118 */
119  
120 /*
121 Coordinate space constants:
122 */
123 #define   IDENTITY      t1_Identity
124 extern XYspace *IDENTITY;
125  
126 /*
127 Generic null object definition:
128 */
129 #define    NULLOBJECT   ((xobject)NULL)
130  
131 /*
132 Null path definition:
133 */
134 #define    NULLPATH     NULLOBJECT
135  
136 /*
137 Full page and null region definition:
138 */
139 #define    INFINITY     t1_Infinity
140 #ifndef NOEXTERNS
141 extern     region       *INFINITY;
142 #endif
143 #define    NULLREGION   NULLOBJECT
144  
145 #define    FF_PARSE_ERROR  5
146 #define    FF_PATH         1
147  
148 extern pointer xiStub();