summaryrefslogtreecommitdiffstatsci
path: root/src/cairo-tests/transform.cpp
diff options
context:
space:
mode:
authorBryce Harrington <b.harrington@samsung.com>2014-07-29 15:51:42 -0700
committerBryce Harrington <b.harrington@samsung.com>2014-07-29 15:51:42 -0700
commit92af0cbe996ee6036c19c7f1947fe11bb499c7ba (patch)
tree8448bae7e0cfc52ef27d78a39e271b000fd454ec /src/cairo-tests/transform.cpp
parent96fac8c0439ef0b4dd1f0f889a66c61a53542631 (diff)
tests: Add port of the FlashCanvas transform test. Cairo is stubbed.
Diffstat (limited to 'src/cairo-tests/transform.cpp')
-rw-r--r--src/cairo-tests/transform.cpp66
1 files changed, 66 insertions, 0 deletions
diff --git a/src/cairo-tests/transform.cpp b/src/cairo-tests/transform.cpp
new file mode 100644
index 0000000..25873cd
--- /dev/null
+++ b/src/cairo-tests/transform.cpp
@@ -0,0 +1,66 @@
+/*
+ * Copyright 2014 © Samsung Research America, Silicon Valley
+ *
+ * Use of this source code is governed by the 3-Clause BSD license
+ * specified in the COPYING file included with this source code.
+ */
+#include <config.h>
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <cairo.h>
+
+#include "caskbench.h"
+#include "caskbench_context.h"
+#include "cairo-shapes.h"
+
+int
+ca_setup_transform(caskbench_context_t *ctx)
+{
+ cairo_set_antialias (ctx->cairo_cr, CAIRO_ANTIALIAS_NONE);
+ cairo_set_line_width (ctx->cairo_cr, 1);
+ return 1;
+}
+
+void
+ca_teardown_transform(void)
+{
+}
+
+int
+ca_test_transform(caskbench_context_t *ctx)
+{
+ int w = ctx->canvas_width;
+ int h = ctx->canvas_height;
+
+ shapes_t shape;
+ shape_copy(&ctx->shape_defaults, &shape);
+ for (int i=0; i<ctx->size; i++) {
+ double x1 = (double)rand()/RAND_MAX * w;
+ double x2 = (double)rand()/RAND_MAX * w;
+ double y1 = (double)rand()/RAND_MAX * h;
+ double y2 = (double)rand()/RAND_MAX * h;
+
+ shape.x = x1;
+ shape.y = y1;
+ shape.width = x1 - x2;
+ shape.height = y1 - y2;
+
+ cairoRandomizeColor(ctx);
+ cairoDrawLine(ctx, &shape);
+ cairo_stroke(ctx->cairo_cr);
+ }
+
+ return 1;
+}
+
+/*
+ Local Variables:
+ mode:c++
+ c-file-style:"stroustrup"
+ c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
+ indent-tabs-mode:nil
+ fill-column:99
+ End:
+*/
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :