summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOwen Taylor <otaylor@redhat.com>2000-11-15 21:13:51 +0000
committerOwen Taylor <otaylor@src.gnome.org>2000-11-15 21:13:51 +0000
commit8797f632c8f9f91eb26573e86accd9fcc1ad6322 (patch)
tree27c403e166951fd4477f94f1bc8a49b02a1e2f9c
parent2ada6694c44b01a1991b9fe8fa9ea7fcb6395709 (diff)
downloadpango-8797f632c8f9f91eb26573e86accd9fcc1ad6322.tar.gz
Fix problem where right-aligned lines weren't getting properly offset
Wed Nov 15 15:04:00 2000 Owen Taylor <otaylor@redhat.com> * pango/pango-layout.c (pango_layout_get_extents_internal): Fix problem where right-aligned lines weren't getting properly offset because width was left as -1.
-rw-r--r--ChangeLog6
-rw-r--r--ChangeLog.pre-1-06
-rw-r--r--ChangeLog.pre-1-106
-rw-r--r--ChangeLog.pre-1-26
-rw-r--r--ChangeLog.pre-1-46
-rw-r--r--ChangeLog.pre-1-66
-rw-r--r--ChangeLog.pre-1-86
-rw-r--r--pango/pango-layout.c9
8 files changed, 47 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 2cf53ddc..03f8fcef 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Wed Nov 15 15:04:00 2000 Owen Taylor <otaylor@redhat.com>
+
+ * pango/pango-layout.c (pango_layout_get_extents_internal):
+ Fix problem where right-aligned lines weren't getting properly
+ offset because width was left as -1.
+
Tue Nov 14 18:45:24 2000 Owen Taylor <otaylor@redhat.com>
* pango/shape.c (pango_shape): Every character must
diff --git a/ChangeLog.pre-1-0 b/ChangeLog.pre-1-0
index 2cf53ddc..03f8fcef 100644
--- a/ChangeLog.pre-1-0
+++ b/ChangeLog.pre-1-0
@@ -1,3 +1,9 @@
+Wed Nov 15 15:04:00 2000 Owen Taylor <otaylor@redhat.com>
+
+ * pango/pango-layout.c (pango_layout_get_extents_internal):
+ Fix problem where right-aligned lines weren't getting properly
+ offset because width was left as -1.
+
Tue Nov 14 18:45:24 2000 Owen Taylor <otaylor@redhat.com>
* pango/shape.c (pango_shape): Every character must
diff --git a/ChangeLog.pre-1-10 b/ChangeLog.pre-1-10
index 2cf53ddc..03f8fcef 100644
--- a/ChangeLog.pre-1-10
+++ b/ChangeLog.pre-1-10
@@ -1,3 +1,9 @@
+Wed Nov 15 15:04:00 2000 Owen Taylor <otaylor@redhat.com>
+
+ * pango/pango-layout.c (pango_layout_get_extents_internal):
+ Fix problem where right-aligned lines weren't getting properly
+ offset because width was left as -1.
+
Tue Nov 14 18:45:24 2000 Owen Taylor <otaylor@redhat.com>
* pango/shape.c (pango_shape): Every character must
diff --git a/ChangeLog.pre-1-2 b/ChangeLog.pre-1-2
index 2cf53ddc..03f8fcef 100644
--- a/ChangeLog.pre-1-2
+++ b/ChangeLog.pre-1-2
@@ -1,3 +1,9 @@
+Wed Nov 15 15:04:00 2000 Owen Taylor <otaylor@redhat.com>
+
+ * pango/pango-layout.c (pango_layout_get_extents_internal):
+ Fix problem where right-aligned lines weren't getting properly
+ offset because width was left as -1.
+
Tue Nov 14 18:45:24 2000 Owen Taylor <otaylor@redhat.com>
* pango/shape.c (pango_shape): Every character must
diff --git a/ChangeLog.pre-1-4 b/ChangeLog.pre-1-4
index 2cf53ddc..03f8fcef 100644
--- a/ChangeLog.pre-1-4
+++ b/ChangeLog.pre-1-4
@@ -1,3 +1,9 @@
+Wed Nov 15 15:04:00 2000 Owen Taylor <otaylor@redhat.com>
+
+ * pango/pango-layout.c (pango_layout_get_extents_internal):
+ Fix problem where right-aligned lines weren't getting properly
+ offset because width was left as -1.
+
Tue Nov 14 18:45:24 2000 Owen Taylor <otaylor@redhat.com>
* pango/shape.c (pango_shape): Every character must
diff --git a/ChangeLog.pre-1-6 b/ChangeLog.pre-1-6
index 2cf53ddc..03f8fcef 100644
--- a/ChangeLog.pre-1-6
+++ b/ChangeLog.pre-1-6
@@ -1,3 +1,9 @@
+Wed Nov 15 15:04:00 2000 Owen Taylor <otaylor@redhat.com>
+
+ * pango/pango-layout.c (pango_layout_get_extents_internal):
+ Fix problem where right-aligned lines weren't getting properly
+ offset because width was left as -1.
+
Tue Nov 14 18:45:24 2000 Owen Taylor <otaylor@redhat.com>
* pango/shape.c (pango_shape): Every character must
diff --git a/ChangeLog.pre-1-8 b/ChangeLog.pre-1-8
index 2cf53ddc..03f8fcef 100644
--- a/ChangeLog.pre-1-8
+++ b/ChangeLog.pre-1-8
@@ -1,3 +1,9 @@
+Wed Nov 15 15:04:00 2000 Owen Taylor <otaylor@redhat.com>
+
+ * pango/pango-layout.c (pango_layout_get_extents_internal):
+ Fix problem where right-aligned lines weren't getting properly
+ offset because width was left as -1.
+
Tue Nov 14 18:45:24 2000 Owen Taylor <otaylor@redhat.com>
* pango/shape.c (pango_shape): Every character must
diff --git a/pango/pango-layout.c b/pango/pango-layout.c
index 309e89ec..9b0d844e 100644
--- a/pango/pango-layout.c
+++ b/pango/pango-layout.c
@@ -1565,9 +1565,6 @@ get_line_extents_layout_coords (PangoLayout *layout,
pango_layout_line_get_extents (line, line_ink_layout ? &line_ink : NULL,
&line_logical);
- /* layout_width can be -1 in which case we just get a bogus x/y for
- * the line
- */
get_x_offset (layout, line, layout_width, line_logical.width, &x_offset);
/* Convert the line's extents into layout coordinates */
@@ -1610,8 +1607,12 @@ pango_layout_get_extents_internal (PangoLayout *layout,
pango_layout_check_lines (layout);
+ /* When we are not wrapping, we need the overall width of the layout to figure
+ * out the x_offsets of each line. However, we only need the x_offsets if
+ * we are computing the ink_rect or individual line extents.
+ */
width = layout->width;
- if (width == -1 && layout->alignment != PANGO_ALIGN_LEFT && ink_rect != NULL)
+ if (width == -1 && layout->alignment != PANGO_ALIGN_LEFT && (ink_rect || line_extents))
{
PangoRectangle overall_logical;