[librsvg] New accessor rsvg_state_get_font_decor()



commit 7c5b68ff92a18366187d5ba102f43877a25bb850
Author: Federico Mena Quintero <federico gnome org>
Date:   Fri Dec 15 11:18:06 2017 -0600

    New accessor rsvg_state_get_font_decor()

 rsvg-styles.c | 9 +++++++++
 rsvg-styles.h | 3 +++
 rsvg-text.c   | 8 +++++---
 3 files changed, 17 insertions(+), 3 deletions(-)
---
diff --git a/rsvg-styles.c b/rsvg-styles.c
index b8551a3..f52d64f 100644
--- a/rsvg-styles.c
+++ b/rsvg-styles.c
@@ -1831,3 +1831,12 @@ rsvg_state_get_letter_spacing (RsvgState *state)
     return state->letter_spacing;
 }
 
+const TextDecoration *
+rsvg_state_get_font_decor (RsvgState *state)
+{
+    if (state->has_font_decor) {
+        return &state->font_decor;
+    } else {
+        return NULL;
+    }
+}
diff --git a/rsvg-styles.h b/rsvg-styles.h
index 7aa9f59..aede7da 100644
--- a/rsvg-styles.h
+++ b/rsvg-styles.h
@@ -281,6 +281,9 @@ PangoStretch rsvg_state_get_font_stretch (RsvgState *state);
 G_GNUC_INTERNAL
 RsvgLength rsvg_state_get_letter_spacing (RsvgState *state);
 
+G_GNUC_INTERNAL
+const TextDecoration *rsvg_state_get_font_decor (RsvgState *state);
+
 G_END_DECLS
 
 #endif                          /* RSVG_STYLES_H */
diff --git a/rsvg-text.c b/rsvg-text.c
index 43cab01..4df0b5b 100644
--- a/rsvg-text.c
+++ b/rsvg-text.c
@@ -561,6 +561,7 @@ rsvg_text_create_layout (RsvgDrawingCtx *ctx, const char *text)
     const char *lang;
     UnicodeBidi unicode_bidi;
     RsvgLength letter_spacing;
+    const TextDecoration *font_decor;
 
     g_assert (text != NULL);
 
@@ -603,12 +604,13 @@ rsvg_text_create_layout (RsvgDrawingCtx *ctx, const char *text)
     pango_attr_list_insert (attr_list,
                             pango_attr_letter_spacing_new (rsvg_length_normalize (&letter_spacing, ctx) * 
PANGO_SCALE));
 
-    if (state->has_font_decor) {
-        if (state->font_decor.underline) {
+    font_decor = rsvg_state_get_font_decor (state);
+    if (font_decor) {
+        if (font_decor->underline) {
             pango_attr_list_insert (attr_list,
                                     pango_attr_underline_new (PANGO_UNDERLINE_SINGLE));
         }
-       if (state->font_decor.strike) {
+       if (font_decor->strike) {
             pango_attr_list_insert (attr_list,
                                     pango_attr_strikethrough_new (TRUE));
        }


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