diff options
Diffstat (limited to 'src/cairo-tests/bubbles.cpp')
| -rw-r--r-- | src/cairo-tests/bubbles.cpp | 36 |
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; +} |