12.13. 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.

12.13.1. pango-1.0/pango/pangoxft.h


#define PANGO_XFT_RENDERER_CLASS(klass)	 \
	(G_TYPE_CHECK_CLASS_CAST ((klass), PANGO_TYPE_XFT_RENDERER, \
	PangoXftRendererClass))
#define PANGO_IS_XFT_RENDERER_CLASS(klass)	 \
	(G_TYPE_CHECK_CLASS_TYPE ((klass), PANGO_TYPE_XFT_RENDERER))
#define PANGO_XFT_FONT(object)	 \
	(G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_XFT_FONT, \
	PangoXftFont))
#define PANGO_XFT_FONT_MAP(object)	 \
	(G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_XFT_FONT_MAP, \
	PangoXftFontMap))
#define PANGO_XFT_RENDERER(object)	 \
	(G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_XFT_RENDERER, \
	PangoXftRenderer))
#define PANGO_XFT_IS_FONT(object)	 \
	(G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_XFT_FONT))
#define PANGO_XFT_IS_FONT_MAP(object)	 \
	(G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_XFT_FONT_MAP))
#define PANGO_IS_XFT_RENDERER(object)	 \
	(G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_XFT_RENDERER))
#define PANGO_XFT_RENDERER_GET_CLASS(obj)	 \
	(G_TYPE_INSTANCE_GET_CLASS ((obj), PANGO_TYPE_XFT_RENDERER, \
	PangoXftRendererClass))
#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
 PangoXftRenderer;
typedef void (*PangoXftSubstituteFunc) (FcPattern *, gpointer);
typedef struct _PangoXftFontMap
 PangoXftFontMap;
typedef struct _PangoXftRendererClass {
    PangoRendererClass parent_class;
    void (*composite_trapezoids) (PangoXftRenderer *, PangoRenderPart,
				  XTrapezoid *, int);
    void (*composite_glyphs) (PangoXftRenderer *, XftFont *,
			      XftGlyphSpec *, int);
} PangoXftRendererClass;
typedef struct _PangoFcFontClass
 PangoFcFontClass;
typedef struct _PangoFcFont
 PangoFcFont;
typedef struct _PangoXftFont
 PangoXftFont;
typedef struct _PangoXftRendererPrivate
 PangoXftRendererPrivate;
extern void pango_xft_substitute_changed(Display *, int);
extern void pango_xft_render(XftDraw *, XftColor *, PangoFont *,
			     PangoGlyphString *, gint, gint);
extern PangoRenderer *pango_xft_renderer_new(Display *, int);
extern GType pango_xft_renderer_get_type(void);
extern void pango_xft_renderer_set_default_color(PangoXftRenderer *,
						 PangoColor *);
extern GType pango_xft_font_get_type(void);
extern void pango_xft_picture_render(Display *, Picture, Picture,
				     PangoFont *, PangoGlyphString *, gint,
				     gint);
extern void pango_xft_render_layout(XftDraw *, XftColor *, PangoLayout *,
				    int, int);
extern void pango_xft_render_transformed(XftDraw *, XftColor *,
					 PangoMatrix *, PangoFont *,
					 PangoGlyphString *, int, int);
extern void pango_xft_renderer_set_draw(PangoXftRenderer *, XftDraw *);
extern void pango_xft_render_layout_line(XftDraw *, XftColor *,
					 PangoLayoutLine *, int, int);
extern void pango_xft_shutdown_display(Display *, int);
extern PangoFontMap *pango_xft_get_font_map(Display *, int);
extern PangoContext *pango_xft_get_context(Display *, int);
extern GType pango_xft_font_map_get_type(void);
extern void pango_xft_set_default_substitute(Display *, int,
					     PangoXftSubstituteFunc,
					     gpointer, GDestroyNotify);