summaryrefslogtreecommitdiffstatsci
path: root/src/skia-tests/bubbles.cpp
diff options
context:
space:
mode:
authorBryce Harrington <b.harrington@samsung.com>2013-11-13 13:17:31 -0800
committerBryce Harrington <b.harrington@samsung.com>2013-11-13 13:19:18 -0800
commit957f8649c2a21cf95ab13d6ea4d5b59ee9ada65f (patch)
treed90cb1fd7aeb57fcd6ae59a84cb859599cf8928b /src/skia-tests/bubbles.cpp
parent04cdffeed4d3c58c81f79e1c3869e3cb58f81cb7 (diff)
Add bubbles test and the start of a multishape test
Diffstat (limited to 'src/skia-tests/bubbles.cpp')
-rw-r--r--src/skia-tests/bubbles.cpp38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/skia-tests/bubbles.cpp b/src/skia-tests/bubbles.cpp
new file mode 100644
index 0000000..7180b6e
--- /dev/null
+++ b/src/skia-tests/bubbles.cpp
@@ -0,0 +1,38 @@
+// From http://www.atoker.com/blog/2008/09/06/skia-graphics-library-in-chrome-first-impressions/
+
+#include "SkBitmap.h"
+#include "SkBitmapDevice.h"
+#include "SkPaint.h"
+#include <cairo.h>
+
+#include "caskbench.h"
+
+static int max_dim;
+
+int
+sk_setup_bubbles(caskbench_context_t *ctx)
+{
+ max_dim = MIN(ctx->canvas_width, ctx->canvas_height)/2;
+ return 1;
+}
+
+int
+sk_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;
+ ctx->paint->setColor(rand());
+ ctx->canvas->drawCircle(x, y, r, *ctx->paint);
+ }
+
+ return 1;
+}
+
+void
+sk_teardown_bubbles(void)
+{
+}
+