Xft.h revision c76ae52d
1c76ae52dSmrg/*
2c76ae52dSmrg * $Id: Xft.h,v 1.1.1.1 2008/07/30 02:49:11 mrg Exp $
3c76ae52dSmrg *
4c76ae52dSmrg * Copyright © 2000 Keith Packard
5c76ae52dSmrg *
6c76ae52dSmrg * Permission to use, copy, modify, distribute, and sell this software and its
7c76ae52dSmrg * documentation for any purpose is hereby granted without fee, provided that
8c76ae52dSmrg * the above copyright notice appear in all copies and that both that
9c76ae52dSmrg * copyright notice and this permission notice appear in supporting
10c76ae52dSmrg * documentation, and that the name of Keith Packard not be used in
11c76ae52dSmrg * advertising or publicity pertaining to distribution of the software without
12c76ae52dSmrg * specific, written prior permission.  Keith Packard makes no
13c76ae52dSmrg * representations about the suitability of this software for any purpose.  It
14c76ae52dSmrg * is provided "as is" without express or implied warranty.
15c76ae52dSmrg *
16c76ae52dSmrg * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
17c76ae52dSmrg * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
18c76ae52dSmrg * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
19c76ae52dSmrg * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
20c76ae52dSmrg * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
21c76ae52dSmrg * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
22c76ae52dSmrg * PERFORMANCE OF THIS SOFTWARE.
23c76ae52dSmrg */
24c76ae52dSmrg
25c76ae52dSmrg#ifndef _XFT_H_
26c76ae52dSmrg#define _XFT_H_
27c76ae52dSmrg
28c76ae52dSmrg/*
29c76ae52dSmrg  * Current Xft version number.  This same number
30c76ae52dSmrg  * must appear in the Xft configure.ac file. Yes,
31c76ae52dSmrg  * it'a a pain to synchronize version numbers like this.
32c76ae52dSmrg  */
33c76ae52dSmrg
34c76ae52dSmrg#define XFT_MAJOR	2
35c76ae52dSmrg#define XFT_MINOR	1
36c76ae52dSmrg#define XFT_REVISION	12
37c76ae52dSmrg#define XFT_VERSION	((XFT_MAJOR * 10000) + (XFT_MINOR * 100) + (XFT_REVISION))
38c76ae52dSmrg#define XftVersion	XFT_VERSION
39c76ae52dSmrg
40c76ae52dSmrg#include <stdarg.h>
41c76ae52dSmrg#include <ft2build.h>
42c76ae52dSmrg#include FT_FREETYPE_H
43c76ae52dSmrg#include <fontconfig/fontconfig.h>
44c76ae52dSmrg#include <X11/extensions/Xrender.h>
45c76ae52dSmrg
46c76ae52dSmrg#include <X11/Xfuncproto.h>
47c76ae52dSmrg/* #include <X11/Xosdefs.h>*/
48c76ae52dSmrg#ifndef _X_SENTINEL
49c76ae52dSmrg# define _X_SENTINEL(x)
50c76ae52dSmrg#endif
51c76ae52dSmrg
52c76ae52dSmrg#ifndef _XFT_NO_COMPAT_
53c76ae52dSmrg#include <X11/Xft/XftCompat.h>
54c76ae52dSmrg#endif
55c76ae52dSmrg
56c76ae52dSmrg#define XFT_CORE		"core"
57c76ae52dSmrg#define XFT_RENDER		"render"
58c76ae52dSmrg#define XFT_XLFD		"xlfd"
59c76ae52dSmrg#define XFT_MAX_GLYPH_MEMORY	"maxglyphmemory"
60c76ae52dSmrg#define XFT_MAX_UNREF_FONTS	"maxunreffonts"
61c76ae52dSmrg
62c76ae52dSmrgextern FT_Library	_XftFTlibrary;
63c76ae52dSmrg
64c76ae52dSmrgtypedef struct _XftFontInfo XftFontInfo;
65c76ae52dSmrg
66c76ae52dSmrgtypedef struct _XftFont {
67c76ae52dSmrg    int		ascent;
68c76ae52dSmrg    int		descent;
69c76ae52dSmrg    int		height;
70c76ae52dSmrg    int		max_advance_width;
71c76ae52dSmrg    FcCharSet	*charset;
72c76ae52dSmrg    FcPattern	*pattern;
73c76ae52dSmrg} XftFont;
74c76ae52dSmrg
75c76ae52dSmrgtypedef struct _XftDraw XftDraw;
76c76ae52dSmrg
77c76ae52dSmrgtypedef struct _XftColor {
78c76ae52dSmrg    unsigned long   pixel;
79c76ae52dSmrg    XRenderColor    color;
80c76ae52dSmrg} XftColor;
81c76ae52dSmrg
82c76ae52dSmrgtypedef struct _XftCharSpec {
83c76ae52dSmrg    FcChar32	    ucs4;
84c76ae52dSmrg    short	    x;
85c76ae52dSmrg    short	    y;
86c76ae52dSmrg} XftCharSpec;
87c76ae52dSmrg
88c76ae52dSmrgtypedef struct _XftCharFontSpec {
89c76ae52dSmrg    XftFont	    *font;
90c76ae52dSmrg    FcChar32	    ucs4;
91c76ae52dSmrg    short	    x;
92c76ae52dSmrg    short	    y;
93c76ae52dSmrg} XftCharFontSpec;
94c76ae52dSmrg
95c76ae52dSmrgtypedef struct _XftGlyphSpec {
96c76ae52dSmrg    FT_UInt	    glyph;
97c76ae52dSmrg    short	    x;
98c76ae52dSmrg    short	    y;
99c76ae52dSmrg} XftGlyphSpec;
100c76ae52dSmrg
101c76ae52dSmrgtypedef struct _XftGlyphFontSpec {
102c76ae52dSmrg    XftFont	    *font;
103c76ae52dSmrg    FT_UInt	    glyph;
104c76ae52dSmrg    short	    x;
105c76ae52dSmrg    short	    y;
106c76ae52dSmrg} XftGlyphFontSpec;
107c76ae52dSmrg
108c76ae52dSmrg_XFUNCPROTOBEGIN
109c76ae52dSmrg
110c76ae52dSmrg
111c76ae52dSmrg/* xftcolor.c */
112c76ae52dSmrgBool
113c76ae52dSmrgXftColorAllocName (Display  *dpy,
114c76ae52dSmrg		   _Xconst Visual   *visual,
115c76ae52dSmrg		   Colormap cmap,
116c76ae52dSmrg		   _Xconst char	    *name,
117c76ae52dSmrg		   XftColor *result);
118c76ae52dSmrg
119c76ae52dSmrgBool
120c76ae52dSmrgXftColorAllocValue (Display	    *dpy,
121c76ae52dSmrg		    Visual	    *visual,
122c76ae52dSmrg		    Colormap	    cmap,
123c76ae52dSmrg		    _Xconst XRenderColor    *color,
124c76ae52dSmrg		    XftColor	    *result);
125c76ae52dSmrg
126c76ae52dSmrgvoid
127c76ae52dSmrgXftColorFree (Display	*dpy,
128c76ae52dSmrg	      Visual	*visual,
129c76ae52dSmrg	      Colormap	cmap,
130c76ae52dSmrg	      XftColor	*color);
131c76ae52dSmrg
132c76ae52dSmrg
133c76ae52dSmrg/* xftcore.c */
134c76ae52dSmrg
135c76ae52dSmrg/* xftdir.c */
136c76ae52dSmrgFcBool
137c76ae52dSmrgXftDirScan (FcFontSet *set, _Xconst char *dir, FcBool force);
138c76ae52dSmrg
139c76ae52dSmrgFcBool
140c76ae52dSmrgXftDirSave (FcFontSet *set, _Xconst char *dir);
141c76ae52dSmrg
142c76ae52dSmrg/* xftdpy.c */
143c76ae52dSmrgBool
144c76ae52dSmrgXftDefaultHasRender (Display *dpy);
145c76ae52dSmrg
146c76ae52dSmrgBool
147c76ae52dSmrgXftDefaultSet (Display *dpy, FcPattern *defaults);
148c76ae52dSmrg
149c76ae52dSmrgvoid
150c76ae52dSmrgXftDefaultSubstitute (Display *dpy, int screen, FcPattern *pattern);
151c76ae52dSmrg
152c76ae52dSmrg/* xftdraw.c */
153c76ae52dSmrg
154c76ae52dSmrgXftDraw *
155c76ae52dSmrgXftDrawCreate (Display   *dpy,
156c76ae52dSmrg	       Drawable  drawable,
157c76ae52dSmrg	       Visual    *visual,
158c76ae52dSmrg	       Colormap  colormap);
159c76ae52dSmrg
160c76ae52dSmrgXftDraw *
161c76ae52dSmrgXftDrawCreateBitmap (Display  *dpy,
162c76ae52dSmrg		     Pixmap   bitmap);
163c76ae52dSmrg
164c76ae52dSmrgXftDraw *
165c76ae52dSmrgXftDrawCreateAlpha (Display *dpy,
166c76ae52dSmrg		    Pixmap  pixmap,
167c76ae52dSmrg		    int	    depth);
168c76ae52dSmrg
169c76ae52dSmrgvoid
170c76ae52dSmrgXftDrawChange (XftDraw	*draw,
171c76ae52dSmrg	       Drawable	drawable);
172c76ae52dSmrg
173c76ae52dSmrgDisplay *
174c76ae52dSmrgXftDrawDisplay (XftDraw *draw);
175c76ae52dSmrg
176c76ae52dSmrgDrawable
177c76ae52dSmrgXftDrawDrawable (XftDraw *draw);
178c76ae52dSmrg
179c76ae52dSmrgColormap
180c76ae52dSmrgXftDrawColormap (XftDraw *draw);
181c76ae52dSmrg
182c76ae52dSmrgVisual *
183c76ae52dSmrgXftDrawVisual (XftDraw *draw);
184c76ae52dSmrg
185c76ae52dSmrgvoid
186c76ae52dSmrgXftDrawDestroy (XftDraw	*draw);
187c76ae52dSmrg
188c76ae52dSmrgPicture
189c76ae52dSmrgXftDrawPicture (XftDraw *draw);
190c76ae52dSmrg
191c76ae52dSmrgPicture
192c76ae52dSmrgXftDrawSrcPicture (XftDraw *draw, _Xconst XftColor *color);
193c76ae52dSmrg
194c76ae52dSmrgvoid
195c76ae52dSmrgXftDrawGlyphs (XftDraw		*draw,
196c76ae52dSmrg	       _Xconst XftColor	*color,
197c76ae52dSmrg	       XftFont		*pub,
198c76ae52dSmrg	       int		x,
199c76ae52dSmrg	       int		y,
200c76ae52dSmrg	       _Xconst FT_UInt	*glyphs,
201c76ae52dSmrg	       int		nglyphs);
202c76ae52dSmrg
203c76ae52dSmrgvoid
204c76ae52dSmrgXftDrawString8 (XftDraw		    *draw,
205c76ae52dSmrg		_Xconst XftColor    *color,
206c76ae52dSmrg		XftFont		    *pub,
207c76ae52dSmrg		int		    x,
208c76ae52dSmrg		int		    y,
209c76ae52dSmrg		_Xconst FcChar8	    *string,
210c76ae52dSmrg		int		    len);
211c76ae52dSmrg
212c76ae52dSmrgvoid
213c76ae52dSmrgXftDrawString16 (XftDraw	    *draw,
214c76ae52dSmrg		 _Xconst XftColor   *color,
215c76ae52dSmrg		 XftFont	    *pub,
216c76ae52dSmrg		 int		    x,
217c76ae52dSmrg		 int		    y,
218c76ae52dSmrg		 _Xconst FcChar16   *string,
219c76ae52dSmrg		 int		    len);
220c76ae52dSmrg
221c76ae52dSmrgvoid
222c76ae52dSmrgXftDrawString32 (XftDraw	    *draw,
223c76ae52dSmrg		 _Xconst XftColor   *color,
224c76ae52dSmrg		 XftFont	    *pub,
225c76ae52dSmrg		 int		    x,
226c76ae52dSmrg		 int		    y,
227c76ae52dSmrg		 _Xconst FcChar32   *string,
228c76ae52dSmrg		 int		    len);
229c76ae52dSmrg
230c76ae52dSmrgvoid
231c76ae52dSmrgXftDrawStringUtf8 (XftDraw	    *draw,
232c76ae52dSmrg		   _Xconst XftColor *color,
233c76ae52dSmrg		   XftFont	    *pub,
234c76ae52dSmrg		   int		    x,
235c76ae52dSmrg		   int		    y,
236c76ae52dSmrg		   _Xconst FcChar8  *string,
237c76ae52dSmrg		   int		    len);
238c76ae52dSmrg
239c76ae52dSmrgvoid
240c76ae52dSmrgXftDrawStringUtf16 (XftDraw		*draw,
241c76ae52dSmrg		    _Xconst XftColor	*color,
242c76ae52dSmrg		    XftFont		*pub,
243c76ae52dSmrg		    int			x,
244c76ae52dSmrg		    int			y,
245c76ae52dSmrg		    _Xconst FcChar8	*string,
246c76ae52dSmrg		    FcEndian		endian,
247c76ae52dSmrg		    int			len);
248c76ae52dSmrg
249c76ae52dSmrgvoid
250c76ae52dSmrgXftDrawCharSpec (XftDraw		*draw,
251c76ae52dSmrg		 _Xconst XftColor	*color,
252c76ae52dSmrg		 XftFont		*pub,
253c76ae52dSmrg		 _Xconst XftCharSpec	*chars,
254c76ae52dSmrg		 int			len);
255c76ae52dSmrg
256c76ae52dSmrgvoid
257c76ae52dSmrgXftDrawCharFontSpec (XftDraw			*draw,
258c76ae52dSmrg		     _Xconst XftColor		*color,
259c76ae52dSmrg		     _Xconst XftCharFontSpec	*chars,
260c76ae52dSmrg		     int			len);
261c76ae52dSmrg
262c76ae52dSmrgvoid
263c76ae52dSmrgXftDrawGlyphSpec (XftDraw		*draw,
264c76ae52dSmrg		  _Xconst XftColor	*color,
265c76ae52dSmrg		  XftFont		*pub,
266c76ae52dSmrg		  _Xconst XftGlyphSpec	*glyphs,
267c76ae52dSmrg		  int			len);
268c76ae52dSmrg
269c76ae52dSmrgvoid
270c76ae52dSmrgXftDrawGlyphFontSpec (XftDraw			*draw,
271c76ae52dSmrg		      _Xconst XftColor		*color,
272c76ae52dSmrg		      _Xconst XftGlyphFontSpec	*glyphs,
273c76ae52dSmrg		      int			len);
274c76ae52dSmrg
275c76ae52dSmrgvoid
276c76ae52dSmrgXftDrawRect (XftDraw		*draw,
277c76ae52dSmrg	     _Xconst XftColor	*color,
278c76ae52dSmrg	     int		x,
279c76ae52dSmrg	     int		y,
280c76ae52dSmrg	     unsigned int	width,
281c76ae52dSmrg	     unsigned int	height);
282c76ae52dSmrg
283c76ae52dSmrg
284c76ae52dSmrgBool
285c76ae52dSmrgXftDrawSetClip (XftDraw	    *draw,
286c76ae52dSmrg		Region	    r);
287c76ae52dSmrg
288c76ae52dSmrg
289c76ae52dSmrgBool
290c76ae52dSmrgXftDrawSetClipRectangles (XftDraw		*draw,
291c76ae52dSmrg			  int			xOrigin,
292c76ae52dSmrg			  int			yOrigin,
293c76ae52dSmrg			  _Xconst XRectangle	*rects,
294c76ae52dSmrg			  int			n);
295c76ae52dSmrg
296c76ae52dSmrgvoid
297c76ae52dSmrgXftDrawSetSubwindowMode (XftDraw    *draw,
298c76ae52dSmrg			 int	    mode);
299c76ae52dSmrg
300c76ae52dSmrg/* xftextent.c */
301c76ae52dSmrg
302c76ae52dSmrgvoid
303c76ae52dSmrgXftGlyphExtents (Display	    *dpy,
304c76ae52dSmrg		 XftFont	    *pub,
305c76ae52dSmrg		 _Xconst FT_UInt    *glyphs,
306c76ae52dSmrg		 int		    nglyphs,
307c76ae52dSmrg		 XGlyphInfo	    *extents);
308c76ae52dSmrg
309c76ae52dSmrgvoid
310c76ae52dSmrgXftTextExtents8 (Display	    *dpy,
311c76ae52dSmrg		 XftFont	    *pub,
312c76ae52dSmrg		 _Xconst FcChar8    *string,
313c76ae52dSmrg		 int		    len,
314c76ae52dSmrg		 XGlyphInfo	    *extents);
315c76ae52dSmrg
316c76ae52dSmrgvoid
317c76ae52dSmrgXftTextExtents16 (Display	    *dpy,
318c76ae52dSmrg		  XftFont	    *pub,
319c76ae52dSmrg		  _Xconst FcChar16  *string,
320c76ae52dSmrg		  int		    len,
321c76ae52dSmrg		  XGlyphInfo	    *extents);
322c76ae52dSmrg
323c76ae52dSmrgvoid
324c76ae52dSmrgXftTextExtents32 (Display	    *dpy,
325c76ae52dSmrg		  XftFont	    *pub,
326c76ae52dSmrg		  _Xconst FcChar32  *string,
327c76ae52dSmrg		  int		    len,
328c76ae52dSmrg		  XGlyphInfo	    *extents);
329c76ae52dSmrg
330c76ae52dSmrgvoid
331c76ae52dSmrgXftTextExtentsUtf8 (Display	    *dpy,
332c76ae52dSmrg		    XftFont	    *pub,
333c76ae52dSmrg		    _Xconst FcChar8 *string,
334c76ae52dSmrg		    int		    len,
335c76ae52dSmrg		    XGlyphInfo	    *extents);
336c76ae52dSmrg
337c76ae52dSmrgvoid
338c76ae52dSmrgXftTextExtentsUtf16 (Display		*dpy,
339c76ae52dSmrg		     XftFont		*pub,
340c76ae52dSmrg		     _Xconst FcChar8	*string,
341c76ae52dSmrg		     FcEndian		endian,
342c76ae52dSmrg		     int		len,
343c76ae52dSmrg		     XGlyphInfo		*extents);
344c76ae52dSmrg
345c76ae52dSmrg/* xftfont.c */
346c76ae52dSmrgFcPattern *
347c76ae52dSmrgXftFontMatch (Display		*dpy,
348c76ae52dSmrg	      int		screen,
349c76ae52dSmrg	      _Xconst FcPattern *pattern,
350c76ae52dSmrg	      FcResult		*result);
351c76ae52dSmrg
352c76ae52dSmrgXftFont *
353c76ae52dSmrgXftFontOpen (Display *dpy, int screen, ...) _X_SENTINEL(0);
354c76ae52dSmrg
355c76ae52dSmrgXftFont *
356c76ae52dSmrgXftFontOpenName (Display *dpy, int screen, _Xconst char *name);
357c76ae52dSmrg
358c76ae52dSmrgXftFont *
359c76ae52dSmrgXftFontOpenXlfd (Display *dpy, int screen, _Xconst char *xlfd);
360c76ae52dSmrg
361c76ae52dSmrg/* xftfreetype.c */
362c76ae52dSmrg
363c76ae52dSmrgFT_Face
364c76ae52dSmrgXftLockFace (XftFont *pub);
365c76ae52dSmrg
366c76ae52dSmrgvoid
367c76ae52dSmrgXftUnlockFace (XftFont *pub);
368c76ae52dSmrg
369c76ae52dSmrgXftFontInfo *
370c76ae52dSmrgXftFontInfoCreate (Display *dpy, _Xconst FcPattern *pattern);
371c76ae52dSmrg
372c76ae52dSmrgvoid
373c76ae52dSmrgXftFontInfoDestroy (Display *dpy, XftFontInfo *fi);
374c76ae52dSmrg
375c76ae52dSmrgFcChar32
376c76ae52dSmrgXftFontInfoHash (_Xconst XftFontInfo *fi);
377c76ae52dSmrg
378c76ae52dSmrgFcBool
379c76ae52dSmrgXftFontInfoEqual (_Xconst XftFontInfo *a, _Xconst XftFontInfo *b);
380c76ae52dSmrg
381c76ae52dSmrgXftFont *
382c76ae52dSmrgXftFontOpenInfo (Display	*dpy,
383c76ae52dSmrg		 FcPattern	*pattern,
384c76ae52dSmrg		 XftFontInfo	*fi);
385c76ae52dSmrg
386c76ae52dSmrgXftFont *
387c76ae52dSmrgXftFontOpenPattern (Display *dpy, FcPattern *pattern);
388c76ae52dSmrg
389c76ae52dSmrgXftFont *
390c76ae52dSmrgXftFontCopy (Display *dpy, XftFont *pub);
391c76ae52dSmrg
392c76ae52dSmrgvoid
393c76ae52dSmrgXftFontClose (Display *dpy, XftFont *pub);
394c76ae52dSmrg
395c76ae52dSmrgFcBool
396c76ae52dSmrgXftInitFtLibrary(void);
397c76ae52dSmrg
398c76ae52dSmrg/* xftglyphs.c */
399c76ae52dSmrgvoid
400c76ae52dSmrgXftFontLoadGlyphs (Display	    *dpy,
401c76ae52dSmrg		   XftFont	    *pub,
402c76ae52dSmrg		   FcBool	    need_bitmaps,
403c76ae52dSmrg		   _Xconst FT_UInt  *glyphs,
404c76ae52dSmrg		   int		    nglyph);
405c76ae52dSmrg
406c76ae52dSmrgvoid
407c76ae52dSmrgXftFontUnloadGlyphs (Display		*dpy,
408c76ae52dSmrg		     XftFont		*pub,
409c76ae52dSmrg		     _Xconst FT_UInt	*glyphs,
410c76ae52dSmrg		     int		nglyph);
411c76ae52dSmrg
412c76ae52dSmrg#define XFT_NMISSING		256
413c76ae52dSmrg
414c76ae52dSmrgFcBool
415c76ae52dSmrgXftFontCheckGlyph (Display  *dpy,
416c76ae52dSmrg		   XftFont  *pub,
417c76ae52dSmrg		   FcBool   need_bitmaps,
418c76ae52dSmrg		   FT_UInt  glyph,
419c76ae52dSmrg		   FT_UInt  *missing,
420c76ae52dSmrg		   int	    *nmissing);
421c76ae52dSmrg
422c76ae52dSmrgFcBool
423c76ae52dSmrgXftCharExists (Display	    *dpy,
424c76ae52dSmrg	       XftFont	    *pub,
425c76ae52dSmrg	       FcChar32    ucs4);
426c76ae52dSmrg
427c76ae52dSmrgFT_UInt
428c76ae52dSmrgXftCharIndex (Display	    *dpy,
429c76ae52dSmrg	      XftFont	    *pub,
430c76ae52dSmrg	      FcChar32	    ucs4);
431c76ae52dSmrg
432c76ae52dSmrg/* xftinit.c */
433c76ae52dSmrgFcBool
434c76ae52dSmrgXftInit (_Xconst char *config);
435c76ae52dSmrg
436c76ae52dSmrgint
437c76ae52dSmrgXftGetVersion (void);
438c76ae52dSmrg
439c76ae52dSmrg/* xftlist.c */
440c76ae52dSmrg
441c76ae52dSmrgFcFontSet *
442c76ae52dSmrgXftListFonts (Display	*dpy,
443c76ae52dSmrg	      int	screen,
444c76ae52dSmrg	      ...) _X_SENTINEL(0);
445c76ae52dSmrg
446c76ae52dSmrg/* xftname.c */
447c76ae52dSmrgFcPattern
448c76ae52dSmrg*XftNameParse (_Xconst char *name);
449c76ae52dSmrg
450c76ae52dSmrg/* xftrender.c */
451c76ae52dSmrgvoid
452c76ae52dSmrgXftGlyphRender (Display		*dpy,
453c76ae52dSmrg		int		op,
454c76ae52dSmrg		Picture		src,
455c76ae52dSmrg		XftFont		*pub,
456c76ae52dSmrg		Picture		dst,
457c76ae52dSmrg		int		srcx,
458c76ae52dSmrg		int		srcy,
459c76ae52dSmrg		int		x,
460c76ae52dSmrg		int		y,
461c76ae52dSmrg		_Xconst FT_UInt	*glyphs,
462c76ae52dSmrg		int		nglyphs);
463c76ae52dSmrg
464c76ae52dSmrgvoid
465c76ae52dSmrgXftGlyphSpecRender (Display		    *dpy,
466c76ae52dSmrg		    int			    op,
467c76ae52dSmrg		    Picture		    src,
468c76ae52dSmrg		    XftFont		    *pub,
469c76ae52dSmrg		    Picture		    dst,
470c76ae52dSmrg		    int			    srcx,
471c76ae52dSmrg		    int			    srcy,
472c76ae52dSmrg		    _Xconst XftGlyphSpec    *glyphs,
473c76ae52dSmrg		    int			    nglyphs);
474c76ae52dSmrg
475c76ae52dSmrgvoid
476c76ae52dSmrgXftCharSpecRender (Display		*dpy,
477c76ae52dSmrg		   int			op,
478c76ae52dSmrg		   Picture		src,
479c76ae52dSmrg		   XftFont		*pub,
480c76ae52dSmrg		   Picture		dst,
481c76ae52dSmrg		   int			srcx,
482c76ae52dSmrg		   int			srcy,
483c76ae52dSmrg		   _Xconst XftCharSpec	*chars,
484c76ae52dSmrg		   int			len);
485c76ae52dSmrg
486c76ae52dSmrgvoid
487c76ae52dSmrgXftGlyphFontSpecRender (Display			    *dpy,
488c76ae52dSmrg			int			    op,
489c76ae52dSmrg			Picture			    src,
490c76ae52dSmrg			Picture			    dst,
491c76ae52dSmrg			int			    srcx,
492c76ae52dSmrg			int			    srcy,
493c76ae52dSmrg			_Xconst XftGlyphFontSpec    *glyphs,
494c76ae52dSmrg			int			    nglyphs);
495c76ae52dSmrg
496c76ae52dSmrgvoid
497c76ae52dSmrgXftCharFontSpecRender (Display			*dpy,
498c76ae52dSmrg		       int			op,
499c76ae52dSmrg		       Picture			src,
500c76ae52dSmrg		       Picture			dst,
501c76ae52dSmrg		       int			srcx,
502c76ae52dSmrg		       int			srcy,
503c76ae52dSmrg		       _Xconst XftCharFontSpec	*chars,
504c76ae52dSmrg		       int			len);
505c76ae52dSmrg
506c76ae52dSmrgvoid
507c76ae52dSmrgXftTextRender8 (Display		*dpy,
508c76ae52dSmrg		int		op,
509c76ae52dSmrg		Picture		src,
510c76ae52dSmrg		XftFont		*pub,
511c76ae52dSmrg		Picture		dst,
512c76ae52dSmrg		int		srcx,
513c76ae52dSmrg		int		srcy,
514c76ae52dSmrg		int		x,
515c76ae52dSmrg		int		y,
516c76ae52dSmrg		_Xconst FcChar8	*string,
517c76ae52dSmrg		int		len);
518c76ae52dSmrg
519c76ae52dSmrgvoid
520c76ae52dSmrgXftTextRender16 (Display	    *dpy,
521c76ae52dSmrg		 int		    op,
522c76ae52dSmrg		 Picture	    src,
523c76ae52dSmrg		 XftFont	    *pub,
524c76ae52dSmrg		 Picture	    dst,
525c76ae52dSmrg		 int		    srcx,
526c76ae52dSmrg		 int		    srcy,
527c76ae52dSmrg		 int		    x,
528c76ae52dSmrg		 int		    y,
529c76ae52dSmrg		 _Xconst FcChar16   *string,
530c76ae52dSmrg		 int		    len);
531c76ae52dSmrg
532c76ae52dSmrgvoid
533c76ae52dSmrgXftTextRender16BE (Display	    *dpy,
534c76ae52dSmrg		   int		    op,
535c76ae52dSmrg		   Picture	    src,
536c76ae52dSmrg		   XftFont	    *pub,
537c76ae52dSmrg		   Picture	    dst,
538c76ae52dSmrg		   int		    srcx,
539c76ae52dSmrg		   int		    srcy,
540c76ae52dSmrg		   int		    x,
541c76ae52dSmrg		   int		    y,
542c76ae52dSmrg		   _Xconst FcChar8  *string,
543c76ae52dSmrg		   int		    len);
544c76ae52dSmrg
545c76ae52dSmrgvoid
546c76ae52dSmrgXftTextRender16LE (Display	    *dpy,
547c76ae52dSmrg		   int		    op,
548c76ae52dSmrg		   Picture	    src,
549c76ae52dSmrg		   XftFont	    *pub,
550c76ae52dSmrg		   Picture	    dst,
551c76ae52dSmrg		   int		    srcx,
552c76ae52dSmrg		   int		    srcy,
553c76ae52dSmrg		   int		    x,
554c76ae52dSmrg		   int		    y,
555c76ae52dSmrg		   _Xconst FcChar8  *string,
556c76ae52dSmrg		   int		    len);
557c76ae52dSmrg
558c76ae52dSmrgvoid
559c76ae52dSmrgXftTextRender32 (Display	    *dpy,
560c76ae52dSmrg		 int		    op,
561c76ae52dSmrg		 Picture	    src,
562c76ae52dSmrg		 XftFont	    *pub,
563c76ae52dSmrg		 Picture	    dst,
564c76ae52dSmrg		 int		    srcx,
565c76ae52dSmrg		 int		    srcy,
566c76ae52dSmrg		 int		    x,
567c76ae52dSmrg		 int		    y,
568c76ae52dSmrg		 _Xconst FcChar32   *string,
569c76ae52dSmrg		 int		    len);
570c76ae52dSmrg
571c76ae52dSmrgvoid
572c76ae52dSmrgXftTextRender32BE (Display	    *dpy,
573c76ae52dSmrg		   int		    op,
574c76ae52dSmrg		   Picture	    src,
575c76ae52dSmrg		   XftFont	    *pub,
576c76ae52dSmrg		   Picture	    dst,
577c76ae52dSmrg		   int		    srcx,
578c76ae52dSmrg		   int		    srcy,
579c76ae52dSmrg		   int		    x,
580c76ae52dSmrg		   int		    y,
581c76ae52dSmrg		   _Xconst FcChar8  *string,
582c76ae52dSmrg		   int		    len);
583c76ae52dSmrg
584c76ae52dSmrgvoid
585c76ae52dSmrgXftTextRender32LE (Display	    *dpy,
586c76ae52dSmrg		   int		    op,
587c76ae52dSmrg		   Picture	    src,
588c76ae52dSmrg		   XftFont	    *pub,
589c76ae52dSmrg		   Picture	    dst,
590c76ae52dSmrg		   int		    srcx,
591c76ae52dSmrg		   int		    srcy,
592c76ae52dSmrg		   int		    x,
593c76ae52dSmrg		   int		    y,
594c76ae52dSmrg		   _Xconst FcChar8  *string,
595c76ae52dSmrg		   int		    len);
596c76ae52dSmrg
597c76ae52dSmrgvoid
598c76ae52dSmrgXftTextRenderUtf8 (Display	    *dpy,
599c76ae52dSmrg		   int		    op,
600c76ae52dSmrg		   Picture	    src,
601c76ae52dSmrg		   XftFont	    *pub,
602c76ae52dSmrg		   Picture	    dst,
603c76ae52dSmrg		   int		    srcx,
604c76ae52dSmrg		   int		    srcy,
605c76ae52dSmrg		   int		    x,
606c76ae52dSmrg		   int		    y,
607c76ae52dSmrg		   _Xconst FcChar8  *string,
608c76ae52dSmrg		   int		    len);
609c76ae52dSmrg
610c76ae52dSmrgvoid
611c76ae52dSmrgXftTextRenderUtf16 (Display	    *dpy,
612c76ae52dSmrg		    int		    op,
613c76ae52dSmrg		    Picture	    src,
614c76ae52dSmrg		    XftFont	    *pub,
615c76ae52dSmrg		    Picture	    dst,
616c76ae52dSmrg		    int		    srcx,
617c76ae52dSmrg		    int		    srcy,
618c76ae52dSmrg		    int		    x,
619c76ae52dSmrg		    int		    y,
620c76ae52dSmrg		    _Xconst FcChar8 *string,
621c76ae52dSmrg		    FcEndian	    endian,
622c76ae52dSmrg		    int		    len);
623c76ae52dSmrg
624c76ae52dSmrg/* xftstr.c */
625c76ae52dSmrg
626c76ae52dSmrg/* xftxlfd.c */
627c76ae52dSmrgFcPattern *
628c76ae52dSmrgXftXlfdParse (_Xconst char *xlfd_orig, Bool ignore_scalable, Bool complete);
629c76ae52dSmrg
630c76ae52dSmrg_XFUNCPROTOEND
631c76ae52dSmrg
632c76ae52dSmrg#endif /* _XFT_H_ */
633