summaryrefslogtreecommitdiffstatsci
path: root/src/cairo-tests/circle.cpp
diff options
context:
space:
mode:
authorBryce Harrington <b.harrington@samsung.com>2014-06-24 19:32:30 -0700
committerBryce Harrington <b.harrington@samsung.com>2014-06-25 10:30:21 -0700
commit6e7613c44feca5d10de4c4c064e3a9338b0a7876 (patch)
tree22e65bc3f1288b7625a6b37834bdacf478716731 /src/cairo-tests/circle.cpp
parentcf727a377e6b9655e718986683f0e229272c0fc1 (diff)
Mass test renaming
Now that we can map canvas_perf.js tests to different test names / commands, make use of this to establish better names for tests.
Diffstat (limited to 'src/cairo-tests/circle.cpp')
-rw-r--r--src/cairo-tests/circle.cpp70
1 files changed, 70 insertions, 0 deletions
diff --git a/src/cairo-tests/circle.cpp b/src/cairo-tests/circle.cpp
new file mode 100644
index 0000000..7fbf1bd
--- /dev/null
+++ b/src/cairo-tests/circle.cpp
@@ -0,0 +1,70 @@
+/*
+ * 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_circle(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_circle(void)
+{
+}
+
+int
+ca_test_circle(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++) {
+ shape.x = (double)rand()/RAND_MAX * w;
+ shape.y = (double)rand()/RAND_MAX * h;
+ shape.radius = (double)rand()/RAND_MAX * MIN(
+ MIN(shape.x, w-shape.x), MIN(shape.y, h-shape.y));
+
+ cairoRandomizeColor(ctx);
+ cairoDrawCircle(ctx, &shape);
+ switch (ctx->shape_defaults.fill_type) {
+ case CB_FILL_NONE:
+ cairo_stroke(ctx->cairo_cr);
+ break;
+ case CB_FILL_SOLID:
+ cairo_fill(ctx->cairo_cr);
+ break;
+ default:
+ break;
+ }
+ }
+
+ 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 :