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