Xft.h.in revision 0d590c07
10d590c07Smrg/*
20d590c07Smrg * Copyright © 2000 Keith Packard
30d590c07Smrg *
40d590c07Smrg * Permission to use, copy, modify, distribute, and sell this software and its
50d590c07Smrg * documentation for any purpose is hereby granted without fee, provided that
60d590c07Smrg * the above copyright notice appear in all copies and that both that
70d590c07Smrg * copyright notice and this permission notice appear in supporting
80d590c07Smrg * documentation, and that the name of Keith Packard not be used in
90d590c07Smrg * advertising or publicity pertaining to distribution of the software without
100d590c07Smrg * specific, written prior permission.  Keith Packard makes no
110d590c07Smrg * representations about the suitability of this software for any purpose.  It
120d590c07Smrg * is provided "as is" without express or implied warranty.
130d590c07Smrg *
140d590c07Smrg * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
150d590c07Smrg * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
160d590c07Smrg * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
170d590c07Smrg * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
180d590c07Smrg * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
190d590c07Smrg * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
200d590c07Smrg * PERFORMANCE OF THIS SOFTWARE.
210d590c07Smrg */
220d590c07Smrg
230d590c07Smrg#ifndef _XFT_H_
240d590c07Smrg#define _XFT_H_
250d590c07Smrg
260d590c07Smrg/*
270d590c07Smrg * Current Xft version number, set from version in the Xft configure.ac file.
280d590c07Smrg */
290d590c07Smrg
300d590c07Smrg#undef XFT_MAJOR	/* Will be substituted by configure */
310d590c07Smrg#undef XFT_MINOR	/* Will be substituted by configure */
320d590c07Smrg#undef XFT_REVISION	/* Will be substituted by configure */
330d590c07Smrg
340d590c07Smrg#define XFT_VERSION	((XFT_MAJOR * 10000) + (XFT_MINOR * 100) + (XFT_REVISION))
350d590c07Smrg#define XftVersion	XFT_VERSION
360d590c07Smrg
370d590c07Smrg#include <stdarg.h>
380d590c07Smrg#include <ft2build.h>
390d590c07Smrg#include FT_FREETYPE_H
400d590c07Smrg#include <fontconfig/fontconfig.h>
410d590c07Smrg#include <X11/extensions/Xrender.h>
420d590c07Smrg
430d590c07Smrg#include <X11/Xfuncproto.h>
440d590c07Smrg/* #include <X11/Xosdefs.h>*/
450d590c07Smrg#ifndef _X_SENTINEL
460d590c07Smrg# define _X_SENTINEL(x)
470d590c07Smrg#endif
480d590c07Smrg
490d590c07Smrg#ifndef _XFT_NO_COMPAT_
500d590c07Smrg#include <X11/Xft/XftCompat.h>
510d590c07Smrg#endif
520d590c07Smrg
530d590c07Smrg#define XFT_CORE		"core"
540d590c07Smrg#define XFT_RENDER		"render"
550d590c07Smrg#define XFT_XLFD		"xlfd"
560d590c07Smrg#define XFT_MAX_GLYPH_MEMORY	"maxglyphmemory"
570d590c07Smrg#define XFT_MAX_UNREF_FONTS	"maxunreffonts"
580d590c07Smrg
590d590c07Smrgextern FT_Library	_XftFTlibrary;
600d590c07Smrg
610d590c07Smrgtypedef struct _XftFontInfo XftFontInfo;
620d590c07Smrg
630d590c07Smrgtypedef struct _XftFont {
640d590c07Smrg    int		ascent;
650d590c07Smrg    int		descent;
660d590c07Smrg    int		height;
670d590c07Smrg    int		max_advance_width;
680d590c07Smrg    FcCharSet	*charset;
690d590c07Smrg    FcPattern	*pattern;
700d590c07Smrg} XftFont;
710d590c07Smrg
720d590c07Smrgtypedef struct _XftDraw XftDraw;
730d590c07Smrg
740d590c07Smrgtypedef struct _XftColor {
750d590c07Smrg    unsigned long   pixel;
760d590c07Smrg    XRenderColor    color;
770d590c07Smrg} XftColor;
780d590c07Smrg
790d590c07Smrgtypedef struct _XftCharSpec {
800d590c07Smrg    FcChar32	    ucs4;
810d590c07Smrg    short	    x;
820d590c07Smrg    short	    y;
830d590c07Smrg} XftCharSpec;
840d590c07Smrg
850d590c07Smrgtypedef struct _XftCharFontSpec {
860d590c07Smrg    XftFont	    *font;
870d590c07Smrg    FcChar32	    ucs4;
880d590c07Smrg    short	    x;
890d590c07Smrg    short	    y;
900d590c07Smrg} XftCharFontSpec;
910d590c07Smrg
920d590c07Smrgtypedef struct _XftGlyphSpec {
930d590c07Smrg    FT_UInt	    glyph;
940d590c07Smrg    short	    x;
950d590c07Smrg    short	    y;
960d590c07Smrg} XftGlyphSpec;
970d590c07Smrg
980d590c07Smrgtypedef struct _XftGlyphFontSpec {
990d590c07Smrg    XftFont	    *font;
1000d590c07Smrg    FT_UInt	    glyph;
1010d590c07Smrg    short	    x;
1020d590c07Smrg    short	    y;
1030d590c07Smrg} XftGlyphFontSpec;
1040d590c07Smrg
1050d590c07Smrg_XFUNCPROTOBEGIN
1060d590c07Smrg
1070d590c07Smrg    
1080d590c07Smrg/* xftcolor.c */
1090d590c07SmrgBool
1100d590c07SmrgXftColorAllocName (Display  *dpy,
1110d590c07Smrg		   _Xconst Visual   *visual,
1120d590c07Smrg		   Colormap cmap,
1130d590c07Smrg		   _Xconst char	    *name,
1140d590c07Smrg		   XftColor *result);
1150d590c07Smrg
1160d590c07SmrgBool
1170d590c07SmrgXftColorAllocValue (Display	    *dpy,
1180d590c07Smrg		    Visual	    *visual,
1190d590c07Smrg		    Colormap	    cmap,
1200d590c07Smrg		    _Xconst XRenderColor    *color,
1210d590c07Smrg		    XftColor	    *result);
1220d590c07Smrg
1230d590c07Smrgvoid
1240d590c07SmrgXftColorFree (Display	*dpy,
1250d590c07Smrg	      Visual	*visual,
1260d590c07Smrg	      Colormap	cmap,
1270d590c07Smrg	      XftColor	*color);
1280d590c07Smrg
1290d590c07Smrg/* xftdpy.c */
1300d590c07SmrgBool
1310d590c07SmrgXftDefaultHasRender (Display *dpy);
1320d590c07Smrg    
1330d590c07SmrgBool
1340d590c07SmrgXftDefaultSet (Display *dpy, FcPattern *defaults);
1350d590c07Smrg
1360d590c07Smrgvoid
1370d590c07SmrgXftDefaultSubstitute (Display *dpy, int screen, FcPattern *pattern);
1380d590c07Smrg    
1390d590c07Smrg/* xftdraw.c */
1400d590c07Smrg
1410d590c07SmrgXftDraw *
1420d590c07SmrgXftDrawCreate (Display   *dpy,
1430d590c07Smrg	       Drawable  drawable,
1440d590c07Smrg	       Visual    *visual,
1450d590c07Smrg	       Colormap  colormap);
1460d590c07Smrg
1470d590c07SmrgXftDraw *
1480d590c07SmrgXftDrawCreateBitmap (Display  *dpy,
1490d590c07Smrg		     Pixmap   bitmap);
1500d590c07Smrg
1510d590c07SmrgXftDraw *
1520d590c07SmrgXftDrawCreateAlpha (Display *dpy, 
1530d590c07Smrg		    Pixmap  pixmap,
1540d590c07Smrg		    int	    depth);
1550d590c07Smrg
1560d590c07Smrgvoid
1570d590c07SmrgXftDrawChange (XftDraw	*draw,
1580d590c07Smrg	       Drawable	drawable);
1590d590c07Smrg
1600d590c07SmrgDisplay *
1610d590c07SmrgXftDrawDisplay (XftDraw *draw);
1620d590c07Smrg
1630d590c07SmrgDrawable
1640d590c07SmrgXftDrawDrawable (XftDraw *draw);
1650d590c07Smrg
1660d590c07SmrgColormap
1670d590c07SmrgXftDrawColormap (XftDraw *draw);
1680d590c07Smrg
1690d590c07SmrgVisual *
1700d590c07SmrgXftDrawVisual (XftDraw *draw);
1710d590c07Smrg
1720d590c07Smrgvoid
1730d590c07SmrgXftDrawDestroy (XftDraw	*draw);
1740d590c07Smrg
1750d590c07SmrgPicture
1760d590c07SmrgXftDrawPicture (XftDraw *draw);
1770d590c07Smrg
1780d590c07SmrgPicture
1790d590c07SmrgXftDrawSrcPicture (XftDraw *draw, _Xconst XftColor *color);
1800d590c07Smrg
1810d590c07Smrgvoid
1820d590c07SmrgXftDrawGlyphs (XftDraw		*draw,
1830d590c07Smrg	       _Xconst XftColor	*color,
1840d590c07Smrg	       XftFont		*pub,
1850d590c07Smrg	       int		x,
1860d590c07Smrg	       int		y,
1870d590c07Smrg	       _Xconst FT_UInt	*glyphs,
1880d590c07Smrg	       int		nglyphs);
1890d590c07Smrg
1900d590c07Smrgvoid
1910d590c07SmrgXftDrawString8 (XftDraw		    *draw,
1920d590c07Smrg		_Xconst XftColor    *color,
1930d590c07Smrg		XftFont		    *pub,
1940d590c07Smrg		int		    x, 
1950d590c07Smrg		int		    y,
1960d590c07Smrg		_Xconst FcChar8	    *string,
1970d590c07Smrg		int		    len);
1980d590c07Smrg
1990d590c07Smrgvoid
2000d590c07SmrgXftDrawString16 (XftDraw	    *draw,
2010d590c07Smrg		 _Xconst XftColor   *color,
2020d590c07Smrg		 XftFont	    *pub,
2030d590c07Smrg		 int		    x,
2040d590c07Smrg		 int		    y,
2050d590c07Smrg		 _Xconst FcChar16   *string,
2060d590c07Smrg		 int		    len);
2070d590c07Smrg
2080d590c07Smrgvoid
2090d590c07SmrgXftDrawString32 (XftDraw	    *draw,
2100d590c07Smrg		 _Xconst XftColor   *color,
2110d590c07Smrg		 XftFont	    *pub,
2120d590c07Smrg		 int		    x,
2130d590c07Smrg		 int		    y,
2140d590c07Smrg		 _Xconst FcChar32   *string,
2150d590c07Smrg		 int		    len);
2160d590c07Smrg
2170d590c07Smrgvoid
2180d590c07SmrgXftDrawStringUtf8 (XftDraw	    *draw,
2190d590c07Smrg		   _Xconst XftColor *color,
2200d590c07Smrg		   XftFont	    *pub,
2210d590c07Smrg		   int		    x, 
2220d590c07Smrg		   int		    y,
2230d590c07Smrg		   _Xconst FcChar8  *string,
2240d590c07Smrg		   int		    len);
2250d590c07Smrg
2260d590c07Smrgvoid
2270d590c07SmrgXftDrawStringUtf16 (XftDraw		*draw,
2280d590c07Smrg		    _Xconst XftColor	*color,
2290d590c07Smrg		    XftFont		*pub,
2300d590c07Smrg		    int			x,
2310d590c07Smrg		    int			y,
2320d590c07Smrg		    _Xconst FcChar8	*string,
2330d590c07Smrg		    FcEndian		endian,
2340d590c07Smrg		    int			len);
2350d590c07Smrg
2360d590c07Smrgvoid
2370d590c07SmrgXftDrawCharSpec (XftDraw		*draw,
2380d590c07Smrg		 _Xconst XftColor	*color,
2390d590c07Smrg		 XftFont		*pub,
2400d590c07Smrg		 _Xconst XftCharSpec	*chars,
2410d590c07Smrg		 int			len);
2420d590c07Smrg
2430d590c07Smrgvoid
2440d590c07SmrgXftDrawCharFontSpec (XftDraw			*draw,
2450d590c07Smrg		     _Xconst XftColor		*color,
2460d590c07Smrg		     _Xconst XftCharFontSpec	*chars,
2470d590c07Smrg		     int			len);
2480d590c07Smrg
2490d590c07Smrgvoid
2500d590c07SmrgXftDrawGlyphSpec (XftDraw		*draw,
2510d590c07Smrg		  _Xconst XftColor	*color,
2520d590c07Smrg		  XftFont		*pub,
2530d590c07Smrg		  _Xconst XftGlyphSpec	*glyphs,
2540d590c07Smrg		  int			len);
2550d590c07Smrg
2560d590c07Smrgvoid
2570d590c07SmrgXftDrawGlyphFontSpec (XftDraw			*draw,
2580d590c07Smrg		      _Xconst XftColor		*color,
2590d590c07Smrg		      _Xconst XftGlyphFontSpec	*glyphs,
2600d590c07Smrg		      int			len);
2610d590c07Smrg
2620d590c07Smrgvoid
2630d590c07SmrgXftDrawRect (XftDraw		*draw,
2640d590c07Smrg	     _Xconst XftColor	*color,
2650d590c07Smrg	     int		x, 
2660d590c07Smrg	     int		y,
2670d590c07Smrg	     unsigned int	width,
2680d590c07Smrg	     unsigned int	height);
2690d590c07Smrg
2700d590c07Smrg
2710d590c07SmrgBool
2720d590c07SmrgXftDrawSetClip (XftDraw	    *draw,
2730d590c07Smrg		Region	    r);
2740d590c07Smrg
2750d590c07Smrg
2760d590c07SmrgBool
2770d590c07SmrgXftDrawSetClipRectangles (XftDraw		*draw,
2780d590c07Smrg			  int			xOrigin,
2790d590c07Smrg			  int			yOrigin,
2800d590c07Smrg			  _Xconst XRectangle	*rects,
2810d590c07Smrg			  int			n);
2820d590c07Smrg
2830d590c07Smrgvoid
2840d590c07SmrgXftDrawSetSubwindowMode (XftDraw    *draw,
2850d590c07Smrg			 int	    mode);
2860d590c07Smrg
2870d590c07Smrg/* xftextent.c */
2880d590c07Smrg
2890d590c07Smrgvoid
2900d590c07SmrgXftGlyphExtents (Display	    *dpy,
2910d590c07Smrg		 XftFont	    *pub,
2920d590c07Smrg		 _Xconst FT_UInt    *glyphs,
2930d590c07Smrg		 int		    nglyphs,
2940d590c07Smrg		 XGlyphInfo	    *extents);
2950d590c07Smrg
2960d590c07Smrgvoid
2970d590c07SmrgXftTextExtents8 (Display	    *dpy,
2980d590c07Smrg		 XftFont	    *pub,
2990d590c07Smrg		 _Xconst FcChar8    *string, 
3000d590c07Smrg		 int		    len,
3010d590c07Smrg		 XGlyphInfo	    *extents);
3020d590c07Smrg
3030d590c07Smrgvoid
3040d590c07SmrgXftTextExtents16 (Display	    *dpy,
3050d590c07Smrg		  XftFont	    *pub,
3060d590c07Smrg		  _Xconst FcChar16  *string, 
3070d590c07Smrg		  int		    len,
3080d590c07Smrg		  XGlyphInfo	    *extents);
3090d590c07Smrg
3100d590c07Smrgvoid
3110d590c07SmrgXftTextExtents32 (Display	    *dpy,
3120d590c07Smrg		  XftFont	    *pub,
3130d590c07Smrg		  _Xconst FcChar32  *string, 
3140d590c07Smrg		  int		    len,
3150d590c07Smrg		  XGlyphInfo	    *extents);
3160d590c07Smrg    
3170d590c07Smrgvoid
3180d590c07SmrgXftTextExtentsUtf8 (Display	    *dpy,
3190d590c07Smrg		    XftFont	    *pub,
3200d590c07Smrg		    _Xconst FcChar8 *string, 
3210d590c07Smrg		    int		    len,
3220d590c07Smrg		    XGlyphInfo	    *extents);
3230d590c07Smrg
3240d590c07Smrgvoid
3250d590c07SmrgXftTextExtentsUtf16 (Display		*dpy,
3260d590c07Smrg		     XftFont		*pub,
3270d590c07Smrg		     _Xconst FcChar8	*string, 
3280d590c07Smrg		     FcEndian		endian,
3290d590c07Smrg		     int		len,
3300d590c07Smrg		     XGlyphInfo		*extents);
3310d590c07Smrg
3320d590c07Smrg/* xftfont.c */
3330d590c07SmrgFcPattern *
3340d590c07SmrgXftFontMatch (Display		*dpy,
3350d590c07Smrg	      int		screen,
3360d590c07Smrg	      _Xconst FcPattern *pattern,
3370d590c07Smrg	      FcResult		*result);
3380d590c07Smrg
3390d590c07SmrgXftFont *
3400d590c07SmrgXftFontOpen (Display *dpy, int screen, ...) _X_SENTINEL(0);
3410d590c07Smrg
3420d590c07SmrgXftFont *
3430d590c07SmrgXftFontOpenName (Display *dpy, int screen, _Xconst char *name);
3440d590c07Smrg
3450d590c07SmrgXftFont *
3460d590c07SmrgXftFontOpenXlfd (Display *dpy, int screen, _Xconst char *xlfd);
3470d590c07Smrg
3480d590c07Smrg/* xftfreetype.c */
3490d590c07Smrg
3500d590c07SmrgFT_Face
3510d590c07SmrgXftLockFace (XftFont *pub);
3520d590c07Smrg
3530d590c07Smrgvoid
3540d590c07SmrgXftUnlockFace (XftFont *pub);
3550d590c07Smrg
3560d590c07SmrgXftFontInfo *
3570d590c07SmrgXftFontInfoCreate (Display *dpy, _Xconst FcPattern *pattern);
3580d590c07Smrg
3590d590c07Smrgvoid
3600d590c07SmrgXftFontInfoDestroy (Display *dpy, XftFontInfo *fi);
3610d590c07Smrg
3620d590c07SmrgFcChar32
3630d590c07SmrgXftFontInfoHash (_Xconst XftFontInfo *fi);
3640d590c07Smrg
3650d590c07SmrgFcBool
3660d590c07SmrgXftFontInfoEqual (_Xconst XftFontInfo *a, _Xconst XftFontInfo *b);
3670d590c07Smrg
3680d590c07SmrgXftFont *
3690d590c07SmrgXftFontOpenInfo (Display	*dpy, 
3700d590c07Smrg		 FcPattern	*pattern, 
3710d590c07Smrg		 XftFontInfo	*fi);
3720d590c07Smrg
3730d590c07SmrgXftFont *
3740d590c07SmrgXftFontOpenPattern (Display *dpy, FcPattern *pattern);
3750d590c07Smrg
3760d590c07SmrgXftFont *
3770d590c07SmrgXftFontCopy (Display *dpy, XftFont *pub);
3780d590c07Smrg
3790d590c07Smrgvoid
3800d590c07SmrgXftFontClose (Display *dpy, XftFont *pub);
3810d590c07Smrg
3820d590c07SmrgFcBool
3830d590c07SmrgXftInitFtLibrary(void);
3840d590c07Smrg
3850d590c07Smrg/* xftglyphs.c */
3860d590c07Smrgvoid
3870d590c07SmrgXftFontLoadGlyphs (Display	    *dpy,
3880d590c07Smrg		   XftFont	    *pub,
3890d590c07Smrg		   FcBool	    need_bitmaps,
3900d590c07Smrg		   _Xconst FT_UInt  *glyphs,
3910d590c07Smrg		   int		    nglyph);
3920d590c07Smrg
3930d590c07Smrgvoid
3940d590c07SmrgXftFontUnloadGlyphs (Display		*dpy,
3950d590c07Smrg		     XftFont		*pub,
3960d590c07Smrg		     _Xconst FT_UInt	*glyphs,
3970d590c07Smrg		     int		nglyph);
3980d590c07Smrg
3990d590c07Smrg#define XFT_NMISSING		256
4000d590c07Smrg
4010d590c07SmrgFcBool
4020d590c07SmrgXftFontCheckGlyph (Display  *dpy,
4030d590c07Smrg		   XftFont  *pub,
4040d590c07Smrg		   FcBool   need_bitmaps,
4050d590c07Smrg		   FT_UInt  glyph,
4060d590c07Smrg		   FT_UInt  *missing,
4070d590c07Smrg		   int	    *nmissing);
4080d590c07Smrg
4090d590c07SmrgFcBool
4100d590c07SmrgXftCharExists (Display	    *dpy,
4110d590c07Smrg	       XftFont	    *pub,
4120d590c07Smrg	       FcChar32    ucs4);
4130d590c07Smrg    
4140d590c07SmrgFT_UInt
4150d590c07SmrgXftCharIndex (Display	    *dpy, 
4160d590c07Smrg	      XftFont	    *pub,
4170d590c07Smrg	      FcChar32	    ucs4);
4180d590c07Smrg    
4190d590c07Smrg/* xftinit.c */
4200d590c07SmrgFcBool
4210d590c07SmrgXftInit (_Xconst char *config);
4220d590c07Smrg
4230d590c07Smrgint
4240d590c07SmrgXftGetVersion (void);
4250d590c07Smrg
4260d590c07Smrg/* xftlist.c */
4270d590c07Smrg
4280d590c07SmrgFcFontSet *
4290d590c07SmrgXftListFonts (Display	*dpy,
4300d590c07Smrg	      int	screen,
4310d590c07Smrg	      ...) _X_SENTINEL(0);
4320d590c07Smrg
4330d590c07Smrg/* xftname.c */
4340d590c07SmrgFcPattern 
4350d590c07Smrg*XftNameParse (_Xconst char *name);
4360d590c07Smrg
4370d590c07Smrg/* xftrender.c */
4380d590c07Smrgvoid
4390d590c07SmrgXftGlyphRender (Display		*dpy,
4400d590c07Smrg		int		op,
4410d590c07Smrg		Picture		src,
4420d590c07Smrg		XftFont		*pub,
4430d590c07Smrg		Picture		dst,
4440d590c07Smrg		int		srcx,
4450d590c07Smrg		int		srcy,
4460d590c07Smrg		int		x,
4470d590c07Smrg		int		y,
4480d590c07Smrg		_Xconst FT_UInt	*glyphs,
4490d590c07Smrg		int		nglyphs);
4500d590c07Smrg
4510d590c07Smrgvoid
4520d590c07SmrgXftGlyphSpecRender (Display		    *dpy,
4530d590c07Smrg		    int			    op,
4540d590c07Smrg		    Picture		    src,
4550d590c07Smrg		    XftFont		    *pub,
4560d590c07Smrg		    Picture		    dst,
4570d590c07Smrg		    int			    srcx,
4580d590c07Smrg		    int			    srcy,
4590d590c07Smrg		    _Xconst XftGlyphSpec    *glyphs,
4600d590c07Smrg		    int			    nglyphs);
4610d590c07Smrg
4620d590c07Smrgvoid
4630d590c07SmrgXftCharSpecRender (Display		*dpy,
4640d590c07Smrg		   int			op,
4650d590c07Smrg		   Picture		src,
4660d590c07Smrg		   XftFont		*pub,
4670d590c07Smrg		   Picture		dst,
4680d590c07Smrg		   int			srcx, 
4690d590c07Smrg		   int			srcy,
4700d590c07Smrg		   _Xconst XftCharSpec	*chars,
4710d590c07Smrg		   int			len);
4720d590c07Smrg
4730d590c07Smrgvoid
4740d590c07SmrgXftGlyphFontSpecRender (Display			    *dpy,
4750d590c07Smrg			int			    op,
4760d590c07Smrg			Picture			    src,
4770d590c07Smrg			Picture			    dst,
4780d590c07Smrg			int			    srcx,
4790d590c07Smrg			int			    srcy,
4800d590c07Smrg			_Xconst XftGlyphFontSpec    *glyphs,
4810d590c07Smrg			int			    nglyphs);
4820d590c07Smrg
4830d590c07Smrgvoid
4840d590c07SmrgXftCharFontSpecRender (Display			*dpy,
4850d590c07Smrg		       int			op,
4860d590c07Smrg		       Picture			src,
4870d590c07Smrg		       Picture			dst,
4880d590c07Smrg		       int			srcx,
4890d590c07Smrg		       int			srcy,
4900d590c07Smrg		       _Xconst XftCharFontSpec	*chars,
4910d590c07Smrg		       int			len);
4920d590c07Smrg
4930d590c07Smrgvoid
4940d590c07SmrgXftTextRender8 (Display		*dpy,
4950d590c07Smrg		int		op,
4960d590c07Smrg		Picture		src,
4970d590c07Smrg		XftFont		*pub,
4980d590c07Smrg		Picture		dst,
4990d590c07Smrg		int		srcx,
5000d590c07Smrg		int		srcy,
5010d590c07Smrg		int		x,
5020d590c07Smrg		int		y,
5030d590c07Smrg		_Xconst FcChar8	*string,
5040d590c07Smrg		int		len);
5050d590c07Smrg
5060d590c07Smrgvoid
5070d590c07SmrgXftTextRender16 (Display	    *dpy,
5080d590c07Smrg		 int		    op,
5090d590c07Smrg		 Picture	    src,
5100d590c07Smrg		 XftFont	    *pub,
5110d590c07Smrg		 Picture	    dst,
5120d590c07Smrg		 int		    srcx,
5130d590c07Smrg		 int		    srcy,
5140d590c07Smrg		 int		    x,
5150d590c07Smrg		 int		    y,
5160d590c07Smrg		 _Xconst FcChar16   *string,
5170d590c07Smrg		 int		    len);
5180d590c07Smrg
5190d590c07Smrgvoid
5200d590c07SmrgXftTextRender16BE (Display	    *dpy,
5210d590c07Smrg		   int		    op,
5220d590c07Smrg		   Picture	    src,
5230d590c07Smrg		   XftFont	    *pub,
5240d590c07Smrg		   Picture	    dst,
5250d590c07Smrg		   int		    srcx,
5260d590c07Smrg		   int		    srcy,
5270d590c07Smrg		   int		    x,
5280d590c07Smrg		   int		    y,
5290d590c07Smrg		   _Xconst FcChar8  *string,
5300d590c07Smrg		   int		    len);
5310d590c07Smrg
5320d590c07Smrgvoid
5330d590c07SmrgXftTextRender16LE (Display	    *dpy,
5340d590c07Smrg		   int		    op,
5350d590c07Smrg		   Picture	    src,
5360d590c07Smrg		   XftFont	    *pub,
5370d590c07Smrg		   Picture	    dst,
5380d590c07Smrg		   int		    srcx,
5390d590c07Smrg		   int		    srcy,
5400d590c07Smrg		   int		    x,
5410d590c07Smrg		   int		    y,
5420d590c07Smrg		   _Xconst FcChar8  *string,
5430d590c07Smrg		   int		    len);
5440d590c07Smrg
5450d590c07Smrgvoid
5460d590c07SmrgXftTextRender32 (Display	    *dpy,
5470d590c07Smrg		 int		    op,
5480d590c07Smrg		 Picture	    src,
5490d590c07Smrg		 XftFont	    *pub,
5500d590c07Smrg		 Picture	    dst,
5510d590c07Smrg		 int		    srcx,
5520d590c07Smrg		 int		    srcy,
5530d590c07Smrg		 int		    x,
5540d590c07Smrg		 int		    y,
5550d590c07Smrg		 _Xconst FcChar32   *string,
5560d590c07Smrg		 int		    len);
5570d590c07Smrg
5580d590c07Smrgvoid
5590d590c07SmrgXftTextRender32BE (Display	    *dpy,
5600d590c07Smrg		   int		    op,
5610d590c07Smrg		   Picture	    src,
5620d590c07Smrg		   XftFont	    *pub,
5630d590c07Smrg		   Picture	    dst,
5640d590c07Smrg		   int		    srcx,
5650d590c07Smrg		   int		    srcy,
5660d590c07Smrg		   int		    x,
5670d590c07Smrg		   int		    y,
5680d590c07Smrg		   _Xconst FcChar8  *string,
5690d590c07Smrg		   int		    len);
5700d590c07Smrg
5710d590c07Smrgvoid
5720d590c07SmrgXftTextRender32LE (Display	    *dpy,
5730d590c07Smrg		   int		    op,
5740d590c07Smrg		   Picture	    src,
5750d590c07Smrg		   XftFont	    *pub,
5760d590c07Smrg		   Picture	    dst,
5770d590c07Smrg		   int		    srcx,
5780d590c07Smrg		   int		    srcy,
5790d590c07Smrg		   int		    x,
5800d590c07Smrg		   int		    y,
5810d590c07Smrg		   _Xconst FcChar8  *string,
5820d590c07Smrg		   int		    len);
5830d590c07Smrg
5840d590c07Smrgvoid
5850d590c07SmrgXftTextRenderUtf8 (Display	    *dpy,
5860d590c07Smrg		   int		    op,
5870d590c07Smrg		   Picture	    src,
5880d590c07Smrg		   XftFont	    *pub,
5890d590c07Smrg		   Picture	    dst,
5900d590c07Smrg		   int		    srcx,
5910d590c07Smrg		   int		    srcy,
5920d590c07Smrg		   int		    x,
5930d590c07Smrg		   int		    y,
5940d590c07Smrg		   _Xconst FcChar8  *string,
5950d590c07Smrg		   int		    len);
5960d590c07Smrg
5970d590c07Smrgvoid
5980d590c07SmrgXftTextRenderUtf16 (Display	    *dpy,
5990d590c07Smrg		    int		    op,
6000d590c07Smrg		    Picture	    src,
6010d590c07Smrg		    XftFont	    *pub,
6020d590c07Smrg		    Picture	    dst,
6030d590c07Smrg		    int		    srcx,
6040d590c07Smrg		    int		    srcy,
6050d590c07Smrg		    int		    x,
6060d590c07Smrg		    int		    y,
6070d590c07Smrg		    _Xconst FcChar8 *string,
6080d590c07Smrg		    FcEndian	    endian,
6090d590c07Smrg		    int		    len);
6100d590c07Smrg
6110d590c07Smrg/* xftxlfd.c */
6120d590c07SmrgFcPattern *
6130d590c07SmrgXftXlfdParse (_Xconst char *xlfd_orig, Bool ignore_scalable, Bool complete);
6140d590c07Smrg    
6150d590c07Smrg_XFUNCPROTOEND
6160d590c07Smrg
6170d590c07Smrg#endif /* _XFT_H_ */
618