summaryrefslogtreecommitdiff
path: root/pango/pango-context.c
diff options
context:
space:
mode:
authorBehdad Esfahbod <behdad@gnome.org>2006-08-16 02:01:17 +0000
committerBehdad Esfahbod <behdad@src.gnome.org>2006-08-16 02:01:17 +0000
commit927657a432fadf219e7fdf057e4493658192a963 (patch)
tree4ed60f3434529a69f7e7586def646437623a9486 /pango/pango-context.c
parent3b88b840eac1b8b8dca9c6d93f916ef70e973ca8 (diff)
downloadpango-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.c8
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)