diff options
author | Behdad Esfahbod <behdad@gnome.org> | 2006-08-15 20:46:10 +0000 |
---|---|---|
committer | Behdad Esfahbod <behdad@src.gnome.org> | 2006-08-15 20:46:10 +0000 |
commit | 4adf7dea1e8ecedb3bf9325be46c19c0167e0009 (patch) | |
tree | 1024154a4f997dbcf23f59a50199c79b2fe63643 | |
parent | 5ad6cd2803ba45fbdffe5226ace285ca4a696a60 (diff) | |
download | pango-4adf7dea1e8ecedb3bf9325be46c19c0167e0009.tar.gz |
Remove excess LRM.
2006-08-15 Behdad Esfahbod <behdad@gnome.org>
* examples/HELLO.utf8: Remove excess LRM.
* examples/viewer-pangocairo.c (render_callback): Draw baselines in
border-drawing mode.
* pango/pango-layout.c (pango_layout_line_get_extents): Make sure
we set logical_rect.y on empty lines. Previously empty lines had
wrong baseline. The code apparently was written like that
intentionally, but I cannot find out why.
-rw-r--r-- | ChangeLog | 12 | ||||
-rw-r--r-- | examples/HELLO.utf8 | 3 | ||||
-rw-r--r-- | examples/viewer-pangocairo.c | 27 | ||||
-rw-r--r-- | pango/pango-layout.c | 6 |
4 files changed, 37 insertions, 11 deletions
@@ -1,5 +1,17 @@ 2006-08-15 Behdad Esfahbod <behdad@gnome.org> + * examples/HELLO.utf8: Remove excess LRM. + + * examples/viewer-pangocairo.c (render_callback): Draw baselines in + border-drawing mode. + + * pango/pango-layout.c (pango_layout_line_get_extents): Make sure + we set logical_rect.y on empty lines. Previously empty lines had + wrong baseline. The code apparently was written like that + intentionally, but I cannot find out why. + +2006-08-15 Behdad Esfahbod <behdad@gnome.org> + * pango/break.c (pango_get_log_attrs): Remove initliazer members for analysis, let compiler zero them all. Fixes compile break after adding the gravity member inside there. diff --git a/examples/HELLO.utf8 b/examples/HELLO.utf8 index f7bb4974..5941461e 100644 --- a/examples/HELLO.utf8 +++ b/examples/HELLO.utf8 @@ -46,9 +46,8 @@ Chinese (中文,普通话,汉语) 你好 Cantonese (粵語,廣東話) 早晨, 你好 Korean (한글) 안녕하세요, 안녕하십니까 -Difference among chinese characters in GB, JIS, KSC, BIG5: +Difference among chinese characters in GB, JIS, KSC, BIG5: GB -- 元气 开发 JIS -- 元気 開発 KSC -- 元氣 開發 BIG5 -- 元氣 開發 - diff --git a/examples/viewer-pangocairo.c b/examples/viewer-pangocairo.c index 5638ffc9..53ee38ce 100644 --- a/examples/viewer-pangocairo.c +++ b/examples/viewer-pangocairo.c @@ -149,11 +149,11 @@ render_callback (PangoLayout *layout, { PangoRectangle ink, logical; double lw = cairo_get_line_width (cr); + PangoLayoutIter* iter; pango_layout_get_extents (layout, &ink, &logical); - cairo_set_source_rgba (cr, 1.0, 0.0, 0.0, 0.75); - + cairo_set_source_rgba (cr, 1.0, 0.0, 0.0, 0.5); cairo_rectangle (cr, (double)logical.x / PANGO_SCALE - lw / 2, (double)logical.y / PANGO_SCALE - lw / 2, @@ -161,14 +161,33 @@ render_callback (PangoLayout *layout, (double)logical.height / PANGO_SCALE + lw); cairo_stroke (cr); - cairo_set_source_rgba (cr, 0.0, 1.0, 0.0, 0.75); - + cairo_save (cr); + cairo_set_line_width (cr, lw / 2); + cairo_set_source_rgba (cr, 0.0, 0.0, 1.0, 0.5); + iter = pango_layout_get_iter (layout); + do + { + y = pango_layout_iter_get_baseline (iter); + cairo_move_to (cr, + (double)logical.x / PANGO_SCALE, + (double)y / PANGO_SCALE + lw / 4); + cairo_rel_line_to (cr, + (double)logical.width / PANGO_SCALE, + 0); + cairo_stroke (cr); + } + while (pango_layout_iter_next_line (iter)); + pango_layout_iter_free (iter); + cairo_restore (cr); + + cairo_set_source_rgba (cr, 0.0, 1.0, 0.0, 0.5); cairo_rectangle (cr, (double)ink.x / PANGO_SCALE - lw / 2, (double)ink.y / PANGO_SCALE - lw / 2, (double)ink.width / PANGO_SCALE + lw, (double)ink.height / PANGO_SCALE + lw); cairo_stroke (cr); + } cairo_restore (cr); } diff --git a/pango/pango-layout.c b/pango/pango-layout.c index 11cd6035..db2c870c 100644 --- a/pango/pango-layout.c +++ b/pango/pango-layout.c @@ -4060,11 +4060,7 @@ pango_layout_line_get_extents (PangoLayoutLine *line, } if (logical_rect && !line->runs) - { - PangoRectangle temp_rect; - pango_layout_line_get_empty_extents (line, &temp_rect); - logical_rect->height = temp_rect.height; - } + pango_layout_line_get_empty_extents (line, logical_rect); } static PangoLayoutLine * |