#ifndef DIXFONT_H
#define DIXFONT_H 1
#include "dix.h"
#include <X11/fonts/font.h>
#include "closure.h"
#include <X11/fonts/fontstruct.h>
#define NullDIXFontProp ((DIXFontPropPtr)0)
typedef struct _DIXFontProp *DIXFontPropPtr;
extern _X_EXPORT Bool SetDefaultFont(char * );
extern _X_EXPORT void QueueFontWakeup(FontPathElementPtr );
extern _X_EXPORT void RemoveFontWakeup(FontPathElementPtr );
extern _X_EXPORT void FontWakeup(pointer ,
int ,
pointer );
extern _X_EXPORT int OpenFont(ClientPtr ,
XID ,
Mask ,
unsigned ,
char * );
extern _X_EXPORT int CloseFont(pointer ,
XID );
typedef struct _xQueryFontReply *xQueryFontReplyPtr;
extern _X_EXPORT void QueryFont(FontPtr ,
xQueryFontReplyPtr ,
int );
extern _X_EXPORT int ListFonts(ClientPtr ,
unsigned char * ,
unsigned int ,
unsigned int );
extern _X_EXPORT int
doListFontsWithInfo(ClientPtr ,
LFWIclosurePtr );
extern _X_EXPORT int doPolyText(ClientPtr ,
PTclosurePtr
);
extern _X_EXPORT int PolyText(ClientPtr ,
DrawablePtr ,
GCPtr ,
unsigned char * ,
unsigned char * ,
int ,
int ,
int ,
XID );
extern _X_EXPORT int doImageText(ClientPtr ,
ITclosurePtr );
extern _X_EXPORT int ImageText(ClientPtr ,
DrawablePtr ,
GCPtr ,
int ,
unsigned char * ,
int ,
int ,
int ,
XID );
extern _X_EXPORT int SetFontPath(ClientPtr ,
int ,
unsigned char * );
extern _X_EXPORT int SetDefaultFontPath(char * );
extern _X_EXPORT int GetFontPath(ClientPtr client,
int *count,
int *length,
unsigned char **result);
extern _X_EXPORT void DeleteClientFontStuff(ClientPtr );
#ifdef __APPLE__
#define InitFonts Darwin_X_InitFonts
#endif
extern _X_EXPORT void InitFonts(void);
extern _X_EXPORT void FreeFonts(void);
extern _X_EXPORT FontPtr find_old_font(XID );
extern _X_EXPORT void GetGlyphs(FontPtr ,
unsigned long ,
unsigned char * ,
FontEncoding ,
unsigned long * ,
CharInfoPtr * );
extern _X_EXPORT void QueryGlyphExtents(FontPtr ,
CharInfoPtr * ,
unsigned long ,
ExtentInfoPtr );
extern _X_EXPORT Bool QueryTextExtents(FontPtr ,
unsigned long ,
unsigned char * ,
ExtentInfoPtr );
extern _X_EXPORT Bool ParseGlyphCachingMode(char * );
extern _X_EXPORT void InitGlyphCaching(void);
extern _X_EXPORT void SetGlyphCachingMode(int );
extern _X_EXPORT void register_fpe_functions(void);
extern _X_EXPORT int client_auth_generation(ClientPtr client);
extern _X_EXPORT void DeleteFontClientID(Font id);
extern _X_EXPORT FontResolutionPtr GetClientResolutions(int *num);
extern _X_EXPORT int GetDefaultPointSize(void);
extern _X_EXPORT Font GetNewFontClientID(void);
extern _X_EXPORT int init_fs_handlers(FontPathElementPtr fpe,
BlockHandlerProcPtr block_handler);
extern _X_EXPORT int RegisterFPEFunctions(NameCheckFunc name_func,
InitFpeFunc init_func,
FreeFpeFunc free_func,
ResetFpeFunc reset_func,
OpenFontFunc open_func,
CloseFontFunc close_func,
ListFontsFunc list_func,
StartLfwiFunc start_lfwi_func,
NextLfwiFunc next_lfwi_func,
WakeupFpeFunc wakeup_func,
ClientDiedFunc client_died,
LoadGlyphsFunc load_glyphs,
StartLaFunc start_list_alias_func,
NextLaFunc next_list_alias_func,
SetPathFunc set_path_func);
extern _X_EXPORT void remove_fs_handlers(FontPathElementPtr fpe,
BlockHandlerProcPtr blockHandler,
Bool all);
extern _X_EXPORT int StoreFontClientFont(FontPtr pfont, Font id);
#endif