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