dixfont.h revision 4642e01f
1/***********************************************************
2Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
3
4                        All Rights Reserved
5
6Permission to use, copy, modify, and distribute this software and its
7documentation for any purpose and without fee is hereby granted,
8provided that the above copyright notice appear in all copies and that
9both that copyright notice and this permission notice appear in
10supporting documentation, and that the name of Digital not be
11used in advertising or publicity pertaining to distribution of the
12software without specific, written prior permission.
13
14DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
15ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
16DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
17ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
18WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
19ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
20SOFTWARE.
21
22******************************************************************/
23
24#ifndef DIXFONT_H
25#define DIXFONT_H 1
26
27#include "dix.h"
28#include <X11/fonts/font.h>
29#include "closure.h"
30#include <X11/fonts/fontstruct.h>
31
32#define NullDIXFontProp ((DIXFontPropPtr)0)
33
34typedef struct _DIXFontProp *DIXFontPropPtr;
35
36extern Bool SetDefaultFont(char * /*defaultfontname*/);
37
38extern void QueueFontWakeup(FontPathElementPtr /*fpe*/);
39
40extern void RemoveFontWakeup(FontPathElementPtr /*fpe*/);
41
42extern void FontWakeup(pointer /*data*/,
43		       int /*count*/,
44		       pointer /*LastSelectMask*/);
45
46extern int OpenFont(ClientPtr /*client*/,
47		    XID /*fid*/,
48		    Mask /*flags*/,
49		    unsigned /*lenfname*/,
50		    char * /*pfontname*/);
51
52extern int CloseFont(pointer /*pfont*/,
53		     XID /*fid*/);
54
55typedef struct _xQueryFontReply *xQueryFontReplyPtr;
56
57extern void QueryFont(FontPtr /*pFont*/,
58		      xQueryFontReplyPtr /*pReply*/,
59		      int /*nProtoCCIStructs*/);
60
61extern int ListFonts(ClientPtr /*client*/,
62		     unsigned char * /*pattern*/,
63		     unsigned int /*length*/,
64		     unsigned int /*max_names*/);
65
66int
67doListFontsWithInfo(ClientPtr /*client*/,
68		    LFWIclosurePtr /*c*/);
69
70extern int doPolyText(ClientPtr /*client*/,
71		      PTclosurePtr /*c*/
72);
73
74extern int PolyText(ClientPtr /*client*/,
75		    DrawablePtr /*pDraw*/,
76		    GCPtr /*pGC*/,
77		    unsigned char * /*pElt*/,
78		    unsigned char * /*endReq*/,
79		    int /*xorg*/,
80		    int /*yorg*/,
81		    int /*reqType*/,
82		    XID /*did*/);
83
84extern int doImageText(ClientPtr /*client*/,
85		       ITclosurePtr /*c*/);
86
87extern int ImageText(ClientPtr /*client*/,
88		     DrawablePtr /*pDraw*/,
89		     GCPtr /*pGC*/,
90		     int /*nChars*/,
91		     unsigned char * /*data*/,
92		     int /*xorg*/,
93		     int /*yorg*/,
94		     int /*reqType*/,
95		     XID /*did*/);
96
97extern int SetFontPath(ClientPtr /*client*/,
98		       int /*npaths*/,
99		       unsigned char * /*paths*/,
100		       int * /*error*/);
101
102extern int SetDefaultFontPath(char * /*path*/);
103
104extern int GetFontPath(ClientPtr client,
105		       int *count,
106		       int *length,
107		       unsigned char **result);
108
109extern void DeleteClientFontStuff(ClientPtr /*client*/);
110
111/* Quartz support on Mac OS X pulls in the QuickDraw
112   framework whose InitFonts function conflicts here. */
113#ifdef __APPLE__
114#define InitFonts Darwin_X_InitFonts
115#endif
116extern void InitFonts(void);
117
118extern void FreeFonts(void);
119
120extern FontPtr find_old_font(XID /*id*/);
121
122extern void GetGlyphs(FontPtr     /*font*/,
123		      unsigned long /*count*/,
124		      unsigned char * /*chars*/,
125		      FontEncoding /*fontEncoding*/,
126		      unsigned long * /*glyphcount*/,
127		      CharInfoPtr * /*glyphs*/);
128
129extern void QueryGlyphExtents(FontPtr     /*pFont*/,
130			      CharInfoPtr * /*charinfo*/,
131			      unsigned long /*count*/,
132			      ExtentInfoPtr /*info*/);
133
134extern Bool QueryTextExtents(FontPtr     /*pFont*/,
135			     unsigned long /*count*/,
136			     unsigned char * /*chars*/,
137			     ExtentInfoPtr /*info*/);
138
139extern Bool ParseGlyphCachingMode(char * /*str*/);
140
141extern void InitGlyphCaching(void);
142
143extern void SetGlyphCachingMode(int /*newmode*/);
144
145/*
146 * libXfont/src/builtins/builtin.h
147 */
148extern void BuiltinRegisterFpeFunctions(void);
149
150/*
151 * libXfont stubs.
152 */
153extern int client_auth_generation(ClientPtr client);
154
155extern void DeleteFontClientID(Font id);
156
157extern FontResolutionPtr GetClientResolutions(int *num);
158
159extern int GetDefaultPointSize(void);
160
161extern Font GetNewFontClientID(void);
162
163extern int init_fs_handlers(FontPathElementPtr fpe,
164				      BlockHandlerProcPtr block_handler);
165
166extern int RegisterFPEFunctions(NameCheckFunc name_func,
167					  InitFpeFunc init_func,
168					  FreeFpeFunc free_func,
169					  ResetFpeFunc reset_func,
170					  OpenFontFunc open_func,
171					  CloseFontFunc close_func,
172					  ListFontsFunc list_func,
173					  StartLfwiFunc start_lfwi_func,
174					  NextLfwiFunc next_lfwi_func,
175					  WakeupFpeFunc wakeup_func,
176					  ClientDiedFunc client_died,
177					  LoadGlyphsFunc load_glyphs,
178					  StartLaFunc start_list_alias_func,
179					  NextLaFunc next_list_alias_func,
180					  SetPathFunc set_path_func);
181
182extern void remove_fs_handlers(FontPathElementPtr fpe,
183					 BlockHandlerProcPtr blockHandler,
184					 Bool all);
185
186extern int StoreFontClientFont(FontPtr pfont, Font id);
187
188#endif				/* DIXFONT_H */
189