summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBehdad Esfahbod <behdad@gnome.org>2008-04-21 22:16:44 +0000
committerBehdad Esfahbod <behdad@src.gnome.org>2008-04-21 22:16:44 +0000
commit9b3aa20fc9ba19a2727e9388c60bb398c4d60978 (patch)
tree729f39396e31ecc550de4206779a298da1fa672e
parent35699a667f6d28d843d6f6fb6d099415755f7401 (diff)
downloadpango-9b3aa20fc9ba19a2727e9388c60bb398c4d60978.tar.gz
Bug 404416 – pango_layout_get_baseline or something
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() svn path=/trunk/; revision=2605
-rw-r--r--ChangeLog12
-rw-r--r--docs/pango-sections.txt1
-rw-r--r--pango/pango-layout.c23
-rw-r--r--pango/pango-layout.h1
-rw-r--r--pango/pango.def1
5 files changed, 38 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index c3737f43..13cc5d37 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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