diff options
Diffstat (limited to 'tests/random_rects.c')
| -rw-r--r-- | tests/random_rects.c | 137 |
1 files changed, 109 insertions, 28 deletions
diff --git a/tests/random_rects.c b/tests/random_rects.c index 9a6e965..34f3512 100644 --- a/tests/random_rects.c +++ b/tests/random_rects.c @@ -1,41 +1,122 @@ #include "test.h" -void test(){ - struct timeval currentTime; - gettimeofday(¤tTime, NULL); +/*void drawRandomRect (VkvgContext ctx) { + float w = (float)test_width; + float h = (float)test_height; + randomize_color(ctx); - srand((unsigned) currentTime.tv_usec); - const float w = 800.f; + float z = truncf((0.5f*w*rand()/RAND_MAX)+1.f); + float v = truncf((0.5f*w*rand()/RAND_MAX)+1.f); + float x = truncf((w-z)*rand()/RAND_MAX); + float y = truncf((h-v)*rand()/RAND_MAX); - vkvg_surface_clear(surf); + vkvg_rectangle(ctx, x, y, z, v); +}*/ +static vkvg_fill_rule_t fill_rule = VKVG_FILL_RULE_NON_ZERO; +static float line_width = 5.f; +static float shape_size = 0.1f; - VkvgContext ctx = vkvg_create(surf); - vkvg_set_source_rgba(ctx,0,0,0,1); - vkvg_paint(ctx); +void _shape_fill(shape_t shape){ + vkvg_surface_clear(surf); + VkvgContext ctx = vkvg_create(surf); + vkvg_set_fill_rule(ctx, fill_rule); + for (uint32_t i=0; i<test_size; i++) { + draw_random_shape(ctx, shape, shape_size); + vkvg_fill(ctx); + } + vkvg_destroy(ctx); +} +void _shape_stroke(shape_t shape){ + vkvg_surface_clear (surf); + VkvgContext ctx = vkvg_create(surf); + vkvg_set_line_width (ctx, line_width); + vkvg_set_fill_rule(ctx, fill_rule); + for (uint32_t i=0; i<test_size; i++) { + draw_random_shape(ctx, shape, shape_size); + vkvg_stroke (ctx); + } + vkvg_destroy(ctx); +} +void _shape_fill_stroke(shape_t shape){ + vkvg_surface_clear(surf); + VkvgContext ctx = vkvg_create(surf); + vkvg_set_line_width (ctx, line_width); + vkvg_set_fill_rule(ctx, fill_rule); + for (uint32_t i=0; i<test_size; i++) { + draw_random_shape(ctx, shape, shape_size); + vkvg_fill_preserve(ctx); + vkvg_stroke(ctx); + } + vkvg_destroy(ctx); +} + +void rectangles_fill () { + _shape_fill(SHAPE_RECTANGLE); +} +void rectangles_stroke () { + _shape_stroke(SHAPE_RECTANGLE); +} +void rectangles_fill_stroke () { + _shape_fill_stroke(SHAPE_RECTANGLE); +} +void rounded_rects_fill () { + _shape_fill(SHAPE_ROUNDED_RECTANGLE); +} +void rounded_rects_stroke () { + _shape_stroke(SHAPE_ROUNDED_RECTANGLE); +} +void rounded_rects_fill_stroke () { + _shape_fill_stroke(SHAPE_ROUNDED_RECTANGLE); +} +void circles_fill () { + _shape_fill(SHAPE_CIRCLE); +} +void circles_stroke () { + _shape_stroke(SHAPE_CIRCLE); +} +void circles_fill_stroke () { + _shape_fill_stroke(SHAPE_CIRCLE); +} +void stars_fill () { + _shape_fill(SHAPE_STAR); +} +void stars_stroke () { + _shape_stroke(SHAPE_STAR); +} +void stars_fill_stroke () { + _shape_fill_stroke(SHAPE_STAR); +} +void random_fill () { + _shape_fill(SHAPE_RANDOM); +} +void random_stroke () { + _shape_stroke(SHAPE_RANDOM); +} +void random_fill_stroke () { + _shape_fill_stroke(SHAPE_RANDOM); +} - //vkvg_set_fill_rule(ctx, VKVG_FILL_RULE_NON_ZERO); - //vkvg_set_line_width(ctx,10); +int main(int argc, char *argv[]) { - for (uint j=0;j<2;j++) { - for (uint i=0; i<test_size/2; i++) { - randomize_color(ctx); + PERFORM_TEST (rectangles_fill, argc, argv); + PERFORM_TEST (rectangles_stroke, argc, argv); + PERFORM_TEST (rectangles_fill_stroke, argc, argv); - float x = truncf(0.5f*w*rand()/RAND_MAX); - float y = truncf(0.5f*w*rand()/RAND_MAX); - float z = truncf((0.5f*w*rand()/RAND_MAX)+1.f); - float v = truncf((0.5f*w*rand()/RAND_MAX)+1.f); + PERFORM_TEST (rounded_rects_fill, argc, argv); + PERFORM_TEST (rounded_rects_stroke, argc, argv); + PERFORM_TEST (rounded_rects_fill_stroke, argc, argv); - vkvg_rectangle(ctx, x, y, z, v); - vkvg_fill(ctx); - } - vkvg_flush(ctx); - } - vkvg_destroy(ctx); -} + PERFORM_TEST (circles_fill, argc, argv); + PERFORM_TEST (circles_stroke, argc, argv); + PERFORM_TEST (circles_fill_stroke, argc, argv); -int main(int argc, char *argv[]) { + PERFORM_TEST (stars_fill, argc, argv); + PERFORM_TEST (stars_stroke, argc, argv); + PERFORM_TEST (stars_fill_stroke, argc, argv); - perform_test (test, 800, 600); + PERFORM_TEST (random_fill, argc, argv); + PERFORM_TEST (random_stroke, argc, argv); + PERFORM_TEST (random_fill_stroke, argc, argv); - return 0; + return 0; } |