dixfont.h revision 4642e01f
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 Bool SetDefaultFont(char * /*defaultfontname*/); 37 38extern void QueueFontWakeup(FontPathElementPtr /*fpe*/); 39 40extern void RemoveFontWakeup(FontPathElementPtr /*fpe*/); 41 42extern void FontWakeup(pointer /*data*/, 43 int /*count*/, 44 pointer /*LastSelectMask*/); 45 46extern int OpenFont(ClientPtr /*client*/, 47 XID /*fid*/, 48 Mask /*flags*/, 49 unsigned /*lenfname*/, 50 char * /*pfontname*/); 51 52extern int CloseFont(pointer /*pfont*/, 53 XID /*fid*/); 54 55typedef struct _xQueryFontReply *xQueryFontReplyPtr; 56 57extern void QueryFont(FontPtr /*pFont*/, 58 xQueryFontReplyPtr /*pReply*/, 59 int /*nProtoCCIStructs*/); 60 61extern int ListFonts(ClientPtr /*client*/, 62 unsigned char * /*pattern*/, 63 unsigned int /*length*/, 64 unsigned int /*max_names*/); 65 66int 67doListFontsWithInfo(ClientPtr /*client*/, 68 LFWIclosurePtr /*c*/); 69 70extern int doPolyText(ClientPtr /*client*/, 71 PTclosurePtr /*c*/ 72); 73 74extern 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 int doImageText(ClientPtr /*client*/, 85 ITclosurePtr /*c*/); 86 87extern 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 int SetFontPath(ClientPtr /*client*/, 98 int /*npaths*/, 99 unsigned char * /*paths*/, 100 int * /*error*/); 101 102extern int SetDefaultFontPath(char * /*path*/); 103 104extern int GetFontPath(ClientPtr client, 105 int *count, 106 int *length, 107 unsigned char **result); 108 109extern void DeleteClientFontStuff(ClientPtr /*client*/); 110 111/* Quartz support on Mac OS X pulls in the QuickDraw 112 framework whose InitFonts function conflicts here. */ 113#ifdef __APPLE__ 114#define InitFonts Darwin_X_InitFonts 115#endif 116extern void InitFonts(void); 117 118extern void FreeFonts(void); 119 120extern FontPtr find_old_font(XID /*id*/); 121 122extern void GetGlyphs(FontPtr /*font*/, 123 unsigned long /*count*/, 124 unsigned char * /*chars*/, 125 FontEncoding /*fontEncoding*/, 126 unsigned long * /*glyphcount*/, 127 CharInfoPtr * /*glyphs*/); 128 129extern void QueryGlyphExtents(FontPtr /*pFont*/, 130 CharInfoPtr * /*charinfo*/, 131 unsigned long /*count*/, 132 ExtentInfoPtr /*info*/); 133 134extern Bool QueryTextExtents(FontPtr /*pFont*/, 135 unsigned long /*count*/, 136 unsigned char * /*chars*/, 137 ExtentInfoPtr /*info*/); 138 139extern Bool ParseGlyphCachingMode(char * /*str*/); 140 141extern void InitGlyphCaching(void); 142 143extern void SetGlyphCachingMode(int /*newmode*/); 144 145/* 146 * libXfont/src/builtins/builtin.h 147 */ 148extern void BuiltinRegisterFpeFunctions(void); 149 150/* 151 * libXfont stubs. 152 */ 153extern int client_auth_generation(ClientPtr client); 154 155extern void DeleteFontClientID(Font id); 156 157extern FontResolutionPtr GetClientResolutions(int *num); 158 159extern int GetDefaultPointSize(void); 160 161extern Font GetNewFontClientID(void); 162 163extern int init_fs_handlers(FontPathElementPtr fpe, 164 BlockHandlerProcPtr block_handler); 165 166extern int RegisterFPEFunctions(NameCheckFunc name_func, 167 InitFpeFunc init_func, 168 FreeFpeFunc free_func, 169 ResetFpeFunc reset_func, 170 OpenFontFunc open_func, 171 CloseFontFunc close_func, 172 ListFontsFunc list_func, 173 StartLfwiFunc start_lfwi_func, 174 NextLfwiFunc next_lfwi_func, 175 WakeupFpeFunc wakeup_func, 176 ClientDiedFunc client_died, 177 LoadGlyphsFunc load_glyphs, 178 StartLaFunc start_list_alias_func, 179 NextLaFunc next_list_alias_func, 180 SetPathFunc set_path_func); 181 182extern void remove_fs_handlers(FontPathElementPtr fpe, 183 BlockHandlerProcPtr blockHandler, 184 Bool all); 185 186extern int StoreFontClientFont(FontPtr pfont, Font id); 187 188#endif /* DIXFONT_H */ 189