diff options
-rw-r--r-- | ChangeLog | 12 | ||||
-rw-r--r-- | docs/pango-sections.txt | 1 | ||||
-rw-r--r-- | pango/pango-layout.c | 23 | ||||
-rw-r--r-- | pango/pango-layout.h | 1 | ||||
-rw-r--r-- | pango/pango.def | 1 |
5 files changed, 38 insertions, 0 deletions
@@ -1,5 +1,17 @@ 2008-04-21 Behdad Esfahbod <behdad@gnome.org> + Bug 404416 – pango_layout_get_baseline or something + + * docs/pango-sections.txt: + * pango/pango-layout.c (pango_layout_get_baseline): + * pango/pango-layout.h: + * pango/pango.def: + New public API: + + pango_layout_get_baseline() + +2008-04-21 Behdad Esfahbod <behdad@gnome.org> + Bug 474706 – cairo hexbox looks ugly * pango/pangocairo-font.c diff --git a/docs/pango-sections.txt b/docs/pango-sections.txt index 7f8e1ab6..a6f42db3 100644 --- a/docs/pango-sections.txt +++ b/docs/pango-sections.txt @@ -491,6 +491,7 @@ pango_layout_get_extents pango_layout_get_pixel_extents pango_layout_get_size pango_layout_get_pixel_size +pango_layout_get_baseline pango_layout_get_line_count pango_layout_get_line pango_layout_get_line_readonly diff --git a/pango/pango-layout.c b/pango/pango-layout.c index af816689..9eabddee 100644 --- a/pango/pango-layout.c +++ b/pango/pango-layout.c @@ -2669,6 +2669,29 @@ pango_layout_get_pixel_size (PangoLayout *layout, *height = logical_rect.height; } +/** + * pango_layout_get_baseline: + * @layout: a #PangoLayout + * + * Gets the Y position of baseline of the first line in @layout. + * + * Return value: baseline of first line, from top of @layout. + * + * Since: 1.22 + **/ +int +pango_layout_get_baseline (PangoLayout *layout) +{ + int baseline; + + /* XXX this is so inefficient */ + PangoLayoutIter *iter = pango_layout_get_iter (layout); + baseline = pango_layout_iter_get_baseline (iter); + pango_layout_iter_free (iter); + + return baseline; +} + static void pango_layout_clear_lines (PangoLayout *layout) { diff --git a/pango/pango-layout.h b/pango/pango-layout.h index 108ce872..3b769ffa 100644 --- a/pango/pango-layout.h +++ b/pango/pango-layout.h @@ -202,6 +202,7 @@ void pango_layout_get_size (PangoLayout *layout, void pango_layout_get_pixel_size (PangoLayout *layout, int *width, int *height); +int pango_layout_get_baseline (PangoLayout *layout); int pango_layout_get_line_count (PangoLayout *layout); PangoLayoutLine *pango_layout_get_line (PangoLayout *layout, diff --git a/pango/pango.def b/pango/pango.def index a71705ff..0223facf 100644 --- a/pango/pango.def +++ b/pango/pango.def @@ -217,6 +217,7 @@ EXPORTS pango_layout_get_alignment pango_layout_get_attributes pango_layout_get_auto_dir + pango_layout_get_baseline pango_layout_get_context pango_layout_get_cursor_pos pango_layout_get_ellipsize |