117ca54c3Smrg/***********************************************************
217ca54c3Smrg
317ca54c3SmrgCopyright (c) 1999  The XFree86 Project Inc.
417ca54c3Smrg
517ca54c3SmrgAll Rights Reserved.
617ca54c3Smrg
717ca54c3SmrgThe above copyright notice and this permission notice shall be included in
817ca54c3Smrgall copies or substantial portions of the Software.
917ca54c3Smrg
1017ca54c3SmrgTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1117ca54c3SmrgIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1217ca54c3SmrgFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
1317ca54c3SmrgOPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
1417ca54c3SmrgAN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
1517ca54c3SmrgCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1617ca54c3Smrg
1717ca54c3SmrgExcept as contained in this notice, the name of The XFree86 Project
1817ca54c3SmrgInc. shall not be used in advertising or otherwise to promote the
1917ca54c3Smrgsale, use or other dealings in this Software without prior written
2017ca54c3Smrgauthorization from The XFree86 Project Inc..
2117ca54c3Smrg
2217ca54c3Smrg*/
2317ca54c3Smrg#ifndef _FONTPROTO_H
2417ca54c3Smrg#define _FONTPROTO_H
2517ca54c3Smrg
2617ca54c3Smrg#include <X11/Xfuncproto.h>
2717ca54c3Smrg
2817ca54c3Smrg/* Externally provided functions required by libXfont */
2917ca54c3Smrg
3017ca54c3Smrgextern _X_EXPORT int RegisterFPEFunctions (
3117ca54c3Smrg				  NameCheckFunc name_func,
32ea1d6981Smrg				  InitFpeFunc init_func,
33ea1d6981Smrg				  FreeFpeFunc free_func,
34ea1d6981Smrg				  ResetFpeFunc reset_func,
35ea1d6981Smrg				  OpenFontFunc open_func,
36ea1d6981Smrg				  CloseFontFunc close_func,
37ea1d6981Smrg				  ListFontsFunc list_func,
38ea1d6981Smrg				  StartLfwiFunc start_lfwi_func,
39ea1d6981Smrg				  NextLfwiFunc next_lfwi_func,
40ea1d6981Smrg				  WakeupFpeFunc wakeup_func,
41ea1d6981Smrg				  ClientDiedFunc client_died,
42ea1d6981Smrg				  LoadGlyphsFunc load_glyphs,
43ea1d6981Smrg				  StartLaFunc start_list_alias_func,
44ea1d6981Smrg				  NextLaFunc next_list_alias_func,
4517ca54c3Smrg				  SetPathFunc set_path_func);
4617ca54c3Smrg
4717ca54c3Smrgextern _X_EXPORT int GetDefaultPointSize ( void );
4817ca54c3Smrg
4917ca54c3Smrgextern _X_EXPORT int init_fs_handlers ( FontPathElementPtr fpe,
5017ca54c3Smrg                                        BlockHandlerProcPtr block_handler);
5117ca54c3Smrgextern _X_EXPORT void remove_fs_handlers ( FontPathElementPtr fpe,
5217ca54c3Smrg                                           BlockHandlerProcPtr block_handler,
5317ca54c3Smrg                                           Bool all );
5417ca54c3Smrg
5517ca54c3Smrgextern _X_EXPORT int client_auth_generation ( ClientPtr client );
5617ca54c3Smrg
5717ca54c3Smrg#ifndef ___CLIENTSIGNAL_DEFINED___
5817ca54c3Smrg#define ___CLIENTSIGNAL_DEFINED___
5917ca54c3Smrgextern Bool ClientSignal ( ClientPtr client );
6017ca54c3Smrg#endif /* ___CLIENTSIGNAL_DEFINED___ */
6117ca54c3Smrg
6217ca54c3Smrgextern _X_EXPORT void DeleteFontClientID ( Font id );
6317ca54c3Smrgextern _X_EXPORT Font GetNewFontClientID ( void );
6417ca54c3Smrgextern _X_EXPORT int StoreFontClientFont ( FontPtr pfont, Font id );
6517ca54c3Smrgextern _X_EXPORT void FontFileRegisterFpeFunctions ( void );
6617ca54c3Smrgextern _X_EXPORT void FontFileCheckRegisterFpeFunctions ( void );
6717ca54c3Smrg
6817ca54c3Smrgextern Bool XpClientIsBitmapClient ( ClientPtr client );
6917ca54c3Smrgextern Bool XpClientIsPrintClient( ClientPtr client, FontPathElementPtr fpe );
7017ca54c3Smrgextern void PrinterFontRegisterFpeFunctions ( void );
7117ca54c3Smrg
7217ca54c3Smrgextern void fs_register_fpe_functions ( void );
7317ca54c3Smrgextern void check_fs_register_fpe_functions ( void );
7417ca54c3Smrg
7517ca54c3Smrg/* util/private.c */
7617ca54c3Smrgextern FontPtr  CreateFontRec (void);
7717ca54c3Smrgextern void  DestroyFontRec (FontPtr font);
7817ca54c3Smrgextern Bool     _FontSetNewPrivate (FontPtr        /* pFont */,
7917ca54c3Smrg				    int            /* n */,
8017ca54c3Smrg				    void *         /* ptr */);
8117ca54c3Smrgextern int      AllocateFontPrivateIndex (void);
8217ca54c3Smrgextern void ResetFontPrivateIndex (void);
8317ca54c3Smrg
8417ca54c3Smrg/* Type1/t1funcs.c */
8517ca54c3Smrgextern void Type1RegisterFontFileFunctions(void);
8617ca54c3Smrgextern void CIDRegisterFontFileFunctions(void);
8717ca54c3Smrg
8817ca54c3Smrg/* Speedo/spfuncs.c */
8917ca54c3Smrgextern void SpeedoRegisterFontFileFunctions(void);
9017ca54c3Smrg
9117ca54c3Smrg/* FreeType/ftfuncs.c */
9217ca54c3Smrgextern void FreeTypeRegisterFontFileFunctions(void);
9317ca54c3Smrg
9417ca54c3Smrg#endif
95