[librsvg: 10/25] RsvgState: store the dash_offset here, not in the dasharray struct



commit 86e5228605a794e27f9045822d3d10d864738708
Author: Federico Mena Quintero <federico gnome org>
Date:   Mon Jan 29 17:50:06 2018 -0600

    RsvgState: store the dash_offset here, not in the dasharray struct

 rsvg-cairo-draw.c | 2 +-
 rsvg-styles.c     | 8 ++++----
 rsvg-styles.h     | 2 +-
 3 files changed, 6 insertions(+), 6 deletions(-)
---
diff --git a/rsvg-cairo-draw.c b/rsvg-cairo-draw.c
index 3230952..8f2a79b 100644
--- a/rsvg-cairo-draw.c
+++ b/rsvg-cairo-draw.c
@@ -238,7 +238,7 @@ setup_cr_for_stroke (cairo_t *cr, RsvgDrawingCtx *ctx, RsvgState *state)
     cairo_set_line_cap (cr, (cairo_line_cap_t) state->cap);
     cairo_set_line_join (cr, (cairo_line_join_t) state->join);
     cairo_set_dash (cr, state->dash.dash, state->dash.n_dash,
-                    rsvg_length_normalize (&state->dash.offset, ctx));
+                    rsvg_length_normalize (&state->dash_offset, ctx));
 }
 
 void
diff --git a/rsvg-styles.c b/rsvg-styles.c
index f52d64f..bdd8ca3 100644
--- a/rsvg-styles.c
+++ b/rsvg-styles.c
@@ -426,7 +426,7 @@ rsvg_state_inherit_run (RsvgState * dst, const RsvgState * src,
     }
 
     if (function (dst->has_dashoffset, src->has_dashoffset)) {
-        dst->dash.offset = src->dash.offset;
+        dst->dash_offset = src->dash_offset;
     }
 
     if (inherituninheritables) {
@@ -927,9 +927,9 @@ rsvg_parse_style_pair (RsvgState * state,
         state->miter_limit = g_ascii_strtod (value, NULL);
     } else if (g_str_equal (name, "stroke-dashoffset")) {
         state->has_dashoffset = TRUE;
-        state->dash.offset = rsvg_length_parse (value, LENGTH_DIR_BOTH);
-        if (state->dash.offset.length < 0.)
-            state->dash.offset.length = 0.;
+        state->dash_offset = rsvg_length_parse (value, LENGTH_DIR_BOTH);
+        if (state->dash_offset.length < 0.)
+            state->dash_offset.length = 0.;
     } else if (g_str_equal (name, "shape-rendering")) {
         state->has_shape_rendering_type = TRUE;
 
diff --git a/rsvg-styles.h b/rsvg-styles.h
index aef6a5f..d22f66d 100644
--- a/rsvg-styles.h
+++ b/rsvg-styles.h
@@ -64,7 +64,6 @@ typedef enum {
 typedef struct _RsvgVpathDash RsvgVpathDash;
 
 struct _RsvgVpathDash {
-    RsvgLength offset;
     int n_dash;
     double *dash;
 };
@@ -154,6 +153,7 @@ struct _RsvgState {
     RsvgVpathDash dash;
     gboolean has_dash;
     gboolean has_dashoffset;
+    RsvgLength dash_offset;
 
     guint32 current_color;
     gboolean has_current_color;


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