[gnumeric] xls: fix direction flipping for lines and arrows export.
- From: Morten Welinder <mortenw src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [gnumeric] xls: fix direction flipping for lines and arrows export.
- Date: Thu, 15 Oct 2009 15:15:53 +0000 (UTC)
commit 6d8c2cf44298d671a2bc63d851eabfcd6d538749
Author: Morten Welinder <terra gnome org>
Date: Thu Oct 15 11:15:25 2009 -0400
xls: fix direction flipping for lines and arrows export.
plugins/excel/ChangeLog | 5 +++++
plugins/excel/ms-excel-write.c | 11 +++++++++--
2 files changed, 14 insertions(+), 2 deletions(-)
---
diff --git a/plugins/excel/ChangeLog b/plugins/excel/ChangeLog
index 10e5aeb..a982ec2 100644
--- a/plugins/excel/ChangeLog
+++ b/plugins/excel/ChangeLog
@@ -1,3 +1,8 @@
+2009-10-15 Morten Welinder <terra gnome org>
+
+ * ms-excel-write.c (excel_write_line_v8): Fix handling of
+ direction.
+
2009-10-14 Morten Welinder <terra gnome org>
* ms-escher.c (ms_escher_read_OPT): Don't arbitrarily add 1 to
diff --git a/plugins/excel/ms-excel-write.c b/plugins/excel/ms-excel-write.c
index 6734ca6..6624f3d 100644
--- a/plugins/excel/ms-excel-write.c
+++ b/plugins/excel/ms-excel-write.c
@@ -4559,6 +4559,8 @@ excel_write_line_v8 (ExcelWriteSheet *esheet, SheetObject *so)
guint8 zero[4] = { 0, 0, 0, 0 };
GOStyle *style;
GOArrow *start_arrow, *end_arrow;
+ SheetObjectAnchor const *anchor = sheet_object_get_anchor (so);
+ guint32 spflags;
g_object_get (so,
"start-arrow", &start_arrow,
@@ -4569,7 +4571,12 @@ excel_write_line_v8 (ExcelWriteSheet *esheet, SheetObject *so)
spmark = ms_escher_spcontainer_start (escher);
- ms_escher_sp (escher, id, shape, 0x00000a00); /* fHaveAnchor+fHaveSpt */
+ spflags = 0x00000a00; /* fHaveAnchor+fHaveSpt */
+ if ((anchor->base.direction & GOD_ANCHOR_DIR_H_MASK) == 0)
+ spflags |= 0x40;
+ if ((anchor->base.direction & GOD_ANCHOR_DIR_V_MASK) == 0)
+ spflags |= 0x80;
+ ms_escher_sp (escher, id, shape, spflags);
optmark = ms_escher_opt_start (escher);
extra = g_string_new (NULL);
@@ -4605,7 +4612,7 @@ excel_write_line_v8 (ExcelWriteSheet *esheet, SheetObject *so)
ms_escher_opt_end (escher, optmark);
g_string_free (extra, TRUE);
- ms_escher_clientanchor (escher, sheet_object_get_anchor (so));
+ ms_escher_clientanchor (escher, anchor);
ms_escher_clientdata (escher);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]