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