diff options
author | Caleb Michael Moore <cmoore@src.gnome.org> | 2005-10-12 09:01:01 +0000 |
---|---|---|
committer | Caleb Michael Moore <cmoore@src.gnome.org> | 2005-10-12 09:01:01 +0000 |
commit | 4289af24cf674ad5f4a8cb378ed8558171c7f215 (patch) | |
tree | a88d7b92bc9b49db5237a1a2268a60b684c00191 /rsvg-mask.c | |
parent | c9b099bc5c11f18cc22ae4e7099db2ffd800c9b5 (diff) | |
download | librsvg-4289af24cf674ad5f4a8cb378ed8558171c7f215.tar.gz |
objectBoudingBox clip paths and masks
Diffstat (limited to 'rsvg-mask.c')
-rw-r--r-- | rsvg-mask.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/rsvg-mask.c b/rsvg-mask.c index 9627ab27..b4a858d1 100644 --- a/rsvg-mask.c +++ b/rsvg-mask.c @@ -33,7 +33,7 @@ rsvg_mask_set_atts (RsvgNode * self, RsvgHandle *ctx, RsvgPropertyBag *atts) { const char *id = NULL, *klazz = NULL, *value; RsvgMask *mask; - double font_size; + double font_size, xscale = 1., yscale = 1.; font_size = rsvg_state_current_font_size (ctx); mask = (RsvgMask *)self; @@ -42,8 +42,11 @@ rsvg_mask_set_atts (RsvgNode * self, RsvgHandle *ctx, RsvgPropertyBag *atts) { if ((value = rsvg_property_bag_lookup (atts, "maskUnits"))) { - if (!strcmp (value, "userSpaceOnUse")) + if (!strcmp (value, "userSpaceOnUse")){ mask->maskunits = userSpaceOnUse; + xscale = (gdouble)ctx->width; + yscale = (gdouble)ctx->height; + } else mask->maskunits = objectBoundingBox; } @@ -58,25 +61,25 @@ rsvg_mask_set_atts (RsvgNode * self, RsvgHandle *ctx, RsvgPropertyBag *atts) mask->x = rsvg_css_parse_normalized_length (value, ctx->dpi_x, - 1, + xscale, font_size); if ((value = rsvg_property_bag_lookup (atts, "y"))) mask->y = rsvg_css_parse_normalized_length (value, ctx->dpi_y, - 1, + yscale, font_size); if ((value = rsvg_property_bag_lookup (atts, "width"))) mask->width = rsvg_css_parse_normalized_length (value, ctx->dpi_x, - 1, + xscale, font_size); if ((value = rsvg_property_bag_lookup (atts, "height"))) mask->height = rsvg_css_parse_normalized_length (value, ctx->dpi_y, - 1, + yscale, font_size); if ((value = rsvg_property_bag_lookup (atts, "id"))) { |