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