1/*********************************************************** 2Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. 3 4 All Rights Reserved 5 6Permission to use, copy, modify, and distribute this software and its 7documentation for any purpose and without fee is hereby granted, 8provided that the above copyright notice appear in all copies and that 9both that copyright notice and this permission notice appear in 10supporting documentation, and that the name of Digital not be 11used in advertising or publicity pertaining to distribution of the 12software without specific, written prior permission. 13 14DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 15ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 16DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 17ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 18WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 19ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 20SOFTWARE. 21 22******************************************************************/ 23 24#ifndef DIXFONT_H 25#define DIXFONT_H 1 26 27#include "dix.h" 28#include <X11/fonts/font.h> 29#include "closure.h" 30#include <X11/fonts/fontstruct.h> 31 32#define NullDIXFontProp ((DIXFontPropPtr)0) 33 34typedef struct _DIXFontProp *DIXFontPropPtr; 35 36extern _X_EXPORT Bool SetDefaultFont(char * /*defaultfontname*/); 37 38extern _X_EXPORT void QueueFontWakeup(FontPathElementPtr /*fpe*/); 39 40extern _X_EXPORT void RemoveFontWakeup(FontPathElementPtr /*fpe*/); 41 42extern _X_EXPORT void FontWakeup(pointer /*data*/, 43 int /*count*/, 44 pointer /*LastSelectMask*/); 45 46extern _X_EXPORT int OpenFont(ClientPtr /*client*/, 47 XID /*fid*/, 48 Mask /*flags*/, 49 unsigned /*lenfname*/, 50 char * /*pfontname*/); 51 52extern _X_EXPORT int CloseFont(pointer /*pfont*/, 53 XID /*fid*/); 54 55typedef struct _xQueryFontReply *xQueryFontReplyPtr; 56 57extern _X_EXPORT void QueryFont(FontPtr /*pFont*/, 58 xQueryFontReplyPtr /*pReply*/, 59 int /*nProtoCCIStructs*/); 60 61extern _X_EXPORT int ListFonts(ClientPtr /*client*/, 62 unsigned char * /*pattern*/, 63 unsigned int /*length*/, 64 unsigned int /*max_names*/); 65 66extern _X_EXPORT int 67doListFontsWithInfo(ClientPtr /*client*/, 68 LFWIclosurePtr /*c*/); 69 70extern _X_EXPORT int doPolyText(ClientPtr /*client*/, 71 PTclosurePtr /*c*/ 72); 73 74extern _X_EXPORT int PolyText(ClientPtr /*client*/, 75 DrawablePtr /*pDraw*/, 76 GCPtr /*pGC*/, 77 unsigned char * /*pElt*/, 78 unsigned char * /*endReq*/, 79 int /*xorg*/, 80 int /*yorg*/, 81 int /*reqType*/, 82 XID /*did*/); 83 84extern _X_EXPORT int doImageText(ClientPtr /*client*/, 85 ITclosurePtr /*c*/); 86 87extern _X_EXPORT int ImageText(ClientPtr /*client*/, 88 DrawablePtr /*pDraw*/, 89 GCPtr /*pGC*/, 90 int /*nChars*/, 91 unsigned char * /*data*/, 92 int /*xorg*/, 93 int /*yorg*/, 94 int /*reqType*/, 95 XID /*did*/); 96 97extern _X_EXPORT int SetFontPath(ClientPtr /*client*/, 98 int /*npaths*/, 99 unsigned char * /*paths*/); 100 101extern _X_EXPORT int SetDefaultFontPath(char * /*path*/); 102 103extern _X_EXPORT int GetFontPath(ClientPtr client, 104 int *count, 105 int *length, 106 unsigned char **result); 107 108extern _X_EXPORT void DeleteClientFontStuff(ClientPtr /*client*/); 109 110/* Quartz support on Mac OS X pulls in the QuickDraw 111 framework whose InitFonts function conflicts here. */ 112#ifdef __APPLE__ 113#define InitFonts Darwin_X_InitFonts 114#endif 115extern _X_EXPORT void InitFonts(void); 116 117extern _X_EXPORT void FreeFonts(void); 118 119extern _X_EXPORT FontPtr find_old_font(XID /*id*/); 120 121extern _X_EXPORT void GetGlyphs(FontPtr /*font*/, 122 unsigned long /*count*/, 123 unsigned char * /*chars*/, 124 FontEncoding /*fontEncoding*/, 125 unsigned long * /*glyphcount*/, 126 CharInfoPtr * /*glyphs*/); 127 128extern _X_EXPORT void QueryGlyphExtents(FontPtr /*pFont*/, 129 CharInfoPtr * /*charinfo*/, 130 unsigned long /*count*/, 131 ExtentInfoPtr /*info*/); 132 133extern _X_EXPORT Bool QueryTextExtents(FontPtr /*pFont*/, 134 unsigned long /*count*/, 135 unsigned char * /*chars*/, 136 ExtentInfoPtr /*info*/); 137 138extern _X_EXPORT Bool ParseGlyphCachingMode(char * /*str*/); 139 140extern _X_EXPORT void InitGlyphCaching(void); 141 142extern _X_EXPORT void SetGlyphCachingMode(int /*newmode*/); 143 144extern _X_EXPORT void register_fpe_functions(void); 145 146/* 147 * libXfont stubs. 148 */ 149extern _X_EXPORT int client_auth_generation(ClientPtr client); 150 151extern _X_EXPORT void DeleteFontClientID(Font id); 152 153extern _X_EXPORT int GetDefaultPointSize(void); 154 155extern _X_EXPORT Font GetNewFontClientID(void); 156 157extern _X_EXPORT int init_fs_handlers(FontPathElementPtr fpe, 158 BlockHandlerProcPtr block_handler); 159 160extern _X_EXPORT int RegisterFPEFunctions(NameCheckFunc name_func, 161 InitFpeFunc init_func, 162 FreeFpeFunc free_func, 163 ResetFpeFunc reset_func, 164 OpenFontFunc open_func, 165 CloseFontFunc close_func, 166 ListFontsFunc list_func, 167 StartLfwiFunc start_lfwi_func, 168 NextLfwiFunc next_lfwi_func, 169 WakeupFpeFunc wakeup_func, 170 ClientDiedFunc client_died, 171 LoadGlyphsFunc load_glyphs, 172 StartLaFunc start_list_alias_func, 173 NextLaFunc next_list_alias_func, 174 SetPathFunc set_path_func); 175 176extern _X_EXPORT void remove_fs_handlers(FontPathElementPtr fpe, 177 BlockHandlerProcPtr blockHandler, 178 Bool all); 179 180extern _X_EXPORT int StoreFontClientFont(FontPtr pfont, Font id); 181 182#endif /* DIXFONT_H */ 183