summaryrefslogtreecommitdiffstatsci
path: root/src/cairo-tests/bubbles.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/cairo-tests/bubbles.cpp')
-rw-r--r--src/cairo-tests/bubbles.cpp36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/cairo-tests/bubbles.cpp b/src/cairo-tests/bubbles.cpp
new file mode 100644
index 0000000..1b55558
--- /dev/null
+++ b/src/cairo-tests/bubbles.cpp
@@ -0,0 +1,36 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <cairo.h>
+
+#include "caskbench.h"
+
+static int max_dim;
+
+int
+ca_setup_bubbles(caskbench_context_t *ctx)
+{
+ max_dim = MIN(ctx->canvas_width, ctx->canvas_height)/2;
+ return 1;
+}
+
+void
+ca_teardown_bubbles(void)
+{
+}
+
+int
+ca_test_bubbles(caskbench_context_t *ctx)
+{
+ int i, x, y, r;
+
+ for (i=0; i<ctx->size; i++) {
+ r = ((double)max_dim*rand())/RAND_MAX + 1;
+ x = (0.5*(double)ctx->canvas_width*rand())/RAND_MAX;
+ y = (0.5*(double)ctx->canvas_height*rand())/RAND_MAX;
+ randomize_color (ctx->cr);
+ cairo_arc (ctx->cr, x, y, r, 0, 2*M_PI);
+ cairo_fill (ctx->cr);
+ }
+
+ return 1;
+}