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