4c221b0da1816acf2ca302b10092df059484468dvboxsync/***********************************************************
4c221b0da1816acf2ca302b10092df059484468dvboxsyncCopyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync All Rights Reserved
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncPermission to use, copy, modify, and distribute this software and its
4c221b0da1816acf2ca302b10092df059484468dvboxsyncdocumentation for any purpose and without fee is hereby granted,
4c221b0da1816acf2ca302b10092df059484468dvboxsyncprovided that the above copyright notice appear in all copies and that
4c221b0da1816acf2ca302b10092df059484468dvboxsyncboth that copyright notice and this permission notice appear in
4c221b0da1816acf2ca302b10092df059484468dvboxsyncsupporting documentation, and that the name of Digital not be
4c221b0da1816acf2ca302b10092df059484468dvboxsyncused in advertising or publicity pertaining to distribution of the
4c221b0da1816acf2ca302b10092df059484468dvboxsyncsoftware without specific, written prior permission.
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncDIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
4c221b0da1816acf2ca302b10092df059484468dvboxsyncALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
4c221b0da1816acf2ca302b10092df059484468dvboxsyncDIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
4c221b0da1816acf2ca302b10092df059484468dvboxsyncANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
4c221b0da1816acf2ca302b10092df059484468dvboxsyncWHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
4c221b0da1816acf2ca302b10092df059484468dvboxsyncARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
4c221b0da1816acf2ca302b10092df059484468dvboxsyncSOFTWARE.
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync******************************************************************/
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync#ifndef DIXFONT_H
4c221b0da1816acf2ca302b10092df059484468dvboxsync#define DIXFONT_H 1
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync#include "dix.h"
4c221b0da1816acf2ca302b10092df059484468dvboxsync#include <X11/fonts/font.h>
4c221b0da1816acf2ca302b10092df059484468dvboxsync#include "closure.h"
4c221b0da1816acf2ca302b10092df059484468dvboxsync#include <X11/fonts/fontstruct.h>
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync#define NullDIXFontProp ((DIXFontPropPtr)0)
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsynctypedef struct _DIXFontProp *DIXFontPropPtr;
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT Bool SetDefaultFont(char * /*defaultfontname*/);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT void QueueFontWakeup(FontPathElementPtr /*fpe*/);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT void RemoveFontWakeup(FontPathElementPtr /*fpe*/);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT void FontWakeup(pointer /*data*/,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int /*count*/,
4c221b0da1816acf2ca302b10092df059484468dvboxsync pointer /*LastSelectMask*/);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT int OpenFont(ClientPtr /*client*/,
4c221b0da1816acf2ca302b10092df059484468dvboxsync XID /*fid*/,
4c221b0da1816acf2ca302b10092df059484468dvboxsync Mask /*flags*/,
4c221b0da1816acf2ca302b10092df059484468dvboxsync unsigned /*lenfname*/,
4c221b0da1816acf2ca302b10092df059484468dvboxsync char * /*pfontname*/);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT int CloseFont(pointer /*pfont*/,
4c221b0da1816acf2ca302b10092df059484468dvboxsync XID /*fid*/);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsynctypedef struct _xQueryFontReply *xQueryFontReplyPtr;
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT void QueryFont(FontPtr /*pFont*/,
4c221b0da1816acf2ca302b10092df059484468dvboxsync xQueryFontReplyPtr /*pReply*/,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int /*nProtoCCIStructs*/);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT int ListFonts(ClientPtr /*client*/,
4c221b0da1816acf2ca302b10092df059484468dvboxsync unsigned char * /*pattern*/,
4c221b0da1816acf2ca302b10092df059484468dvboxsync unsigned int /*length*/,
4c221b0da1816acf2ca302b10092df059484468dvboxsync unsigned int /*max_names*/);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT int
4c221b0da1816acf2ca302b10092df059484468dvboxsyncdoListFontsWithInfo(ClientPtr /*client*/,
4c221b0da1816acf2ca302b10092df059484468dvboxsync LFWIclosurePtr /*c*/);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT int doPolyText(ClientPtr /*client*/,
4c221b0da1816acf2ca302b10092df059484468dvboxsync PTclosurePtr /*c*/
4c221b0da1816acf2ca302b10092df059484468dvboxsync);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT int PolyText(ClientPtr /*client*/,
4c221b0da1816acf2ca302b10092df059484468dvboxsync DrawablePtr /*pDraw*/,
4c221b0da1816acf2ca302b10092df059484468dvboxsync GCPtr /*pGC*/,
4c221b0da1816acf2ca302b10092df059484468dvboxsync unsigned char * /*pElt*/,
4c221b0da1816acf2ca302b10092df059484468dvboxsync unsigned char * /*endReq*/,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int /*xorg*/,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int /*yorg*/,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int /*reqType*/,
4c221b0da1816acf2ca302b10092df059484468dvboxsync XID /*did*/);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT int doImageText(ClientPtr /*client*/,
4c221b0da1816acf2ca302b10092df059484468dvboxsync ITclosurePtr /*c*/);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT int ImageText(ClientPtr /*client*/,
4c221b0da1816acf2ca302b10092df059484468dvboxsync DrawablePtr /*pDraw*/,
4c221b0da1816acf2ca302b10092df059484468dvboxsync GCPtr /*pGC*/,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int /*nChars*/,
4c221b0da1816acf2ca302b10092df059484468dvboxsync unsigned char * /*data*/,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int /*xorg*/,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int /*yorg*/,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int /*reqType*/,
4c221b0da1816acf2ca302b10092df059484468dvboxsync XID /*did*/);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT int SetFontPath(ClientPtr /*client*/,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int /*npaths*/,
4c221b0da1816acf2ca302b10092df059484468dvboxsync unsigned char * /*paths*/);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT int SetDefaultFontPath(char * /*path*/);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT int GetFontPath(ClientPtr client,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int *count,
4c221b0da1816acf2ca302b10092df059484468dvboxsync int *length,
4c221b0da1816acf2ca302b10092df059484468dvboxsync unsigned char **result);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT void DeleteClientFontStuff(ClientPtr /*client*/);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync/* Quartz support on Mac OS X pulls in the QuickDraw
4c221b0da1816acf2ca302b10092df059484468dvboxsync framework whose InitFonts function conflicts here. */
4c221b0da1816acf2ca302b10092df059484468dvboxsync#ifdef __APPLE__
4c221b0da1816acf2ca302b10092df059484468dvboxsync#define InitFonts Darwin_X_InitFonts
4c221b0da1816acf2ca302b10092df059484468dvboxsync#endif
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT void InitFonts(void);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT void FreeFonts(void);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT FontPtr find_old_font(XID /*id*/);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT void GetGlyphs(FontPtr /*font*/,
4c221b0da1816acf2ca302b10092df059484468dvboxsync unsigned long /*count*/,
4c221b0da1816acf2ca302b10092df059484468dvboxsync unsigned char * /*chars*/,
4c221b0da1816acf2ca302b10092df059484468dvboxsync FontEncoding /*fontEncoding*/,
4c221b0da1816acf2ca302b10092df059484468dvboxsync unsigned long * /*glyphcount*/,
4c221b0da1816acf2ca302b10092df059484468dvboxsync CharInfoPtr * /*glyphs*/);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT void QueryGlyphExtents(FontPtr /*pFont*/,
4c221b0da1816acf2ca302b10092df059484468dvboxsync CharInfoPtr * /*charinfo*/,
4c221b0da1816acf2ca302b10092df059484468dvboxsync unsigned long /*count*/,
4c221b0da1816acf2ca302b10092df059484468dvboxsync ExtentInfoPtr /*info*/);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT Bool QueryTextExtents(FontPtr /*pFont*/,
4c221b0da1816acf2ca302b10092df059484468dvboxsync unsigned long /*count*/,
4c221b0da1816acf2ca302b10092df059484468dvboxsync unsigned char * /*chars*/,
4c221b0da1816acf2ca302b10092df059484468dvboxsync ExtentInfoPtr /*info*/);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT Bool ParseGlyphCachingMode(char * /*str*/);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT void InitGlyphCaching(void);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT void SetGlyphCachingMode(int /*newmode*/);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT void register_fpe_functions(void);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync/*
4c221b0da1816acf2ca302b10092df059484468dvboxsync * libXfont stubs.
4c221b0da1816acf2ca302b10092df059484468dvboxsync */
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT int client_auth_generation(ClientPtr client);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT void DeleteFontClientID(Font id);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT FontResolutionPtr GetClientResolutions(int *num);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT int GetDefaultPointSize(void);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT Font GetNewFontClientID(void);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT int init_fs_handlers(FontPathElementPtr fpe,
4c221b0da1816acf2ca302b10092df059484468dvboxsync BlockHandlerProcPtr block_handler);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT int RegisterFPEFunctions(NameCheckFunc name_func,
4c221b0da1816acf2ca302b10092df059484468dvboxsync InitFpeFunc init_func,
4c221b0da1816acf2ca302b10092df059484468dvboxsync FreeFpeFunc free_func,
4c221b0da1816acf2ca302b10092df059484468dvboxsync ResetFpeFunc reset_func,
4c221b0da1816acf2ca302b10092df059484468dvboxsync OpenFontFunc open_func,
4c221b0da1816acf2ca302b10092df059484468dvboxsync CloseFontFunc close_func,
4c221b0da1816acf2ca302b10092df059484468dvboxsync ListFontsFunc list_func,
4c221b0da1816acf2ca302b10092df059484468dvboxsync StartLfwiFunc start_lfwi_func,
4c221b0da1816acf2ca302b10092df059484468dvboxsync NextLfwiFunc next_lfwi_func,
4c221b0da1816acf2ca302b10092df059484468dvboxsync WakeupFpeFunc wakeup_func,
4c221b0da1816acf2ca302b10092df059484468dvboxsync ClientDiedFunc client_died,
4c221b0da1816acf2ca302b10092df059484468dvboxsync LoadGlyphsFunc load_glyphs,
4c221b0da1816acf2ca302b10092df059484468dvboxsync StartLaFunc start_list_alias_func,
4c221b0da1816acf2ca302b10092df059484468dvboxsync NextLaFunc next_list_alias_func,
4c221b0da1816acf2ca302b10092df059484468dvboxsync SetPathFunc set_path_func);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT void remove_fs_handlers(FontPathElementPtr fpe,
4c221b0da1816acf2ca302b10092df059484468dvboxsync BlockHandlerProcPtr blockHandler,
4c221b0da1816acf2ca302b10092df059484468dvboxsync Bool all);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsyncextern _X_EXPORT int StoreFontClientFont(FontPtr pfont, Font id);
4c221b0da1816acf2ca302b10092df059484468dvboxsync
4c221b0da1816acf2ca302b10092df059484468dvboxsync#endif /* DIXFONT_H */