1/***********************************************************
2
3Copyright (c) 1999  The XFree86 Project Inc.
4
5All Rights Reserved.
6
7The above copyright notice and this permission notice shall be included in
8all copies or substantial portions of the Software.
9
10THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
11IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
12FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
13OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
14AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
15CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
16
17Except as contained in this notice, the name of The XFree86 Project
18Inc. shall not be used in advertising or otherwise to promote the
19sale, use or other dealings in this Software without prior written
20authorization from The XFree86 Project Inc..
21
22*/
23#ifndef _FONTPROTO_H
24#define _FONTPROTO_H
25
26#include <X11/Xfuncproto.h>
27
28/* Externally provided functions required by libXfont */
29
30extern _X_EXPORT int RegisterFPEFunctions (
31				  NameCheckFunc name_func,
32				  InitFpeFunc init_func,
33				  FreeFpeFunc free_func,
34				  ResetFpeFunc reset_func,
35				  OpenFontFunc open_func,
36				  CloseFontFunc close_func,
37				  ListFontsFunc list_func,
38				  StartLfwiFunc start_lfwi_func,
39				  NextLfwiFunc next_lfwi_func,
40				  WakeupFpeFunc wakeup_func,
41				  ClientDiedFunc client_died,
42				  LoadGlyphsFunc load_glyphs,
43				  StartLaFunc start_list_alias_func,
44				  NextLaFunc next_list_alias_func,
45				  SetPathFunc set_path_func);
46
47extern _X_EXPORT int GetDefaultPointSize ( void );
48
49extern _X_EXPORT int init_fs_handlers ( FontPathElementPtr fpe,
50                                        BlockHandlerProcPtr block_handler);
51extern _X_EXPORT void remove_fs_handlers ( FontPathElementPtr fpe,
52                                           BlockHandlerProcPtr block_handler,
53                                           Bool all );
54
55extern _X_EXPORT int client_auth_generation ( ClientPtr client );
56
57#ifndef ___CLIENTSIGNAL_DEFINED___
58#define ___CLIENTSIGNAL_DEFINED___
59extern Bool ClientSignal ( ClientPtr client );
60#endif /* ___CLIENTSIGNAL_DEFINED___ */
61
62extern _X_EXPORT void DeleteFontClientID ( Font id );
63extern _X_EXPORT Font GetNewFontClientID ( void );
64extern _X_EXPORT int StoreFontClientFont ( FontPtr pfont, Font id );
65extern _X_EXPORT void FontFileRegisterFpeFunctions ( void );
66extern _X_EXPORT void FontFileCheckRegisterFpeFunctions ( void );
67
68extern Bool XpClientIsBitmapClient ( ClientPtr client );
69extern Bool XpClientIsPrintClient( ClientPtr client, FontPathElementPtr fpe );
70extern void PrinterFontRegisterFpeFunctions ( void );
71
72extern void fs_register_fpe_functions ( void );
73extern void check_fs_register_fpe_functions ( void );
74
75/* util/private.c */
76extern FontPtr  CreateFontRec (void);
77extern void  DestroyFontRec (FontPtr font);
78extern Bool     _FontSetNewPrivate (FontPtr        /* pFont */,
79				    int            /* n */,
80				    void *         /* ptr */);
81extern int      AllocateFontPrivateIndex (void);
82extern void ResetFontPrivateIndex (void);
83
84/* Type1/t1funcs.c */
85extern void Type1RegisterFontFileFunctions(void);
86extern void CIDRegisterFontFileFunctions(void);
87
88/* Speedo/spfuncs.c */
89extern void SpeedoRegisterFontFileFunctions(void);
90
91/* FreeType/ftfuncs.c */
92extern void FreeTypeRegisterFontFileFunctions(void);
93
94#endif
95