From b09db7c69f1eb13b5a841b1ab93306bbfa2df70e Mon Sep 17 00:00:00 2001 From: suyambulingamrm Date: Thu, 3 Jul 2014 14:33:52 +0530 Subject: Issue #104. Add functionality to cache image surface. --- src/cairo-shapes.cpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'src/cairo-shapes.cpp') diff --git a/src/cairo-shapes.cpp b/src/cairo-shapes.cpp index 50ce77b..28320ae 100644 --- a/src/cairo-shapes.cpp +++ b/src/cairo-shapes.cpp @@ -230,7 +230,20 @@ cairoDrawRoundedRectangle (caskbench_context_t *ctx, shapes_t *args) #endif } -cairo_surface_t *cairoCreateSampleImage (caskbench_context_t *ctx) +cairo_surface_t * +cairoCacheImageSurface(caskbench_context_t *ctx, cairo_surface_t *image) +{ + cairo_surface_t *cached_image; + cached_image = cairo_surface_create_similar (cairo_get_target(ctx->cairo_cr), CAIRO_CONTENT_COLOR_ALPHA, 160, 40); + cairo_t *cached_cr = cairo_create (cached_image); + cairo_set_source_surface (cached_cr, image, 0, 0); + cairo_paint (cached_cr); + cairo_destroy (cached_cr); + return cached_image; +} + +cairo_surface_t * +cairoCreateSampleImage (caskbench_context_t *ctx) { cairo_surface_t *image; cairo_t *cr_image; -- cgit v1.3.1-4-g156e