~ubuntu-branches/debian/squeeze/librsvg/squeeze

« back to all changes in this revision

Viewing changes to rsvg-paint-server.c

  • Committer: Bazaar Package Importer
  • Author(s): Sebastian Dröge
  • Date: 2010-05-01 14:23:09 UTC
  • mfrom: (1.1.22 upstream) (25.1.2 sid)
  • Revision ID: james.westby@ubuntu.com-20100501142309-f0otyldu6gyratt9
Tags: 2.26.3-1
New upstream bugfix release.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* vim: set sw=4 sts=4: -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
 
1
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
 
2
/* vim: set sw=4 sts=4 ts=4 expandtab: */
2
3
/* 
3
4
   rsvg-paint-server.c: Implement the SVG paint server abstraction.
4
5
 
50
51
}
51
52
 
52
53
static RsvgPaintServer *
53
 
rsvg_paint_server_solid_current_colour ()
 
54
rsvg_paint_server_solid_current_colour (void)
54
55
{
55
56
    RsvgPaintServer *result = g_new (RsvgPaintServer, 1);
56
57
 
265
266
            }
266
267
            grad->hasspread = TRUE;
267
268
        }
268
 
        if ((value = rsvg_property_bag_lookup (atts, "xlink:href")))
269
 
            rsvg_defs_add_resolver (ctx->priv->defs, &grad->fallback, value);
 
269
        if ((value = rsvg_property_bag_lookup (atts, "xlink:href"))) {
 
270
            if (self != rsvg_defs_lookup (ctx->priv->defs, value))
 
271
                rsvg_defs_add_resolver (ctx->priv->defs, &grad->fallback, value);
 
272
        }
270
273
        if ((value = rsvg_property_bag_lookup (atts, "gradientTransform"))) {
271
274
            rsvg_parse_transform (grad->affine, value);
272
275
            grad->hastransform = TRUE;
337
340
            grad->fy = _rsvg_css_parse_length (value);
338
341
            grad->hasfy = TRUE;
339
342
        }
340
 
        if ((value = rsvg_property_bag_lookup (atts, "xlink:href")))
341
 
            rsvg_defs_add_resolver (ctx->priv->defs, &grad->fallback, value);
 
343
        if ((value = rsvg_property_bag_lookup (atts, "xlink:href"))) {
 
344
            if (self != rsvg_defs_lookup (ctx->priv->defs, value))
 
345
                rsvg_defs_add_resolver (ctx->priv->defs, &grad->fallback, value);
 
346
        }
342
347
        if ((value = rsvg_property_bag_lookup (atts, "gradientTransform"))) {
343
348
            rsvg_parse_transform (grad->affine, value);
344
349
            grad->hastransform = TRUE;
414
419
            pattern->hasheight = TRUE;
415
420
        }
416
421
        if ((value = rsvg_property_bag_lookup (atts, "xlink:href"))) {
417
 
            /* The (void *) cast is to avoid a GCC warning like:
418
 
             * "warning: dereferencing type-punned pointer will break strict-aliasing rules"
419
 
             * which is wrong for this code. (void *) introduces a compatible
420
 
             * intermediate type in the cast list. */
421
 
            rsvg_defs_add_resolver (ctx->priv->defs, (RsvgNode **) (void *) &pattern->fallback,
422
 
                                    value);
 
422
            if (self != rsvg_defs_lookup (ctx->priv->defs, value)) {
 
423
                /* The (void *) cast is to avoid a GCC warning like:
 
424
                 * "warning: dereferencing type-punned pointer will break strict-aliasing rules"
 
425
                 * which is wrong for this code. (void *) introduces a compatible
 
426
                 * intermediate type in the cast list. */
 
427
                rsvg_defs_add_resolver (ctx->priv->defs, (RsvgNode **) (void *) &pattern->fallback,
 
428
                                        value);
 
429
            }
423
430
        }
424
431
        if ((value = rsvg_property_bag_lookup (atts, "patternTransform"))) {
425
432
            rsvg_parse_transform (pattern->affine, value);
461
468
    _rsvg_affine_identity (pattern->affine);
462
469
    pattern->super.set_atts = rsvg_pattern_set_atts;
463
470
    pattern->hasx = pattern->hasy = pattern->haswidth = pattern->hasheight = pattern->hasbbox =
464
 
        pattern->hascbox = pattern->hasvbox = pattern->hasaspect = pattern->hastransform =
465
 
        pattern->hasaspect = FALSE;
 
471
        pattern->hascbox = pattern->hasvbox = pattern->hasaspect = pattern->hastransform = FALSE;
466
472
    return &pattern->super;
467
473
}
468
474