diff options
author | Havoc Pennington <hp@redhat.com> | 2001-04-27 23:50:03 +0000 |
---|---|---|
committer | Havoc Pennington <hp@src.gnome.org> | 2001-04-27 23:50:03 +0000 |
commit | 54fe82fbb797d6c72c81e629cba28fd803df7122 (patch) | |
tree | fdc77f4e259a37146f30d96b9724477f9702b970 /pango/pangox-private.h | |
parent | 374817f27422db4a5d4c68c423607ff560e53140 (diff) | |
download | pango-54fe82fbb797d6c72c81e629cba28fd803df7122.tar.gz |
Move some fontmap stuff to pangox-private.h to access fontmap->resolution
2001-04-27 Havoc Pennington <hp@redhat.com>
* pango/pangox-fontmap.c: Move some fontmap stuff to
pangox-private.h to access fontmap->resolution in pangox.c
* pango/pangox.c (get_font_metrics_from_subfonts): multiply
avg. width by PANGO_SCALE, and consider that avg width from X is
in decipoints
* modules/basic/basic-x.c: mark some chars unknown when shaping,
with a flag PANGO_X_UNKNOWN_FLAG
* pango/pangox.c (pango_x_font_get_metrics): use lookup_lang not
lang when calling get_font_metrics_from_string
(pango_x_render): render unknown chars
* pango/pango-layout.c:
(pango_layout_set_single_paragraph_mode): add mode where we don't
break on para separators, instead we shape them and display glyphs
(pango_layout_get_single_paragraph_mode): getter for above
(pango_layout_check_lines): handle single paragraph mode
Diffstat (limited to 'pango/pangox-private.h')
-rw-r--r-- | pango/pangox-private.h | 38 |
1 files changed, 37 insertions, 1 deletions
diff --git a/pango/pangox-private.h b/pango/pangox-private.h index 57472b55..1549d03e 100644 --- a/pango/pangox-private.h +++ b/pango/pangox-private.h @@ -60,6 +60,41 @@ struct _PangoXFont PangoXFontEntry *entry; /* Used to remove cached fonts */ }; + +#define PANGO_TYPE_X_FONT_MAP (pango_x_font_map_get_type ()) +#define PANGO_X_FONT_MAP(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_X_FONT_MAP, PangoXFontMap)) +#define PANGO_X_FONT_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PANGO_TYPE_X_FONT_MAP, PangoXFontMapClass)) +#define PANGO_X_IS_FONT_MAP(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_X_FONT_MAP)) +#define PANGO_X_IS_FONT_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PANGO_TYPE_X_FONT_MAP)) +#define PANGO_X_FONT_MAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PANGO_TYPE_X_FONT_MAP, PangoXFontMapClass)) + +typedef struct _PangoXFontMap PangoXFontMap; +typedef struct _PangoXFontMapClass PangoXFontMapClass; + +struct _PangoXFontMap +{ + PangoFontMap parent_instance; + + Display *display; + + PangoXFontCache *font_cache; + GQueue *freed_fonts; + + GHashTable *families; + GHashTable *size_infos; + + GHashTable *to_atom_cache; + GHashTable *from_atom_cache; + + int n_fonts; + + double resolution; /* (points / pixel) * PANGO_SCALE */ + + Window coverage_win; +}; + +GType pango_x_font_map_get_type (void); + PangoXFont * pango_x_font_new (PangoFontMap *fontmap, const char *spec, int size); @@ -85,6 +120,7 @@ Atom pango_x_fontmap_atom_from_name (PangoFontMap *fontmap, const char *pango_x_fontmap_name_from_atom (PangoFontMap *fontmap, Atom atom); - +PangoGlyph pango_x_font_get_unknown_glyph (PangoFont *font, + gunichar wc); #endif /* __PANGOX_PRIVATE_H__ */ |