17.22. Data Definitions for libpangoxft-1.0

This section defines global identifiers and their values that are associated with interfaces contained in libpangoxft-1.0. These definitions are organized into groups that correspond to system headers. This convention is used as a convenience for the reader, and does not imply the existence of these headers, or their content. Where an interface is defined as requiring a particular system header file all of the data definitions for that system header file presented here shall be in effect.

This section gives data definitions to promote binary application portability, not to repeat source interface definitions available elsewhere. System providers and application developers should use this ABI to supplement - not to replace - source interface definition specifications.

This specification uses the ISO C (1999) C Language as the reference programming language, and data definitions are specified in ISO C format. The C language is used here as a convenient notation. Using a C language description of these data objects does not preclude their use by other programming languages.

17.22.1. pango-1.0/pango/pangoxft.h

#define PANGO_XFT_RENDERER_CLASS(klass)	 \
#define PANGO_XFT_FONT(object)	 \
#define PANGO_XFT_FONT_MAP(object)	 \
#define PANGO_XFT_RENDERER(object)	 \
#define PANGO_XFT_IS_FONT(object)	 \
#define PANGO_XFT_IS_FONT_MAP(object)	 \
#define PANGO_IS_XFT_RENDERER(object)	 \
#define PANGO_TYPE_XFT_FONT	(pango_xft_font_get_type ())
#define PANGO_TYPE_XFT_FONT_MAP	(pango_xft_font_map_get_type ())
#define PANGO_TYPE_XFT_RENDERER	(pango_xft_renderer_get_type())
#define PANGO_RENDER_TYPE_XFT	"PangoRenderXft"

typedef struct _PangoXftRenderer {
    PangoRenderer parent_instance;
    Display *display;
    int screen;
    XftDraw *draw;
    PangoXftRendererPrivate *priv;
} PangoXftRenderer;
typedef void (*PangoXftSubstituteFunc) (FcPattern * pattern,
					gpointer data);
typedef struct _PangoXftFontMap PangoXftFontMap;
typedef struct _PangoXftRendererClass {
    PangoRendererClass parent_class;
    void (*composite_trapezoids) (PangoXftRenderer * xftrenderer,
				  PangoRenderPart part,
				  XTrapezoid * trapezoids,
				  int n_trapezoids);
    void (*composite_glyphs) (PangoXftRenderer * xftrenderer,
			      XftFont * xft_font, XftGlyphSpec * glyphs,
			      int n_glyphs);
} PangoXftRendererClass;
typedef struct _PangoFcFontClass PangoFcFontClass;
typedef struct _PangoFcFont PangoFcFont;
typedef struct _PangoXftFont PangoXftFont;
typedef struct _PangoXftRendererPrivate PangoXftRendererPrivate;
extern GType pango_xft_font_get_type(void);
extern GType pango_xft_font_map_get_type(void);
extern PangoContext *pango_xft_get_context(Display * display, int screen);
extern PangoFontMap *pango_xft_get_font_map(Display * display, int screen);
extern void pango_xft_picture_render(Display * display,
				     Picture src_picture,
				     Picture dest_picture,
				     PangoFont * font,
				     PangoGlyphString * glyphs, gint x,
				     gint y);
extern void pango_xft_render(XftDraw * draw, XftColor * color,
			     PangoFont * font, PangoGlyphString * glyphs,
			     gint x, gint y);
extern void pango_xft_render_layout(XftDraw * draw, XftColor * color,
				    PangoLayout * layout, int x, int y);
extern void pango_xft_render_layout_line(XftDraw * draw, XftColor * color,
					 PangoLayoutLine * line, int x,
					 int y);
extern void pango_xft_render_transformed(XftDraw * draw, XftColor * color,
					 PangoMatrix * matrix,
					 PangoFont * font,
					 PangoGlyphString * glyphs, int x,
					 int y);
extern GType pango_xft_renderer_get_type(void);
extern PangoRenderer *pango_xft_renderer_new(Display * display,
					     int screen);
extern void pango_xft_renderer_set_default_color(PangoXftRenderer *
						 PangoColor *
extern void pango_xft_renderer_set_draw(PangoXftRenderer * xftrenderer,
					XftDraw * draw);
extern void pango_xft_set_default_substitute(Display * display, int screen,
					     PangoXftSubstituteFunc func,
					     gpointer data,
					     GDestroyNotify notify);
extern void pango_xft_shutdown_display(Display * display, int screen);
extern void pango_xft_substitute_changed(Display * display, int screen);