[librsvg] Add RSVG_ASPECT_RATIO_DEFER even if it is not supported right now



commit 41a847e21826bdc839d42956d5ab5a22cab6e32f
Author: Federico Mena Quintero <federico gnome org>
Date:   Wed Feb 1 09:41:20 2017 -0600

    Add RSVG_ASPECT_RATIO_DEFER even if it is not supported right now
    
    This is for the "defer" flag used in preserveAspectRatio values for
    image elements.

 rsvg-css.c   |    2 ++
 rsvg-css.h   |    3 ++-
 rsvg-image.c |    2 +-
 3 files changed, 5 insertions(+), 2 deletions(-)
---
diff --git a/rsvg-css.c b/rsvg-css.c
index 4dd9761..1637392 100644
--- a/rsvg-css.c
+++ b/rsvg-css.c
@@ -657,6 +657,8 @@ rsvg_css_parse_aspect_ratio (const char *str)
                 ratio = RSVG_ASPECT_RATIO_XMAX_YMAX;
             else if (!strcmp (elems[i], "slice"))
                 ratio |= RSVG_ASPECT_RATIO_SLICE;
+            else if (!strcmp (elems[i], "defer"))
+                ratio |= RSVG_ASPECT_RATIO_DEFER;
         }
 
         g_strfreev (elems);
diff --git a/rsvg-css.h b/rsvg-css.h
index 6abeba9..e8f3975 100644
--- a/rsvg-css.h
+++ b/rsvg-css.h
@@ -45,7 +45,8 @@ G_BEGIN_DECLS
 #define RSVG_ASPECT_RATIO_XMIN_YMAX (1 << 6)
 #define RSVG_ASPECT_RATIO_XMID_YMAX (1 << 7)
 #define RSVG_ASPECT_RATIO_XMAX_YMAX (1 << 8)
-#define RSVG_ASPECT_RATIO_SLICE (1 << 31)
+#define RSVG_ASPECT_RATIO_SLICE (1 << 30)
+#define RSVG_ASPECT_RATIO_DEFER (1 << 31)
 
 /* This one is semi-public for mis-use in rsvg-convert */
 guint32            rsvg_css_parse_color        (const char *str, gboolean * inherit);
diff --git a/rsvg-image.c b/rsvg-image.c
index 77e3b18..233630d 100644
--- a/rsvg-image.c
+++ b/rsvg-image.c
@@ -117,7 +117,7 @@ rsvg_preserve_aspect_ratio (unsigned int aspect_ratio, double width,
                             double height, double *w, double *h, double *x, double *y)
 {
     double neww, newh;
-    if (aspect_ratio & ~RSVG_ASPECT_RATIO_SLICE) {
+    if (aspect_ratio & ~(RSVG_ASPECT_RATIO_SLICE | RSVG_ASPECT_RATIO_DEFER)) {
         neww = *w;
         newh = *h;
         if ((height * *w > width * *h) == ((aspect_ratio & RSVG_ASPECT_RATIO_SLICE) == 0)) {


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