summaryrefslogtreecommitdiffstatsci
path: root/tests/random_rects.c
diff options
context:
space:
mode:
authorJean-Philippe Bruyère <jp_bruyere@hotmail.com>2020-07-15 13:48:04 +0200
committerJean-Philippe Bruyère <jp_bruyere@hotmail.com>2020-07-15 13:48:04 +0200
commita77dc464f91da554b5952ea965aa4b65cb0a511f (patch)
tree62c72758c7298600aa920a1e7b343670ea207086 /tests/random_rects.c
parente6b3bfbe53dbb850414ec7904b9f00e1aacc330d (diff)
copy tests from masternewvx-post-transform
Diffstat (limited to 'tests/random_rects.c')
-rw-r--r--tests/random_rects.c137
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(&currentTime, 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;
}