diff options
| author | suyambulingamrm <suyambu.rm@samsung.com> | 2014-07-03 14:33:52 +0530 |
|---|---|---|
| committer | suyambulingamrm <suyambu.rm@samsung.com> | 2014-07-03 14:33:52 +0530 |
| commit | b09db7c69f1eb13b5a841b1ab93306bbfa2df70e (patch) | |
| tree | 433687fa7f58fb8fa972b736b323285725075766 | |
| parent | 47de2e7053b90da347e739a220c698bde8313ce9 (diff) | |
Issue #104. Add functionality to cache image surface.
| -rw-r--r-- | src/cairo-shapes.cpp | 15 | ||||
| -rw-r--r-- | src/cairo-shapes.h | 2 |
2 files changed, 16 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; diff --git a/src/cairo-shapes.h b/src/cairo-shapes.h index e7247c5..194ee13 100644 --- a/src/cairo-shapes.h +++ b/src/cairo-shapes.h @@ -33,6 +33,8 @@ void cairoDrawQuadraticCurve(caskbench_context_t *ctx, shapes_t *args); cairo_surface_t *cairoCreateSampleImage (caskbench_context_t *ctx); +cairo_surface_t *cairoCacheImageSurface(caskbench_context_t *ctx, cairo_surface_t *image); + extern void (*cairoShapes[CB_SHAPE_END-1])(caskbench_context_t *ctx , shapes_t *args); void cairoDrawRandomizedShape(caskbench_context_t *ctx, shapes_t *shape); |