diff options
| author | Bryce Harrington <b.harrington@samsung.com> | 2014-06-24 19:32:30 -0700 |
|---|---|---|
| committer | Bryce Harrington <b.harrington@samsung.com> | 2014-06-25 10:30:21 -0700 |
| commit | 6e7613c44feca5d10de4c4c064e3a9338b0a7876 (patch) | |
| tree | 22e65bc3f1288b7625a6b37834bdacf478716731 /src/cairo-tests/multi-shape.cpp | |
| parent | cf727a377e6b9655e718986683f0e229272c0fc1 (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/multi-shape.cpp')
| -rw-r--r-- | src/cairo-tests/multi-shape.cpp | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/src/cairo-tests/multi-shape.cpp b/src/cairo-tests/multi-shape.cpp new file mode 100644 index 0000000..9e5fe84 --- /dev/null +++ b/src/cairo-tests/multi-shape.cpp @@ -0,0 +1,71 @@ +/* + * 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 <math.h> + +#include "caskbench.h" +#include "caskbench_context.h" +#include "cairo-shapes.h" + +static int element_spacing; +static int num_x_elements; +static int num_y_elements; + +int +ca_setup_multi_shape(caskbench_context_t *ctx) +{ + if (ctx->size < 0) + return 0; + + // Multi-shape setup + element_spacing = sqrt( ((double)ctx->canvas_width * ctx->canvas_height) / ctx->size); + num_x_elements = ctx->canvas_width / element_spacing; + num_y_elements = ctx->canvas_height / element_spacing; + + return 1; +} + +void +ca_teardown_multi_shape(void) +{ +} + +int +ca_test_multi_shape(caskbench_context_t *ctx) +{ + ctx->shape_defaults.radius = 0.9 * element_spacing / 2; + ctx->shape_defaults.width = 2*ctx->shape_defaults.radius; + ctx->shape_defaults.height = 2*ctx->shape_defaults.radius; + + for (int j=0; j<num_y_elements; j++) { + for (int i=0; i<num_x_elements; i++) { + shapes_t shape; + shape_copy(&ctx->shape_defaults, &shape); + shape.x = i * element_spacing; + shape.y = j * element_spacing; + + cairoDrawRandomizedShape(ctx, &shape); + } + } + + 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 : |