summaryrefslogtreecommitdiffstatsci
path: root/src/cairo-shapes.cpp
diff options
context:
space:
mode:
authorsuyambulingamrm <suyambu.rm@samsung.com>2014-07-03 14:33:52 +0530
committersuyambulingamrm <suyambu.rm@samsung.com>2014-07-03 14:33:52 +0530
commitb09db7c69f1eb13b5a841b1ab93306bbfa2df70e (patch)
tree433687fa7f58fb8fa972b736b323285725075766 /src/cairo-shapes.cpp
parent47de2e7053b90da347e739a220c698bde8313ce9 (diff)
Issue #104. Add functionality to cache image surface.
Diffstat (limited to 'src/cairo-shapes.cpp')
-rw-r--r--src/cairo-shapes.cpp15
1 files changed, 14 insertions, 1 deletions
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;