summaryrefslogtreecommitdiffstatsci
path: root/src/skia-shapes.cpp
diff options
context:
space:
mode:
authorchevalam <chevalam.s@samsung.com>2014-04-15 18:16:06 +0530
committerBryce Harrington <b.harrington@samsung.com>2014-04-16 19:09:22 -0700
commitefbc73399e862e72063271983c643de4f0dd0604 (patch)
treee4cbdcad0eb246cce23c5353571d81e931117f97 /src/skia-shapes.cpp
parent6ce3ba4a1e61d9cf396cea9a58fcb5e828ad45c4 (diff)
Issue#2 - Establish shared shapes code for cairo and skia tests
Signed-off-by: Bryce Harrington <b.harrington@samsung.com>
Diffstat (limited to 'src/skia-shapes.cpp')
-rw-r--r--src/skia-shapes.cpp59
1 files changed, 59 insertions, 0 deletions
diff --git a/src/skia-shapes.cpp b/src/skia-shapes.cpp
new file mode 100644
index 0000000..03fefd6
--- /dev/null
+++ b/src/skia-shapes.cpp
@@ -0,0 +1,59 @@
+#include "skia-shapes.h"
+
+void skiaDrawCircle(caskbench_context_t *ctx, shapes_t *args)
+{
+ ctx->skia_canvas->drawCircle(args->centre_x, args->centre_y, args->radius,
+ *(ctx->skia_paint));
+
+}
+
+void skiaDrawRectangle(caskbench_context_t *ctx, shapes_t *args)
+{
+ ctx->skia_canvas->drawRectCoords(args->centre_x, args->centre_y, args->width, args->height,
+ *(ctx->skia_paint));
+
+}
+
+void skiaDrawTriangle(caskbench_context_t *ctx, shapes_t *args)
+{
+
+ for (int p = 0; p < ctx->shape_args.numpoints ; p++ ) {
+ if(p == 0)
+ args->path.moveTo(args->points[p][0], args->points[p][1]);
+ else
+ args->path.rLineTo(args->points[p][0], args->points[p][1]);
+ }
+ ctx->skia_canvas->drawPath(args->path,
+ *(ctx->skia_paint));
+
+}
+
+void skiaDrawStar(caskbench_context_t *ctx, shapes_t *args)
+{
+
+ for (int p = 0; p < args->numpoints; p++ ) {
+ if(p == 0)
+ args->path.moveTo(args->points[p][0], args->points[p][1]);
+ else
+ args->path.lineTo(args->points[p][0], args->points[p][1]);
+ }
+ ctx->skia_canvas->drawPath(args->path,
+ *(ctx->skia_paint));
+}
+
+void skiaDrawRoundedRectangle (caskbench_context_t *ctx, shapes_t *args)
+{
+ args->rect.set(args->centre_x, args->centre_y, args->width, args->height);
+
+ ctx->skia_canvas->drawRoundRect(args->rect, 4.0, 4.0, *(ctx->skia_paint));
+
+}
+void (*skiaShapes[5])(caskbench_context_t *ctx , shapes_t *args) = {
+ skiaDrawCircle,
+ skiaDrawRectangle,
+ skiaDrawTriangle,
+ skiaDrawStar,
+ skiaDrawRoundedRectangle
+ };
+
+