040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync/***********************************************************
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncCopyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync All Rights Reserved
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncPermission to use, copy, modify, and distribute this software and its
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncdocumentation for any purpose and without fee is hereby granted,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncprovided that the above copyright notice appear in all copies and that
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncboth that copyright notice and this permission notice appear in
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncsupporting documentation, and that the name of Digital not be
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncused in advertising or publicity pertaining to distribution of the
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncsoftware without specific, written prior permission.
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncDIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncDIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncWHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncSOFTWARE.
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync******************************************************************/
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#ifndef DIXFONT_H
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define DIXFONT_H 1
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#include "dix.h"
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#include <X11/fonts/font.h>
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#include "closure.h"
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#include <X11/fonts/fontstruct.h>
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define NullDIXFontProp ((DIXFontPropPtr)0)
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef struct _DIXFontProp *DIXFontPropPtr;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern FPEFunctions *fpe_functions;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern int FontToXError(int /*err*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern Bool SetDefaultFont(char * /*defaultfontname*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern void QueueFontWakeup(FontPathElementPtr /*fpe*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern void RemoveFontWakeup(FontPathElementPtr /*fpe*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern void FontWakeup(pointer /*data*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*count*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync pointer /*LastSelectMask*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern int OpenFont(ClientPtr /*client*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync XID /*fid*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync Mask /*flags*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned /*lenfname*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync char * /*pfontname*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern int CloseFont(pointer /*pfont*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync XID /*fid*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsynctypedef struct _xQueryFontReply *xQueryFontReplyPtr;
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern void QueryFont(FontPtr /*pFont*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync xQueryFontReplyPtr /*pReply*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*nProtoCCIStructs*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern int ListFonts(ClientPtr /*client*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned char * /*pattern*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned int /*length*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned int /*max_names*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncint
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncdoListFontsWithInfo(ClientPtr /*client*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync LFWIclosurePtr /*c*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern int doPolyText(ClientPtr /*client*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync PTclosurePtr /*c*/
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern int PolyText(ClientPtr /*client*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync DrawablePtr /*pDraw*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync GCPtr /*pGC*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned char * /*pElt*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned char * /*endReq*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*xorg*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*yorg*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*reqType*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync XID /*did*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern int doImageText(ClientPtr /*client*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ITclosurePtr /*c*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern int ImageText(ClientPtr /*client*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync DrawablePtr /*pDraw*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync GCPtr /*pGC*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*nChars*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned char * /*data*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*xorg*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*yorg*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*reqType*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync XID /*did*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern int SetFontPath(ClientPtr /*client*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*npaths*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned char * /*paths*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int * /*error*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern int SetDefaultFontPath(char * /*path*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern int GetFontPath(ClientPtr client,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int *count,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int *length,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned char **result);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern int LoadGlyphs(ClientPtr /*client*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync FontPtr /*pfont*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned /*nchars*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync int /*item_size*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned char * /*data*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern void DeleteClientFontStuff(ClientPtr /*client*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync/* Quartz support on Mac OS X pulls in the QuickDraw
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync framework whose InitFonts function conflicts here. */
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#ifdef __APPLE__
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#define InitFonts Darwin_X_InitFonts
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#endif
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern void InitFonts(void);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern void FreeFonts(void);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern FontPtr find_old_font(XID /*id*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern void GetGlyphs(FontPtr /*font*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned long /*count*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned char * /*chars*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync FontEncoding /*fontEncoding*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned long * /*glyphcount*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CharInfoPtr * /*glyphs*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern void QueryGlyphExtents(FontPtr /*pFont*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync CharInfoPtr * /*charinfo*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned long /*count*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ExtentInfoPtr /*info*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern Bool QueryTextExtents(FontPtr /*pFont*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned long /*count*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync unsigned char * /*chars*/,
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync ExtentInfoPtr /*info*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern Bool ParseGlyphCachingMode(char * /*str*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern void InitGlyphCaching(void);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsyncextern void SetGlyphCachingMode(int /*newmode*/);
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync
040abec2534dadc53ebc8fa378ef03f4feecb7dbvboxsync#endif /* DIXFONT_H */