diff options
Diffstat (limited to 'tests/img_surf.c')
| -rw-r--r-- | tests/img_surf.c | 150 |
1 files changed, 95 insertions, 55 deletions
diff --git a/tests/img_surf.c b/tests/img_surf.c index 319acfb..ad0abc4 100644 --- a/tests/img_surf.c +++ b/tests/img_surf.c @@ -1,75 +1,115 @@ #include "test.h" +void paint () { + VkvgContext ctx = vkvg_create(surf); + VkvgSurface imgSurf = vkvg_surface_create_from_image(device, "data/miroir.jpg"); -void test(){ - VkvgContext ctx = vkvg_create(surf); - vkvg_set_fill_rule(ctx,VKVG_FILL_RULE_NON_ZERO); - VkvgSurface imgSurf = vkvg_surface_create_from_image(device, "data/miroir.jpg"); - - //vkvg_translate(ctx,20,20); - //vkvg_rotate(ctx,0.5); - - vkvg_set_source_rgba(ctx,1,0,0,1); - //vkvg_rectangle(ctx,100,100,200,200); - /*vkvg_rectangle(ctx, - 0, - 0, - 500, - 500); - vkvg_fill(ctx);*/ - vkvg_paint(ctx); + vkvg_set_source_surface(ctx, imgSurf, 0, 0); + vkvg_paint(ctx); - //vkvg_set_source_surface(ctx, imgSurf, 0,0); + vkvg_surface_destroy(imgSurf); + vkvg_destroy(ctx); +} +void paint_offset () { + VkvgContext ctx = vkvg_create(surf); + VkvgSurface imgSurf = vkvg_surface_create_from_image(device, "data/miroir.jpg"); - VkvgPattern pat = vkvg_pattern_create_for_surface(imgSurf); - vkvg_pattern_set_extend(pat, VKVG_EXTEND_REPEAT); - vkvg_set_source(ctx, pat); - vkvg_rectangle(ctx,0,0,500,500); - vkvg_fill(ctx); - //vkvg_paint(ctx); + vkvg_set_source_surface(ctx, imgSurf, 100, 100); + vkvg_paint(ctx); - vkvg_pattern_destroy(pat); - /*vkvg_set_operator(ctx, VKVG_OPERATOR_CLEAR); - vkvg_paint(ctx); - vkvg_set_operator(ctx, VKVG_OPERATOR_OVER);*/ - /*vkvg_translate(ctx,200,200); + vkvg_surface_destroy(imgSurf); + vkvg_destroy(ctx); +} +void paint_with_scale(){ + VkvgContext ctx = vkvg_create(surf); + vkvg_scale (ctx, 0.2f,0.2f); + VkvgSurface imgSurf = vkvg_surface_create_from_image(device, "data/miroir.jpg"); + vkvg_set_source_surface(ctx, imgSurf, 0, 0); - vkvg_set_line_width(ctx,20.f); - vkvg_set_source_rgba(ctx,1,0,0,1); - vkvg_arc(ctx,200,200,200,0,2.f*M_PI); - vkvg_new_sub_path(ctx); - vkvg_arc(ctx,200,200,100,0,2.f*M_PI); + vkvg_paint(ctx); - vkvg_set_source_surface(ctx, imgSurf, 00, 00); - vkvg_fill_preserve(ctx); - vkvg_set_source_rgba(ctx,0.2,0.3,0.8,1); + vkvg_surface_destroy(imgSurf); + vkvg_destroy(ctx); +} - vkvg_stroke(ctx);*/ -/* - //vkvg_translate(ctx,200,200); - vkvg_rotate(ctx,0.1f); +void paint_pattern () { + VkvgContext ctx = vkvg_create(surf); + VkvgSurface imgSurf = vkvg_surface_create_from_image(device, "data/miroir.jpg"); + VkvgPattern pat = vkvg_pattern_create_for_surface(imgSurf); + vkvg_set_source(ctx, pat); + vkvg_paint(ctx); + vkvg_pattern_destroy(pat); + vkvg_surface_destroy(imgSurf); + vkvg_destroy(ctx); +} +void paint_pattern_repeat () { + VkvgContext ctx = vkvg_create(surf); + VkvgSurface imgSurf = vkvg_surface_create_from_image(device, "data/miroir.jpg"); + VkvgPattern pat = vkvg_pattern_create_for_surface(imgSurf); + vkvg_pattern_set_extend(pat,VKVG_EXTEND_REPEAT); + vkvg_set_source(ctx, pat); + vkvg_paint(ctx); + vkvg_pattern_destroy(pat); + vkvg_surface_destroy(imgSurf); + vkvg_destroy(ctx); +} +void paint_pattern_repeat_scalled () { + VkvgContext ctx = vkvg_create(surf); + vkvg_scale (ctx, 0.2f,0.2f); + VkvgSurface imgSurf = vkvg_surface_create_from_image(device, "data/miroir.jpg"); + VkvgPattern pat = vkvg_pattern_create_for_surface(imgSurf); + vkvg_pattern_set_extend(pat,VKVG_EXTEND_REPEAT); + vkvg_set_source(ctx, pat); + vkvg_paint(ctx); + vkvg_pattern_destroy(pat); + vkvg_surface_destroy(imgSurf); + vkvg_destroy(ctx); +} +void paint_pattern_pad () { + VkvgContext ctx = vkvg_create(surf); + VkvgSurface imgSurf = vkvg_surface_create_from_image(device, "data/miroir.jpg"); + VkvgPattern pat = vkvg_pattern_create_for_surface(imgSurf); + vkvg_pattern_set_extend(pat,VKVG_EXTEND_PAD); + vkvg_set_source(ctx, pat); + vkvg_paint(ctx); + vkvg_pattern_destroy(pat); + vkvg_surface_destroy(imgSurf); + vkvg_destroy(ctx); +} - //vkvg_scale(ctx,0.5,0.5); - vkvg_set_source_rgb(ctx,0,0,1); - vkvg_paint(ctx); -*/ - /*vkvg_rotate(ctx,0.5); +void test(){ + VkvgContext ctx = vkvg_create(surf); + vkvg_set_fill_rule(ctx,VKVG_FILL_RULE_EVEN_ODD); + VkvgSurface imgSurf = vkvg_surface_create_from_image(device, "data/miroir.jpg"); - vkvg_set_line_width(ctx,20.f); - vkvg_rectangle(ctx,200,200,200,200); - vkvg_stroke(ctx);*/ + vkvg_translate(ctx,200,200); + //vkvg_rotate(ctx,M_PI_4); + vkvg_set_line_width(ctx,20.f); + vkvg_set_source_rgba(ctx,1,0,0,1); + vkvg_arc(ctx,200,200,200,0,2.f*M_PIF); + vkvg_new_sub_path(ctx); + vkvg_arc(ctx,200,200,100,0,2.f*M_PIF); + vkvg_set_source_surface(ctx, imgSurf, 0, 0); + vkvg_fill_preserve(ctx); + vkvg_set_source_rgba(ctx,0.2f,0.3f,0.8f,1); - //vkvg_paint(ctx); + vkvg_stroke(ctx); - vkvg_surface_destroy(imgSurf); + vkvg_surface_destroy(imgSurf); - vkvg_destroy(ctx); + vkvg_destroy(ctx); } int main(int argc, char *argv[]) { + PERFORM_TEST (paint, argc, argv); + PERFORM_TEST (paint_offset, argc, argv); + PERFORM_TEST (paint_with_scale, argc, argv); + PERFORM_TEST (paint_pattern, argc, argv); + PERFORM_TEST (paint_pattern_repeat, argc, argv); + PERFORM_TEST (paint_pattern_repeat_scalled, argc, argv); + PERFORM_TEST (paint_pattern_pad, argc, argv); + PERFORM_TEST (test, argc, argv); - perform_test (test, 1024, 768); - - return 0; + return 0; } |