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