#ifndef _XFTFREETYPE_H_
#define _XFTFREETYPE_H_
#include "Xft.h"
#include <ft2build.h>
#include FT_FREETYPE_H
#include <X11/Xfuncproto.h>
#include <X11/Xosdefs.h>
extern FT_Library _XftFTlibrary;
struct _XftFontStruct {
FT_Face face;
GlyphSet glyphset;
int min_char;
int max_char;
FT_F26Dot6 size;
int ascent;
int descent;
int height;
int max_advance_width;
int spacing;
int rgba;
Bool antialias;
int charmap;
XRenderPictFormat *format;
XGlyphInfo **realized;
int nrealized;
Bool transform;
FT_Matrix matrix;
};
#define XftUntestedGlyph ((XGlyphInfo *) 1)
_XFUNCPROTOBEGIN
Bool
XftDirScan (XftFontSet *set, const char *dir, Bool force);
Bool
XftDirSave (XftFontSet *set, const char *dir);
XftPattern *
XftFreeTypeQuery (const char *file, int id, int *count);
Bool
XftFreeTypeSetFace (FT_Face face, FT_F26Dot6 size, int charmap, FT_Matrix *matrix);
XftFontStruct *
XftFreeTypeOpen (Display *dpy, XftPattern *pattern);
void
XftFreeTypeClose (Display *dpy, XftFontStruct *font);
XftFontStruct *
XftFreeTypeGet (XftFont *font);
Bool
XftInitFtLibrary(void);
void
XftGlyphLoad (Display *dpy,
XftFontStruct *font,
XftChar32 *glyphs,
int nglyph);
void
XftGlyphCheck (Display *dpy,
XftFontStruct *font,
XftChar32 glyph,
XftChar32 *missing,
int *nmissing);
Bool
XftFreeTypeGlyphExists (Display *dpy,
XftFontStruct *font,
XftChar32 glyph);
void
XftRenderString8 (Display *dpy, Picture src,
XftFontStruct *font, Picture dst,
int srcx, int srcy,
int x, int y,
XftChar8 *string, int len);
void
XftRenderString16 (Display *dpy, Picture src,
XftFontStruct *font, Picture dst,
int srcx, int srcy,
int x, int y,
XftChar16 *string, int len);
void
XftRenderString32 (Display *dpy, Picture src,
XftFontStruct *font, Picture dst,
int srcx, int srcy,
int x, int y,
XftChar32 *string, int len);
void
XftRenderStringUtf8 (Display *dpy, Picture src,
XftFontStruct *font, Picture dst,
int srcx, int srcy,
int x, int y,
XftChar8 *string, int len);
void
XftRenderExtents8 (Display *dpy,
XftFontStruct *font,
XftChar8 *string,
int len,
XGlyphInfo *extents);
void
XftRenderExtents16 (Display *dpy,
XftFontStruct *font,
XftChar16 *string,
int len,
XGlyphInfo *extents);
void
XftRenderExtents32 (Display *dpy,
XftFontStruct *font,
XftChar32 *string,
int len,
XGlyphInfo *extents);
void
XftRenderExtentsUtf8 (Display *dpy,
XftFontStruct *font,
XftChar8 *string,
int len,
XGlyphInfo *extents);
_XFUNCPROTOEND
#endif