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
34de301c82Smrg#define XFT_REVISION 9
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
47c76ae52dSmrg#ifndef _XFT_NO_COMPAT_
48c76ae52dSmrg#include <X11/Xft/XftCompat.h>
49c76ae52dSmrg#endif
50c76ae52dSmrg
51c76ae52dSmrg#define XFT_CORE		"core"
52c76ae52dSmrg#define XFT_RENDER		"render"
53c76ae52dSmrg#define XFT_XLFD		"xlfd"
54c76ae52dSmrg#define XFT_MAX_GLYPH_MEMORY	"maxglyphmemory"
55c76ae52dSmrg#define XFT_MAX_UNREF_FONTS	"maxunreffonts"
56de3c0529Smrg#define XFT_TRACK_MEM_USAGE	"trackmemusage"
57c76ae52dSmrg
58c76ae52dSmrgextern FT_Library	_XftFTlibrary;
59c76ae52dSmrg
60c76ae52dSmrgtypedef struct _XftFontInfo XftFontInfo;
61c76ae52dSmrg
62c76ae52dSmrgtypedef struct _XftFont {
63c76ae52dSmrg    int		ascent;
64c76ae52dSmrg    int		descent;
65c76ae52dSmrg    int		height;
66c76ae52dSmrg    int		max_advance_width;
67c76ae52dSmrg    FcCharSet	*charset;
68c76ae52dSmrg    FcPattern	*pattern;
69c76ae52dSmrg} XftFont;
70c76ae52dSmrg
71c76ae52dSmrgtypedef struct _XftDraw XftDraw;
72c76ae52dSmrg
73c76ae52dSmrgtypedef struct _XftColor {
74c76ae52dSmrg    unsigned long   pixel;
75c76ae52dSmrg    XRenderColor    color;
76c76ae52dSmrg} XftColor;
77c76ae52dSmrg
78c76ae52dSmrgtypedef struct _XftCharSpec {
79c76ae52dSmrg    FcChar32	    ucs4;
80c76ae52dSmrg    short	    x;
81c76ae52dSmrg    short	    y;
82c76ae52dSmrg} XftCharSpec;
83c76ae52dSmrg
84c76ae52dSmrgtypedef struct _XftCharFontSpec {
85c76ae52dSmrg    XftFont	    *font;
86c76ae52dSmrg    FcChar32	    ucs4;
87c76ae52dSmrg    short	    x;
88c76ae52dSmrg    short	    y;
89c76ae52dSmrg} XftCharFontSpec;
90c76ae52dSmrg
91c76ae52dSmrgtypedef struct _XftGlyphSpec {
92c76ae52dSmrg    FT_UInt	    glyph;
93c76ae52dSmrg    short	    x;
94c76ae52dSmrg    short	    y;
95c76ae52dSmrg} XftGlyphSpec;
96c76ae52dSmrg
97c76ae52dSmrgtypedef struct _XftGlyphFontSpec {
98c76ae52dSmrg    XftFont	    *font;
99c76ae52dSmrg    FT_UInt	    glyph;
100c76ae52dSmrg    short	    x;
101c76ae52dSmrg    short	    y;
102c76ae52dSmrg} XftGlyphFontSpec;
103c76ae52dSmrg
104c76ae52dSmrg_XFUNCPROTOBEGIN
105c76ae52dSmrg
1062836776bSmrg
107c76ae52dSmrg/* xftcolor.c */
108c76ae52dSmrgBool
109c76ae52dSmrgXftColorAllocName (Display  *dpy,
110c76ae52dSmrg		   _Xconst Visual   *visual,
111c76ae52dSmrg		   Colormap cmap,
112c76ae52dSmrg		   _Xconst char	    *name,
113c76ae52dSmrg		   XftColor *result);
114c76ae52dSmrg
115c76ae52dSmrgBool
116c76ae52dSmrgXftColorAllocValue (Display	    *dpy,
117c76ae52dSmrg		    Visual	    *visual,
118c76ae52dSmrg		    Colormap	    cmap,
119c76ae52dSmrg		    _Xconst XRenderColor    *color,
120c76ae52dSmrg		    XftColor	    *result);
121c76ae52dSmrg
122c76ae52dSmrgvoid
123c76ae52dSmrgXftColorFree (Display	*dpy,
124c76ae52dSmrg	      Visual	*visual,
125c76ae52dSmrg	      Colormap	cmap,
126c76ae52dSmrg	      XftColor	*color);
127c76ae52dSmrg
128c76ae52dSmrg/* xftdpy.c */
129c76ae52dSmrgBool
130c76ae52dSmrgXftDefaultHasRender (Display *dpy);
1312836776bSmrg
132c76ae52dSmrgBool
133c76ae52dSmrgXftDefaultSet (Display *dpy, FcPattern *defaults);
134c76ae52dSmrg
135c76ae52dSmrgvoid
136c76ae52dSmrgXftDefaultSubstitute (Display *dpy, int screen, FcPattern *pattern);
1372836776bSmrg
138c76ae52dSmrg/* xftdraw.c */
139c76ae52dSmrg
140c76ae52dSmrgXftDraw *
141c76ae52dSmrgXftDrawCreate (Display   *dpy,
142c76ae52dSmrg	       Drawable  drawable,
143c76ae52dSmrg	       Visual    *visual,
144c76ae52dSmrg	       Colormap  colormap);
145c76ae52dSmrg
146c76ae52dSmrgXftDraw *
147c76ae52dSmrgXftDrawCreateBitmap (Display  *dpy,
148c76ae52dSmrg		     Pixmap   bitmap);
149c76ae52dSmrg
150c76ae52dSmrgXftDraw *
1512836776bSmrgXftDrawCreateAlpha (Display *dpy,
152c76ae52dSmrg		    Pixmap  pixmap,
153c76ae52dSmrg		    int	    depth);
154c76ae52dSmrg
155c76ae52dSmrgvoid
156c76ae52dSmrgXftDrawChange (XftDraw	*draw,
157c76ae52dSmrg	       Drawable	drawable);
158c76ae52dSmrg
159c76ae52dSmrgDisplay *
160c76ae52dSmrgXftDrawDisplay (XftDraw *draw);
161c76ae52dSmrg
162c76ae52dSmrgDrawable
163c76ae52dSmrgXftDrawDrawable (XftDraw *draw);
164c76ae52dSmrg
165c76ae52dSmrgColormap
166c76ae52dSmrgXftDrawColormap (XftDraw *draw);
167c76ae52dSmrg
168c76ae52dSmrgVisual *
169c76ae52dSmrgXftDrawVisual (XftDraw *draw);
170c76ae52dSmrg
171c76ae52dSmrgvoid
172c76ae52dSmrgXftDrawDestroy (XftDraw	*draw);
173c76ae52dSmrg
174c76ae52dSmrgPicture
175c76ae52dSmrgXftDrawPicture (XftDraw *draw);
176c76ae52dSmrg
177c76ae52dSmrgPicture
178c76ae52dSmrgXftDrawSrcPicture (XftDraw *draw, _Xconst XftColor *color);
179c76ae52dSmrg
180c76ae52dSmrgvoid
181c76ae52dSmrgXftDrawGlyphs (XftDraw		*draw,
182c76ae52dSmrg	       _Xconst XftColor	*color,
183c76ae52dSmrg	       XftFont		*pub,
184c76ae52dSmrg	       int		x,
185c76ae52dSmrg	       int		y,
186c76ae52dSmrg	       _Xconst FT_UInt	*glyphs,
187c76ae52dSmrg	       int		nglyphs);
188c76ae52dSmrg
189c76ae52dSmrgvoid
190c76ae52dSmrgXftDrawString8 (XftDraw		    *draw,
191c76ae52dSmrg		_Xconst XftColor    *color,
192c76ae52dSmrg		XftFont		    *pub,
1932836776bSmrg		int		    x,
194c76ae52dSmrg		int		    y,
195c76ae52dSmrg		_Xconst FcChar8	    *string,
196c76ae52dSmrg		int		    len);
197c76ae52dSmrg
198c76ae52dSmrgvoid
199c76ae52dSmrgXftDrawString16 (XftDraw	    *draw,
200c76ae52dSmrg		 _Xconst XftColor   *color,
201c76ae52dSmrg		 XftFont	    *pub,
202c76ae52dSmrg		 int		    x,
203c76ae52dSmrg		 int		    y,
204c76ae52dSmrg		 _Xconst FcChar16   *string,
205c76ae52dSmrg		 int		    len);
206c76ae52dSmrg
207c76ae52dSmrgvoid
208c76ae52dSmrgXftDrawString32 (XftDraw	    *draw,
209c76ae52dSmrg		 _Xconst XftColor   *color,
210c76ae52dSmrg		 XftFont	    *pub,
211c76ae52dSmrg		 int		    x,
212c76ae52dSmrg		 int		    y,
213c76ae52dSmrg		 _Xconst FcChar32   *string,
214c76ae52dSmrg		 int		    len);
215c76ae52dSmrg
216c76ae52dSmrgvoid
217c76ae52dSmrgXftDrawStringUtf8 (XftDraw	    *draw,
218c76ae52dSmrg		   _Xconst XftColor *color,
219c76ae52dSmrg		   XftFont	    *pub,
2202836776bSmrg		   int		    x,
221c76ae52dSmrg		   int		    y,
222c76ae52dSmrg		   _Xconst FcChar8  *string,
223c76ae52dSmrg		   int		    len);
224c76ae52dSmrg
225c76ae52dSmrgvoid
226c76ae52dSmrgXftDrawStringUtf16 (XftDraw		*draw,
227c76ae52dSmrg		    _Xconst XftColor	*color,
228c76ae52dSmrg		    XftFont		*pub,
229c76ae52dSmrg		    int			x,
230c76ae52dSmrg		    int			y,
231c76ae52dSmrg		    _Xconst FcChar8	*string,
232c76ae52dSmrg		    FcEndian		endian,
233c76ae52dSmrg		    int			len);
234c76ae52dSmrg
235c76ae52dSmrgvoid
236c76ae52dSmrgXftDrawCharSpec (XftDraw		*draw,
237c76ae52dSmrg		 _Xconst XftColor	*color,
238c76ae52dSmrg		 XftFont		*pub,
239c76ae52dSmrg		 _Xconst XftCharSpec	*chars,
240c76ae52dSmrg		 int			len);
241c76ae52dSmrg
242c76ae52dSmrgvoid
243c76ae52dSmrgXftDrawCharFontSpec (XftDraw			*draw,
244c76ae52dSmrg		     _Xconst XftColor		*color,
245c76ae52dSmrg		     _Xconst XftCharFontSpec	*chars,
246c76ae52dSmrg		     int			len);
247c76ae52dSmrg
248c76ae52dSmrgvoid
249c76ae52dSmrgXftDrawGlyphSpec (XftDraw		*draw,
250c76ae52dSmrg		  _Xconst XftColor	*color,
251c76ae52dSmrg		  XftFont		*pub,
252c76ae52dSmrg		  _Xconst XftGlyphSpec	*glyphs,
253c76ae52dSmrg		  int			len);
254c76ae52dSmrg
255c76ae52dSmrgvoid
256c76ae52dSmrgXftDrawGlyphFontSpec (XftDraw			*draw,
257c76ae52dSmrg		      _Xconst XftColor		*color,
258c76ae52dSmrg		      _Xconst XftGlyphFontSpec	*glyphs,
259c76ae52dSmrg		      int			len);
260c76ae52dSmrg
261c76ae52dSmrgvoid
262c76ae52dSmrgXftDrawRect (XftDraw		*draw,
263c76ae52dSmrg	     _Xconst XftColor	*color,
2642836776bSmrg	     int		x,
265c76ae52dSmrg	     int		y,
266c76ae52dSmrg	     unsigned int	width,
267c76ae52dSmrg	     unsigned int	height);
268c76ae52dSmrg
269c76ae52dSmrg
270c76ae52dSmrgBool
271c76ae52dSmrgXftDrawSetClip (XftDraw	    *draw,
272c76ae52dSmrg		Region	    r);
273c76ae52dSmrg
274c76ae52dSmrg
275c76ae52dSmrgBool
276c76ae52dSmrgXftDrawSetClipRectangles (XftDraw		*draw,
277c76ae52dSmrg			  int			xOrigin,
278c76ae52dSmrg			  int			yOrigin,
279c76ae52dSmrg			  _Xconst XRectangle	*rects,
280c76ae52dSmrg			  int			n);
281c76ae52dSmrg
282c76ae52dSmrgvoid
283c76ae52dSmrgXftDrawSetSubwindowMode (XftDraw    *draw,
284c76ae52dSmrg			 int	    mode);
285c76ae52dSmrg
286c76ae52dSmrg/* xftextent.c */
287c76ae52dSmrg
288c76ae52dSmrgvoid
289c76ae52dSmrgXftGlyphExtents (Display	    *dpy,
290c76ae52dSmrg		 XftFont	    *pub,
291c76ae52dSmrg		 _Xconst FT_UInt    *glyphs,
292c76ae52dSmrg		 int		    nglyphs,
293c76ae52dSmrg		 XGlyphInfo	    *extents);
294c76ae52dSmrg
295c76ae52dSmrgvoid
296c76ae52dSmrgXftTextExtents8 (Display	    *dpy,
297c76ae52dSmrg		 XftFont	    *pub,
2982836776bSmrg		 _Xconst FcChar8    *string,
299c76ae52dSmrg		 int		    len,
300c76ae52dSmrg		 XGlyphInfo	    *extents);
301c76ae52dSmrg
302c76ae52dSmrgvoid
303c76ae52dSmrgXftTextExtents16 (Display	    *dpy,
304c76ae52dSmrg		  XftFont	    *pub,
3052836776bSmrg		  _Xconst FcChar16  *string,
306c76ae52dSmrg		  int		    len,
307c76ae52dSmrg		  XGlyphInfo	    *extents);
308c76ae52dSmrg
309c76ae52dSmrgvoid
310c76ae52dSmrgXftTextExtents32 (Display	    *dpy,
311c76ae52dSmrg		  XftFont	    *pub,
3122836776bSmrg		  _Xconst FcChar32  *string,
313c76ae52dSmrg		  int		    len,
314c76ae52dSmrg		  XGlyphInfo	    *extents);
3152836776bSmrg
316c76ae52dSmrgvoid
317c76ae52dSmrgXftTextExtentsUtf8 (Display	    *dpy,
318c76ae52dSmrg		    XftFont	    *pub,
3192836776bSmrg		    _Xconst FcChar8 *string,
320c76ae52dSmrg		    int		    len,
321c76ae52dSmrg		    XGlyphInfo	    *extents);
322c76ae52dSmrg
323c76ae52dSmrgvoid
324c76ae52dSmrgXftTextExtentsUtf16 (Display		*dpy,
325c76ae52dSmrg		     XftFont		*pub,
3262836776bSmrg		     _Xconst FcChar8	*string,
327c76ae52dSmrg		     FcEndian		endian,
328c76ae52dSmrg		     int		len,
329c76ae52dSmrg		     XGlyphInfo		*extents);
330c76ae52dSmrg
331c76ae52dSmrg/* xftfont.c */
332c76ae52dSmrgFcPattern *
333c76ae52dSmrgXftFontMatch (Display		*dpy,
334c76ae52dSmrg	      int		screen,
335c76ae52dSmrg	      _Xconst FcPattern *pattern,
336c76ae52dSmrg	      FcResult		*result);
337c76ae52dSmrg
338c76ae52dSmrgXftFont *
339c76ae52dSmrgXftFontOpen (Display *dpy, int screen, ...) _X_SENTINEL(0);
340c76ae52dSmrg
341c76ae52dSmrgXftFont *
342c76ae52dSmrgXftFontOpenName (Display *dpy, int screen, _Xconst char *name);
343c76ae52dSmrg
344c76ae52dSmrgXftFont *
345c76ae52dSmrgXftFontOpenXlfd (Display *dpy, int screen, _Xconst char *xlfd);
346c76ae52dSmrg
347c76ae52dSmrg/* xftfreetype.c */
348c76ae52dSmrg
349c76ae52dSmrgFT_Face
350c76ae52dSmrgXftLockFace (XftFont *pub);
351c76ae52dSmrg
352c76ae52dSmrgvoid
353c76ae52dSmrgXftUnlockFace (XftFont *pub);
354c76ae52dSmrg
355c76ae52dSmrgXftFontInfo *
356c76ae52dSmrgXftFontInfoCreate (Display *dpy, _Xconst FcPattern *pattern);
357c76ae52dSmrg
358c76ae52dSmrgvoid
359c76ae52dSmrgXftFontInfoDestroy (Display *dpy, XftFontInfo *fi);
360c76ae52dSmrg
361c76ae52dSmrgFcChar32
362c76ae52dSmrgXftFontInfoHash (_Xconst XftFontInfo *fi);
363c76ae52dSmrg
364c76ae52dSmrgFcBool
365c76ae52dSmrgXftFontInfoEqual (_Xconst XftFontInfo *a, _Xconst XftFontInfo *b);
366c76ae52dSmrg
367c76ae52dSmrgXftFont *
3682836776bSmrgXftFontOpenInfo (Display	*dpy,
3692836776bSmrg		 FcPattern	*pattern,
370c76ae52dSmrg		 XftFontInfo	*fi);
371c76ae52dSmrg
372c76ae52dSmrgXftFont *
373c76ae52dSmrgXftFontOpenPattern (Display *dpy, FcPattern *pattern);
374c76ae52dSmrg
375c76ae52dSmrgXftFont *
376c76ae52dSmrgXftFontCopy (Display *dpy, XftFont *pub);
377c76ae52dSmrg
378c76ae52dSmrgvoid
379c76ae52dSmrgXftFontClose (Display *dpy, XftFont *pub);
380c76ae52dSmrg
381c76ae52dSmrgFcBool
382c76ae52dSmrgXftInitFtLibrary(void);
383c76ae52dSmrg
384c76ae52dSmrg/* xftglyphs.c */
385c76ae52dSmrgvoid
386c76ae52dSmrgXftFontLoadGlyphs (Display	    *dpy,
387c76ae52dSmrg		   XftFont	    *pub,
388c76ae52dSmrg		   FcBool	    need_bitmaps,
389c76ae52dSmrg		   _Xconst FT_UInt  *glyphs,
390c76ae52dSmrg		   int		    nglyph);
391c76ae52dSmrg
392c76ae52dSmrgvoid
393c76ae52dSmrgXftFontUnloadGlyphs (Display		*dpy,
394c76ae52dSmrg		     XftFont		*pub,
395c76ae52dSmrg		     _Xconst FT_UInt	*glyphs,
396c76ae52dSmrg		     int		nglyph);
397c76ae52dSmrg
398c76ae52dSmrg#define XFT_NMISSING		256
399c76ae52dSmrg
400c76ae52dSmrgFcBool
401c76ae52dSmrgXftFontCheckGlyph (Display  *dpy,
402c76ae52dSmrg		   XftFont  *pub,
403c76ae52dSmrg		   FcBool   need_bitmaps,
404c76ae52dSmrg		   FT_UInt  glyph,
405c76ae52dSmrg		   FT_UInt  *missing,
406c76ae52dSmrg		   int	    *nmissing);
407c76ae52dSmrg
408c76ae52dSmrgFcBool
409c76ae52dSmrgXftCharExists (Display	    *dpy,
410c76ae52dSmrg	       XftFont	    *pub,
411c76ae52dSmrg	       FcChar32    ucs4);
4122836776bSmrg
413c76ae52dSmrgFT_UInt
4142836776bSmrgXftCharIndex (Display	    *dpy,
415c76ae52dSmrg	      XftFont	    *pub,
416c76ae52dSmrg	      FcChar32	    ucs4);
4172836776bSmrg
418c76ae52dSmrg/* xftinit.c */
419c76ae52dSmrgFcBool
420c76ae52dSmrgXftInit (_Xconst char *config);
421c76ae52dSmrg
422c76ae52dSmrgint
423c76ae52dSmrgXftGetVersion (void);
424c76ae52dSmrg
425c76ae52dSmrg/* xftlist.c */
426c76ae52dSmrg
427c76ae52dSmrgFcFontSet *
428c76ae52dSmrgXftListFonts (Display	*dpy,
429c76ae52dSmrg	      int	screen,
430c76ae52dSmrg	      ...) _X_SENTINEL(0);
431c76ae52dSmrg
432c76ae52dSmrg/* xftname.c */
4332836776bSmrgFcPattern
434c76ae52dSmrg*XftNameParse (_Xconst char *name);
435c76ae52dSmrg
436de3c0529SmrgFcBool
437de3c0529SmrgXftNameUnparse (FcPattern *pat, char *dest, int len);
438de3c0529Smrg
439c76ae52dSmrg/* xftrender.c */
440c76ae52dSmrgvoid
441c76ae52dSmrgXftGlyphRender (Display		*dpy,
442c76ae52dSmrg		int		op,
443c76ae52dSmrg		Picture		src,
444c76ae52dSmrg		XftFont		*pub,
445c76ae52dSmrg		Picture		dst,
446c76ae52dSmrg		int		srcx,
447c76ae52dSmrg		int		srcy,
448c76ae52dSmrg		int		x,
449c76ae52dSmrg		int		y,
450c76ae52dSmrg		_Xconst FT_UInt	*glyphs,
451c76ae52dSmrg		int		nglyphs);
452c76ae52dSmrg
453c76ae52dSmrgvoid
454c76ae52dSmrgXftGlyphSpecRender (Display		    *dpy,
455c76ae52dSmrg		    int			    op,
456c76ae52dSmrg		    Picture		    src,
457c76ae52dSmrg		    XftFont		    *pub,
458c76ae52dSmrg		    Picture		    dst,
459c76ae52dSmrg		    int			    srcx,
460c76ae52dSmrg		    int			    srcy,
461c76ae52dSmrg		    _Xconst XftGlyphSpec    *glyphs,
462c76ae52dSmrg		    int			    nglyphs);
463c76ae52dSmrg
464c76ae52dSmrgvoid
465c76ae52dSmrgXftCharSpecRender (Display		*dpy,
466c76ae52dSmrg		   int			op,
467c76ae52dSmrg		   Picture		src,
468c76ae52dSmrg		   XftFont		*pub,
469c76ae52dSmrg		   Picture		dst,
4702836776bSmrg		   int			srcx,
471c76ae52dSmrg		   int			srcy,
472c76ae52dSmrg		   _Xconst XftCharSpec	*chars,
473c76ae52dSmrg		   int			len);
474c76ae52dSmrg
475c76ae52dSmrgvoid
476c76ae52dSmrgXftGlyphFontSpecRender (Display			    *dpy,
477c76ae52dSmrg			int			    op,
478c76ae52dSmrg			Picture			    src,
479c76ae52dSmrg			Picture			    dst,
480c76ae52dSmrg			int			    srcx,
481c76ae52dSmrg			int			    srcy,
482c76ae52dSmrg			_Xconst XftGlyphFontSpec    *glyphs,
483c76ae52dSmrg			int			    nglyphs);
484c76ae52dSmrg
485c76ae52dSmrgvoid
486c76ae52dSmrgXftCharFontSpecRender (Display			*dpy,
487c76ae52dSmrg		       int			op,
488c76ae52dSmrg		       Picture			src,
489c76ae52dSmrg		       Picture			dst,
490c76ae52dSmrg		       int			srcx,
491c76ae52dSmrg		       int			srcy,
492c76ae52dSmrg		       _Xconst XftCharFontSpec	*chars,
493c76ae52dSmrg		       int			len);
494c76ae52dSmrg
495c76ae52dSmrgvoid
496c76ae52dSmrgXftTextRender8 (Display		*dpy,
497c76ae52dSmrg		int		op,
498c76ae52dSmrg		Picture		src,
499c76ae52dSmrg		XftFont		*pub,
500c76ae52dSmrg		Picture		dst,
501c76ae52dSmrg		int		srcx,
502c76ae52dSmrg		int		srcy,
503c76ae52dSmrg		int		x,
504c76ae52dSmrg		int		y,
505c76ae52dSmrg		_Xconst FcChar8	*string,
506c76ae52dSmrg		int		len);
507c76ae52dSmrg
508c76ae52dSmrgvoid
509c76ae52dSmrgXftTextRender16 (Display	    *dpy,
510c76ae52dSmrg		 int		    op,
511c76ae52dSmrg		 Picture	    src,
512c76ae52dSmrg		 XftFont	    *pub,
513c76ae52dSmrg		 Picture	    dst,
514c76ae52dSmrg		 int		    srcx,
515c76ae52dSmrg		 int		    srcy,
516c76ae52dSmrg		 int		    x,
517c76ae52dSmrg		 int		    y,
518c76ae52dSmrg		 _Xconst FcChar16   *string,
519c76ae52dSmrg		 int		    len);
520c76ae52dSmrg
521c76ae52dSmrgvoid
522c76ae52dSmrgXftTextRender16BE (Display	    *dpy,
523c76ae52dSmrg		   int		    op,
524c76ae52dSmrg		   Picture	    src,
525c76ae52dSmrg		   XftFont	    *pub,
526c76ae52dSmrg		   Picture	    dst,
527c76ae52dSmrg		   int		    srcx,
528c76ae52dSmrg		   int		    srcy,
529c76ae52dSmrg		   int		    x,
530c76ae52dSmrg		   int		    y,
531c76ae52dSmrg		   _Xconst FcChar8  *string,
532c76ae52dSmrg		   int		    len);
533c76ae52dSmrg
534c76ae52dSmrgvoid
535c76ae52dSmrgXftTextRender16LE (Display	    *dpy,
536c76ae52dSmrg		   int		    op,
537c76ae52dSmrg		   Picture	    src,
538c76ae52dSmrg		   XftFont	    *pub,
539c76ae52dSmrg		   Picture	    dst,
540c76ae52dSmrg		   int		    srcx,
541c76ae52dSmrg		   int		    srcy,
542c76ae52dSmrg		   int		    x,
543c76ae52dSmrg		   int		    y,
544c76ae52dSmrg		   _Xconst FcChar8  *string,
545c76ae52dSmrg		   int		    len);
546c76ae52dSmrg
547c76ae52dSmrgvoid
548c76ae52dSmrgXftTextRender32 (Display	    *dpy,
549c76ae52dSmrg		 int		    op,
550c76ae52dSmrg		 Picture	    src,
551c76ae52dSmrg		 XftFont	    *pub,
552c76ae52dSmrg		 Picture	    dst,
553c76ae52dSmrg		 int		    srcx,
554c76ae52dSmrg		 int		    srcy,
555c76ae52dSmrg		 int		    x,
556c76ae52dSmrg		 int		    y,
557c76ae52dSmrg		 _Xconst FcChar32   *string,
558c76ae52dSmrg		 int		    len);
559c76ae52dSmrg
560c76ae52dSmrgvoid
561c76ae52dSmrgXftTextRender32BE (Display	    *dpy,
562c76ae52dSmrg		   int		    op,
563c76ae52dSmrg		   Picture	    src,
564c76ae52dSmrg		   XftFont	    *pub,
565c76ae52dSmrg		   Picture	    dst,
566c76ae52dSmrg		   int		    srcx,
567c76ae52dSmrg		   int		    srcy,
568c76ae52dSmrg		   int		    x,
569c76ae52dSmrg		   int		    y,
570c76ae52dSmrg		   _Xconst FcChar8  *string,
571c76ae52dSmrg		   int		    len);
572c76ae52dSmrg
573c76ae52dSmrgvoid
574c76ae52dSmrgXftTextRender32LE (Display	    *dpy,
575c76ae52dSmrg		   int		    op,
576c76ae52dSmrg		   Picture	    src,
577c76ae52dSmrg		   XftFont	    *pub,
578c76ae52dSmrg		   Picture	    dst,
579c76ae52dSmrg		   int		    srcx,
580c76ae52dSmrg		   int		    srcy,
581c76ae52dSmrg		   int		    x,
582c76ae52dSmrg		   int		    y,
583c76ae52dSmrg		   _Xconst FcChar8  *string,
584c76ae52dSmrg		   int		    len);
585c76ae52dSmrg
586c76ae52dSmrgvoid
587c76ae52dSmrgXftTextRenderUtf8 (Display	    *dpy,
588c76ae52dSmrg		   int		    op,
589c76ae52dSmrg		   Picture	    src,
590c76ae52dSmrg		   XftFont	    *pub,
591c76ae52dSmrg		   Picture	    dst,
592c76ae52dSmrg		   int		    srcx,
593c76ae52dSmrg		   int		    srcy,
594c76ae52dSmrg		   int		    x,
595c76ae52dSmrg		   int		    y,
596c76ae52dSmrg		   _Xconst FcChar8  *string,
597c76ae52dSmrg		   int		    len);
598c76ae52dSmrg
599c76ae52dSmrgvoid
600c76ae52dSmrgXftTextRenderUtf16 (Display	    *dpy,
601c76ae52dSmrg		    int		    op,
602c76ae52dSmrg		    Picture	    src,
603c76ae52dSmrg		    XftFont	    *pub,
604c76ae52dSmrg		    Picture	    dst,
605c76ae52dSmrg		    int		    srcx,
606c76ae52dSmrg		    int		    srcy,
607c76ae52dSmrg		    int		    x,
608c76ae52dSmrg		    int		    y,
609c76ae52dSmrg		    _Xconst FcChar8 *string,
610c76ae52dSmrg		    FcEndian	    endian,
611c76ae52dSmrg		    int		    len);
612c76ae52dSmrg
613c76ae52dSmrg/* xftxlfd.c */
614c76ae52dSmrgFcPattern *
615c76ae52dSmrgXftXlfdParse (_Xconst char *xlfd_orig, Bool ignore_scalable, Bool complete);
6162836776bSmrg
617c76ae52dSmrg_XFUNCPROTOEND
618c76ae52dSmrg
619c76ae52dSmrg#endif /* _XFT_H_ */
620