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