[gnumeric] GnmSOLine: simplify drawing code.



commit 72768793f0978c213f7c33e9ec63a34a10f21d7a
Author: Morten Welinder <terra gnome org>
Date:   Tue Feb 10 14:03:37 2015 -0500

    GnmSOLine: simplify drawing code.

 ChangeLog         |    4 ++++
 src/gnm-so-line.c |   28 ++++++----------------------
 2 files changed, 10 insertions(+), 22 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index f03c463..cfd550b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2015-02-10  Morten Welinder  <terra gnome org>
+
+       * src/gnm-so-line.c (gnm_so_line_draw_cairo): Simplify.
+
 2015-02-06  Morten Welinder  <terra gnome org>
 
        * src/sheet-object-widget.c (sheet_widget_adjustment_set_link)
diff --git a/src/gnm-so-line.c b/src/gnm-so-line.c
index 5d95303..cdee305 100644
--- a/src/gnm-so-line.c
+++ b/src/gnm-so-line.c
@@ -208,36 +208,20 @@ gnm_so_line_draw_cairo (SheetObject const *so, cairo_t *cr,
            style->line.dash_type == GO_LINE_NONE)
                return;
 
-       switch (so->anchor.base.direction) {
-       case GOD_ANCHOR_DIR_UP_RIGHT:
-       case GOD_ANCHOR_DIR_DOWN_RIGHT:
+       if ((so->anchor.base.direction & GOD_ANCHOR_DIR_H_MASK) == GOD_ANCHOR_DIR_RIGHT) {
                x1 = 0.;
                x2 = width;
-               break;
-       case GOD_ANCHOR_DIR_UP_LEFT:
-       case GOD_ANCHOR_DIR_DOWN_LEFT:
+       } else {
                x1 = width;
                x2 = 0.;
-               break;
-       default:
-               g_warning ("Cannot guess direction!");
-               return;
        }
 
-       switch (so->anchor.base.direction) {
-       case GOD_ANCHOR_DIR_UP_LEFT:
-       case GOD_ANCHOR_DIR_UP_RIGHT:
-               y1 = height;
-               y2 = 0.;
-               break;
-       case GOD_ANCHOR_DIR_DOWN_LEFT:
-       case GOD_ANCHOR_DIR_DOWN_RIGHT:
+       if ((so->anchor.base.direction & GOD_ANCHOR_DIR_V_MASK) == GOD_ANCHOR_DIR_DOWN) {
                y1 = 0.;
                y2 = height;
-               break;
-       default:
-               g_warning ("Cannot guess direction!");
-               return;
+       } else {
+               y1 = height;
+               y2 = 0.;
        }
 
        cairo_set_source_rgba (cr, GO_COLOR_TO_CAIRO (style->line.color));


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]