b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* $Xorg: dixfont.h,v 1.3 2000/08/17 19:53:29 cpqbld Exp $ */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/***********************************************************
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncCopyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync All Rights Reserved
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncPermission to use, copy, modify, and distribute this software and its
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncdocumentation for any purpose and without fee is hereby granted,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncprovided that the above copyright notice appear in all copies and that
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncboth that copyright notice and this permission notice appear in
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncsupporting documentation, and that the name of Digital not be
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncused in advertising or publicity pertaining to distribution of the
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncsoftware without specific, written prior permission.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncDIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncDIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncWHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncSOFTWARE.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync******************************************************************/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* $XFree86: xc/programs/Xserver/include/dixfont.h,v 3.7 2001/02/02 21:39:02 herrb Exp $ */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#ifndef DIXFONT_H
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define DIXFONT_H 1
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#include "dix.h"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#include <X11/fonts/font.h>
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#include "closure.h"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#include <X11/fonts/fontstruct.h>
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define NullDIXFontProp ((DIXFontPropPtr)0)
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef struct _DIXFontProp *DIXFontPropPtr;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern FPEFunctions *fpe_functions;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int FontToXError(int /*err*/);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern Bool SetDefaultFont(char * /*defaultfontname*/);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void QueueFontWakeup(FontPathElementPtr /*fpe*/);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void RemoveFontWakeup(FontPathElementPtr /*fpe*/);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void FontWakeup(pointer /*data*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*count*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync pointer /*LastSelectMask*/);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int OpenFont(ClientPtr /*client*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync XID /*fid*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync Mask /*flags*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned /*lenfname*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync char * /*pfontname*/);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int CloseFont(pointer /*pfont*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync XID /*fid*/);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctypedef struct _xQueryFontReply *xQueryFontReplyPtr;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void QueryFont(FontPtr /*pFont*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync xQueryFontReplyPtr /*pReply*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*nProtoCCIStructs*/);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int ListFonts(ClientPtr /*client*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned char * /*pattern*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned int /*length*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned int /*max_names*/);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncint
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncdoListFontsWithInfo(ClientPtr /*client*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync LFWIclosurePtr /*c*/);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int doPolyText(ClientPtr /*client*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync PTclosurePtr /*c*/
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int PolyText(ClientPtr /*client*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDraw*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr /*pGC*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned char * /*pElt*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned char * /*endReq*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*xorg*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*yorg*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*reqType*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync XID /*did*/);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int doImageText(ClientPtr /*client*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync ITclosurePtr /*c*/);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int ImageText(ClientPtr /*client*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync DrawablePtr /*pDraw*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync GCPtr /*pGC*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*nChars*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned char * /*data*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*xorg*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*yorg*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*reqType*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync XID /*did*/);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int SetFontPath(ClientPtr /*client*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*npaths*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned char * /*paths*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int * /*error*/);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int SetDefaultFontPath(char * /*path*/);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern unsigned char *GetFontPath(int * /*count*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int * /*length*/);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern int LoadGlyphs(ClientPtr /*client*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FontPtr /*pfont*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned /*nchars*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync int /*item_size*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned char * /*data*/);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void DeleteClientFontStuff(ClientPtr /*client*/);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync/* Quartz support on Mac OS X pulls in the QuickDraw
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync framework whose InitFonts function conflicts here. */
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#ifdef __DARWIN__
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#define InitFonts Darwin_X_InitFonts
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void InitFonts(void);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void FreeFonts(void);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern FontPtr find_old_font(XID /*id*/);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void GetGlyphs(FontPtr /*font*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned long /*count*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned char * /*chars*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync FontEncoding /*fontEncoding*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned long * /*glyphcount*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync CharInfoPtr * /*glyphs*/);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void QueryGlyphExtents(FontPtr /*pFont*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync CharInfoPtr * /*charinfo*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned long /*count*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync ExtentInfoPtr /*info*/);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern Bool QueryTextExtents(FontPtr /*pFont*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned long /*count*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync unsigned char * /*chars*/,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync ExtentInfoPtr /*info*/);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern Bool ParseGlyphCachingMode(char * /*str*/);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void InitGlyphCaching(void);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncextern void SetGlyphCachingMode(int /*newmode*/);
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#endif /* DIXFONT_H */