diff options
author | Behdad Esfahbod <behdad@gnome.org> | 2006-08-16 02:01:17 +0000 |
---|---|---|
committer | Behdad Esfahbod <behdad@src.gnome.org> | 2006-08-16 02:01:17 +0000 |
commit | 927657a432fadf219e7fdf057e4493658192a963 (patch) | |
tree | 4ed60f3434529a69f7e7586def646437623a9486 /pango/pango-context.c | |
parent | 3b88b840eac1b8b8dca9c6d93f916ef70e973ca8 (diff) | |
download | pango-927657a432fadf219e7fdf057e4493658192a963.tar.gz |
Return if none of logical_rect or ink_rect is non-NULL.
2006-08-15 Behdad Esfahbod <behdad@gnome.org>
* pango/pango-layout.c (pango_layout_run_get_extents):
* pango/glyphstring.c (pango_glyph_string_extents_range):
Return if none of logical_rect or ink_rect is non-NULL.
* pango/pango-item.h (PangoAnalysis): Add new member centered_baseline
which if set, makes item rendered such that ascent == descent.
* pango/pango-context.c (itemize_state_init),
(itemize_state_add_character):
* pango/pango-renderer.c (pango_renderer_draw_layout_line):
Implement centered_baseline.
* pango/pangocairo-fcfont.c (pango_cairo_fc_font_get_metrics): When
adjusting ascent/descent for vertical fonts, adjust strikethrough and
underline position too.
* docs/tmpl/main.sgml: Document new struct member.
Diffstat (limited to 'pango/pango-context.c')
-rw-r--r-- | pango/pango-context.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/pango/pango-context.c b/pango/pango-context.c index c0e20420..31953c71 100644 --- a/pango/pango-context.c +++ b/pango/pango-context.c @@ -577,6 +577,7 @@ struct _ItemizeState const char *embedding_end; guint8 embedding; PangoGravity gravity; + gboolean centered_baseline; PangoAttrIterator *attr_iter; gboolean free_attr_iter; @@ -707,7 +708,10 @@ itemize_state_init (ItemizeState *state, * proper gravity assignment. */ state->gravity = context->base_gravity; - + + state->centered_baseline = context->base_gravity == PANGO_GRAVITY_EAST + || context->base_gravity == PANGO_GRAVITY_WEST; + /* Initialize the attribute iterator */ if (cached_iter) @@ -902,6 +906,8 @@ itemize_state_add_character (ItemizeState *state, break; } + state->item->analysis.centered_baseline = state->centered_baseline; + state->item->analysis.language = state->derived_lang; if (state->copy_extra_attrs) |