diff options
author | Anton Danilkin <afdw@yandex.ru> | 2021-05-01 23:11:13 +0200 |
---|---|---|
committer | Anton Danilkin <afdw@yandex.ru> | 2021-05-01 23:14:24 +0200 |
commit | bd487e64fc3680abf2dd9e165c7506043132229d (patch) | |
tree | 753fcf60da52a72309361e35cd206d34ec912783 /boilerplate | |
parent | a3e01d9e8c79c4dddd401af15bf37db7d75435ec (diff) | |
download | cairo-bd487e64fc3680abf2dd9e165c7506043132229d.tar.gz |
Add support for CAIRO_CONTENT_COLOR
Diffstat (limited to 'boilerplate')
-rw-r--r-- | boilerplate/cairo-boilerplate-svg.c | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/boilerplate/cairo-boilerplate-svg.c b/boilerplate/cairo-boilerplate-svg.c index 2787e8567..0c9a3833e 100644 --- a/boilerplate/cairo-boilerplate-svg.c +++ b/boilerplate/cairo-boilerplate-svg.c @@ -218,8 +218,6 @@ _cairo_boilerplate_svg_get_image_surface (cairo_surface_t *surface, cairo_surface_t *image; double x_offset, y_offset; double x_scale, y_scale; - svg_target_closure_t *ptc = cairo_surface_get_user_data (surface, - &svg_closure_key); if (page != 0) return cairo_boilerplate_surface_create_in_error (CAIRO_STATUS_SURFACE_TYPE_MISMATCH); @@ -230,15 +228,6 @@ _cairo_boilerplate_svg_get_image_surface (cairo_surface_t *surface, cairo_surface_set_device_offset (image, x_offset, y_offset); cairo_surface_set_device_scale (image, x_scale, y_scale); surface = _cairo_boilerplate_get_image_surface (image, 0, width, height); - if (ptc->target) { - cairo_surface_t *old_surface = surface; - surface = cairo_image_surface_create(CAIRO_FORMAT_RGB24, width, height); - cairo_t *cr = cairo_create (surface); - cairo_set_source_surface (cr, old_surface, 0, 0); - cairo_paint (cr); - cairo_destroy (cr); - cairo_surface_destroy (old_surface); - } cairo_surface_destroy (image); return surface; @@ -293,6 +282,19 @@ static const cairo_boilerplate_target_t targets[] = { _cairo_boilerplate_svg_cleanup, NULL, NULL, FALSE, TRUE, TRUE }, + { + "svg11", "svg", ".svg", NULL, + CAIRO_SURFACE_TYPE_RECORDING, CAIRO_CONTENT_COLOR, 1, + "cairo_svg_surface_create", + _cairo_boilerplate_svg11_create_surface, + cairo_surface_create_similar, + _cairo_boilerplate_svg_force_fallbacks, + _cairo_boilerplate_svg_finish_surface, + _cairo_boilerplate_svg_get_image_surface, + _cairo_boilerplate_svg_surface_write_to_png, + _cairo_boilerplate_svg_cleanup, + NULL, NULL, FALSE, TRUE, TRUE + }, }; CAIRO_BOILERPLATE (svg, targets) |