diff options
| author | Jean-Philippe Bruyère <jp_bruyere@hotmail.com> | 2026-09-16 13:17:18 +0200 |
|---|---|---|
| committer | Jean-Philippe Bruyère <jp_bruyere@hotmail.com> | 2026-09-24 03:57:50 +0200 |
| commit | 97c0ae8c7809641cdd3593f89fa820089ce636d8 (patch) | |
| tree | c41d555c83137f05554f4e529bed0aa59787e3af | |
| parent | fd991beffde81eb25baea99bd79b34ff1ef70d7a (diff) | |
pattern unit tests, removed pattern debug LOGS
| -rw-r--r-- | gunit_tests/patternDraw.cpp | 363 | ||||
| -rw-r--r-- | src/vkvg_pattern.c | 10 |
2 files changed, 348 insertions, 25 deletions
diff --git a/gunit_tests/patternDraw.cpp b/gunit_tests/patternDraw.cpp index 101869c..71145ae 100644 --- a/gunit_tests/patternDraw.cpp +++ b/gunit_tests/patternDraw.cpp @@ -1,4 +1,6 @@ #include "drawTestBase.h" +#include "unitTest.h" + class PatternDrawTest : public DrawTestBase { @@ -14,6 +16,20 @@ class PatternDrawTest : public DrawTestBase { vkvg_surface_destroy(imgSurf); DrawTestBase::TearDown(); } + VkvgPattern CreateLinearPattern () { + VkvgPattern pat = vkvg_pattern_create_linear(0, 0, 200, 0); + vkvg_pattern_add_color_stop(pat, 0.0, 1, 0, 0, 1); + vkvg_pattern_add_color_stop(pat, 0.5, 0, 1, 0, 1); + vkvg_pattern_add_color_stop(pat, 1.0, 0, 0, 1, 1); + return pat; + } + VkvgPattern CreateRadialPattern () { + VkvgPattern pat = vkvg_pattern_create_radial(150.0f, 150.0f, 10.f, 170, 170, 130.0f); + vkvg_pattern_add_color_stop(pat, 0.0, 1, 0, 0, 1); + vkvg_pattern_add_color_stop(pat, 0.5, 0, 1, 0, 1); + vkvg_pattern_add_color_stop(pat, 1.0, 0, 0, 1, 1); + return pat; + } }; TEST_F(PatternDrawTest, References) { EXPECT_EQ(VKVG_STATUS_NULL_POINTER, vkvg_pattern_status(NULL)); @@ -33,41 +49,119 @@ TEST_F(PatternDrawTest, References) { vkvg_pattern_destroy(pat); EXPECT_EQ(1, vkvg_pattern_get_reference_count(pat)); vkvg_pattern_destroy(pat); - // EXPECT_EQ(NULL, pat); + + pat = vkvg_pattern_create_radial(0, 0, 0, 0, 0, 0); + EXPECT_EQ(VKVG_STATUS_SUCCESS, vkvg_pattern_status(pat)); + EXPECT_EQ(1, vkvg_pattern_get_reference_count(pat)); + vkvg_pattern_destroy(pat); } TEST_F(PatternDrawTest, CreateSetGet) { VkvgContext ctx = vkvg_create(surf); - vkvg_paint(ctx); - VkvgPattern src = vkvg_get_source (ctx);//get default pattern - VkvgPattern pat = vkvg_pattern_create_for_surface(NULL); + EXPECT_NO_FATAL_FAILURE(vkvg_set_source(ctx, NULL)); + EXPECT_EQ(VKVG_STATUS_SUCCESS, vkvg_status(ctx)); + + VkvgPattern pat = vkvg_pattern_create_linear(0, 0, 200, 0); + + EXPECT_EQ(VKVG_PATTERN_TYPE_LINEAR, vkvg_pattern_get_type(pat)); + EXPECT_EQ(VKVG_EXTEND_NONE, vkvg_pattern_get_extend(pat)); + EXPECT_EQ(VKVG_FILTER_FAST, vkvg_pattern_get_filter(pat)); + + vkvg_pattern_add_color_stop(pat, 0, 1, 0, 0, 1); + vkvg_pattern_add_color_stop(pat, 0.5, 0, 1, 0, 1); + vkvg_pattern_add_color_stop(pat, 1.0, 0, 0, 1, 1); + + uint32_t ccpt = 0; + EXPECT_EQ(VKVG_STATUS_NULL_POINTER, vkvg_pattern_get_color_stop_count(NULL, &ccpt)); + EXPECT_EQ(VKVG_STATUS_SUCCESS, vkvg_pattern_get_color_stop_count(pat, &ccpt)); + EXPECT_EQ(3, ccpt); + + float r,g,b,a,offset; + EXPECT_EQ(VKVG_STATUS_SUCCESS, vkvg_pattern_get_color_stop_rgba(pat, 0, &offset, &r, &g, &b, &a)); + EXPECT_EQ(0, offset); + EXPECT_EQ(1, r); EXPECT_EQ(0, g); EXPECT_EQ(0, b); EXPECT_EQ(1, a); + EXPECT_EQ(VKVG_STATUS_SUCCESS, vkvg_pattern_get_color_stop_rgba(pat, 1, &offset, &r, &g, &b, &a)); + EXPECT_EQ(0.5, offset); + EXPECT_EQ(0, r); EXPECT_EQ(1, g); EXPECT_EQ(0, b); EXPECT_EQ(1, a); + EXPECT_EQ(VKVG_STATUS_SUCCESS, vkvg_pattern_get_color_stop_rgba(pat, 2, &offset, &r, &g, &b, &a)); + EXPECT_EQ(0, r); EXPECT_EQ(0, g); EXPECT_EQ(1, b); EXPECT_EQ(1, a); + EXPECT_EQ(1, offset); + EXPECT_EQ(VKVG_STATUS_INVALID_INDEX, vkvg_pattern_get_color_stop_rgba(pat, 3, &offset, &r, &g, &b, &a)); + + vkvg_matrix_t mat = {0}; + vkvg_pattern_get_matrix(pat, &mat); + CHECK_MAT(1, 0, 0, 1, 0, 0); + vkvg_matrix_translate(&mat, 100, 50); + vkvg_pattern_set_matrix(pat, &mat); + vkvg_pattern_get_matrix(pat, &mat); + CHECK_MAT(1, 0, 0, 1, 100, 50); + vkvg_set_source(ctx, pat); + EXPECT_EQ(VKVG_STATUS_SUCCESS, vkvg_status(ctx)); EXPECT_EQ(2, vkvg_pattern_get_reference_count(pat)); - src = vkvg_get_source (ctx); + vkvg_save(ctx); EXPECT_EQ(3, vkvg_pattern_get_reference_count(pat)); - vkvg_pattern_destroy(pat); + vkvg_restore(ctx); + EXPECT_EQ(2, vkvg_pattern_get_reference_count(pat)); + + pat = vkvg_get_source(ctx); + EXPECT_EQ(VKVG_STATUS_SUCCESS, vkvg_pattern_status(pat)); + EXPECT_EQ(VKVG_PATTERN_TYPE_LINEAR, vkvg_pattern_get_type(pat)); + EXPECT_EQ(3, vkvg_pattern_get_reference_count(pat)); + + vkvg_set_source_rgb(ctx, 1, 0, 0); EXPECT_EQ(2, vkvg_pattern_get_reference_count(pat)); + vkvg_pattern_destroy(pat); - EXPECT_EQ(1, vkvg_pattern_get_reference_count(pat)); vkvg_pattern_destroy(pat); - EXPECT_EQ(0, vkvg_pattern_get_reference_count(pat)); - EXPECT_EQ(0, vkvg_pattern_get_reference_count(src)); - EXPECT_EQ(VKVG_STATUS_NULL_POINTER, vkvg_pattern_status(pat)); - EXPECT_EQ(VKVG_STATUS_NULL_POINTER, vkvg_pattern_status(src)); - src = vkvg_get_source (ctx); + pat = vkvg_pattern_create_radial(250.0f, 250.0f, 0, 300, 300, 260.0f); + EXPECT_EQ(VKVG_STATUS_SUCCESS, vkvg_pattern_status(pat)); + EXPECT_EQ(VKVG_PATTERN_TYPE_RADIAL, vkvg_pattern_get_type(pat)); + EXPECT_EQ(VKVG_EXTEND_NONE, vkvg_pattern_get_extend(pat)); + EXPECT_EQ(VKVG_FILTER_FAST, vkvg_pattern_get_filter(pat)); - /*pat = vkvg_pattern_create_linear(0, 0, 0, 0); - src = vkvg_get_source (ctx); - EXPECT_EQ(3, vkvg_pattern_get_reference_count(pat));*/ + vkvg_pattern_add_color_stop(pat, 0.0, 1, 0, 0, 1); + vkvg_pattern_add_color_stop(pat, 0.5, 0, 1, 0, 1); + vkvg_pattern_add_color_stop(pat, 1.0, 0, 0, 0, 1); + EXPECT_EQ(VKVG_STATUS_SUCCESS, vkvg_pattern_get_color_stop_count(pat, &ccpt)); + EXPECT_EQ(3, ccpt); + EXPECT_EQ(VKVG_STATUS_SUCCESS, vkvg_pattern_get_color_stop_rgba(pat, 0, &offset, &r, &g, &b, &a)); + EXPECT_EQ(0, offset); + EXPECT_EQ(1, r); EXPECT_EQ(0, g); EXPECT_EQ(0, b); EXPECT_EQ(1, a); + EXPECT_EQ(VKVG_STATUS_SUCCESS, vkvg_pattern_get_color_stop_rgba(pat, 1, &offset, &r, &g, &b, &a)); + EXPECT_EQ(0.5, offset); + EXPECT_EQ(0, r); EXPECT_EQ(1, g); EXPECT_EQ(0, b); EXPECT_EQ(1, a); + EXPECT_EQ(VKVG_STATUS_SUCCESS, vkvg_pattern_get_color_stop_rgba(pat, 2, &offset, &r, &g, &b, &a)); + EXPECT_EQ(0, r); EXPECT_EQ(0, g); EXPECT_EQ(0, b); EXPECT_EQ(1, a); + EXPECT_EQ(1, offset); + EXPECT_EQ(VKVG_STATUS_INVALID_INDEX, vkvg_pattern_get_color_stop_rgba(pat, 3, &offset, &r, &g, &b, &a)); + vkvg_set_source(ctx, pat); + EXPECT_EQ(VKVG_STATUS_SUCCESS, vkvg_status(ctx)); + EXPECT_EQ(2, vkvg_pattern_get_reference_count(pat)); + vkvg_save(ctx); + EXPECT_EQ(3, vkvg_pattern_get_reference_count(pat)); + vkvg_restore(ctx); + EXPECT_EQ(2, vkvg_pattern_get_reference_count(pat)); + + pat = vkvg_get_source(ctx); + EXPECT_EQ(VKVG_STATUS_SUCCESS, vkvg_pattern_status(pat)); + EXPECT_EQ(VKVG_PATTERN_TYPE_RADIAL, vkvg_pattern_get_type(pat)); + EXPECT_EQ(3, vkvg_pattern_get_reference_count(pat)); + + vkvg_set_source_rgb(ctx, 1, 0, 0); + EXPECT_EQ(2, vkvg_pattern_get_reference_count(pat)); + + vkvg_pattern_destroy(pat); + vkvg_pattern_destroy(pat); vkvg_destroy(ctx); } -TEST_F(PatternDrawTest, PaintPattern) { +TEST_F(PatternDrawTest, PaintImgPattern) { VkvgContext ctx = vkvg_create(surf); VkvgPattern pat = vkvg_pattern_create_for_surface(imgSurf); @@ -83,7 +177,60 @@ TEST_F(PatternDrawTest, PaintPattern) { compareWithRefImage(); } -TEST_F(PatternDrawTest, PaintPatternRepeat) { +TEST_F(PatternDrawTest, FillImgPattern) { + + VkvgContext ctx = vkvg_create(surf); + VkvgPattern pat = vkvg_pattern_create_for_surface(imgSurf); + vkvg_rectangle(ctx, 70, 70, 200, 160); + vkvg_set_source(ctx, pat); + vkvg_fill(ctx); + vkvg_pattern_destroy(pat); + vkvg_destroy(ctx); + + compareWithRefImage(); +} +TEST_F(PatternDrawTest, FillImgPatternTransformed) { + + VkvgContext ctx = vkvg_create(surf); + VkvgPattern pat = vkvg_pattern_create_for_surface(imgSurf); + vkvg_rotate(ctx, 0.3f); + vkvg_rectangle(ctx, 50, 50, 200, 160); + vkvg_set_source(ctx, pat); + vkvg_fill(ctx); + vkvg_pattern_destroy(pat); + vkvg_destroy(ctx); + + compareWithRefImage(); +} +TEST_F(PatternDrawTest, FillImgTransformedPattern) { + + VkvgContext ctx = vkvg_create(surf); + VkvgPattern pat = vkvg_pattern_create_for_surface(imgSurf); + vkvg_matrix_t mat = {0}; + vkvg_matrix_init_rotate(&mat, 0.3f); + vkvg_pattern_set_matrix(pat, &mat); + vkvg_rectangle(ctx, 50, 50, 200, 160); + vkvg_set_source(ctx, pat); + vkvg_fill(ctx); + vkvg_pattern_destroy(pat); + vkvg_destroy(ctx); + + compareWithRefImage(); +} +TEST_F(PatternDrawTest, StrokeImgPattern) { + + VkvgContext ctx = vkvg_create(surf); + VkvgPattern pat = vkvg_pattern_create_for_surface(imgSurf); + vkvg_set_line_width(ctx, 20); + vkvg_rectangle(ctx, 50, 50, 200, 160); + vkvg_set_source(ctx, pat); + vkvg_stroke(ctx); + vkvg_pattern_destroy(pat); + vkvg_destroy(ctx); + + compareWithRefImage(); +} +TEST_F(PatternDrawTest, PaintImgPatternRepeat) { VkvgContext ctx = vkvg_create(surf); VkvgPattern pat = vkvg_pattern_create_for_surface(imgSurf); vkvg_pattern_set_extend(pat, VKVG_EXTEND_REPEAT); @@ -94,7 +241,7 @@ TEST_F(PatternDrawTest, PaintPatternRepeat) { compareWithRefImage(); } -TEST_F(PatternDrawTest, PaintPatternRepeatScaled) { +TEST_F(PatternDrawTest, PaintImgPatternRepeatScaled) { VkvgContext ctx = vkvg_create(surf); vkvg_scale(ctx, 0.2f, 0.2f); VkvgPattern pat = vkvg_pattern_create_for_surface(imgSurf); @@ -106,7 +253,7 @@ TEST_F(PatternDrawTest, PaintPatternRepeatScaled) { compareWithRefImage(); } -TEST_F(PatternDrawTest, PaintPatternPad) { +TEST_F(PatternDrawTest, PaintImgPatternPad) { VkvgContext ctx = vkvg_create(surf); VkvgPattern pat = vkvg_pattern_create_for_surface(imgSurf); vkvg_pattern_set_extend(pat, VKVG_EXTEND_PAD); @@ -117,3 +264,181 @@ TEST_F(PatternDrawTest, PaintPatternPad) { compareWithRefImage(); } +TEST_F(PatternDrawTest, PaintLinearPattern) { + + VkvgContext ctx = vkvg_create(surf); + VkvgPattern pat = CreateLinearPattern(); + vkvg_set_source(ctx, pat); + vkvg_paint(ctx); + vkvg_pattern_destroy(pat); + vkvg_destroy(ctx); + + compareWithRefImage(); +} +TEST_F(PatternDrawTest, FillLinearPatternTransformed) { + + VkvgContext ctx = vkvg_create(surf); + VkvgPattern pat = CreateLinearPattern(); + vkvg_rotate(ctx, 0.3f); + vkvg_rectangle(ctx, 50, 50, 200, 160); + vkvg_set_source(ctx, pat); + vkvg_fill(ctx); + vkvg_pattern_destroy(pat); + vkvg_destroy(ctx); + + compareWithRefImage(); +} +TEST_F(PatternDrawTest, FillLinearTransformedPattern) { + + VkvgContext ctx = vkvg_create(surf); + VkvgPattern pat = CreateLinearPattern(); + vkvg_matrix_t mat = {0}; + vkvg_matrix_init_rotate(&mat, 0.3f); + vkvg_pattern_set_matrix(pat, &mat); + vkvg_rectangle(ctx, 50, 50, 200, 160); + vkvg_set_source(ctx, pat); + vkvg_fill(ctx); + vkvg_pattern_destroy(pat); + vkvg_destroy(ctx); + + compareWithRefImage(); +} +TEST_F(PatternDrawTest, PaintLinearPatternRepeat) { + VkvgContext ctx = vkvg_create(surf); + VkvgPattern pat = CreateLinearPattern(); + vkvg_pattern_set_extend(pat, VKVG_EXTEND_REPEAT); + vkvg_set_source(ctx, pat); + vkvg_paint(ctx); + vkvg_pattern_destroy(pat); + vkvg_destroy(ctx); + + compareWithRefImage(); +} +TEST_F(PatternDrawTest, PaintLinearPatternRepeatScaled) { + VkvgContext ctx = vkvg_create(surf); + vkvg_scale(ctx, 0.2f, 0.2f); + VkvgPattern pat = CreateLinearPattern(); + vkvg_pattern_set_extend(pat, VKVG_EXTEND_REPEAT); + vkvg_set_source(ctx, pat); + vkvg_paint(ctx); + vkvg_pattern_destroy(pat); + vkvg_destroy(ctx); + + compareWithRefImage(); +} +TEST_F(PatternDrawTest, PaintLinearPatternPad) { + VkvgContext ctx = vkvg_create(surf); + VkvgPattern pat = CreateLinearPattern(); + vkvg_pattern_set_extend(pat, VKVG_EXTEND_PAD); + vkvg_set_source(ctx, pat); + vkvg_paint(ctx); + vkvg_pattern_destroy(pat); + vkvg_destroy(ctx); + + compareWithRefImage(); +} +TEST_F(PatternDrawTest, PaintRadialPattern) { + + VkvgContext ctx = vkvg_create(surf); + VkvgPattern pat = CreateRadialPattern(); + vkvg_set_source(ctx, pat); + vkvg_paint(ctx); + vkvg_pattern_destroy(pat); + vkvg_destroy(ctx); + + compareWithRefImage(); +} +TEST_F(PatternDrawTest, FillRadialPatternTransformed) { + + VkvgContext ctx = vkvg_create(surf); + VkvgPattern pat = CreateRadialPattern(); + vkvg_rotate(ctx, 0.3f); + vkvg_rectangle(ctx, 50, 50, 200, 160); + vkvg_set_source(ctx, pat); + vkvg_fill(ctx); + vkvg_pattern_destroy(pat); + vkvg_destroy(ctx); + + compareWithRefImage(); +} +TEST_F(PatternDrawTest, FillRadialTransformedPattern) { + + VkvgContext ctx = vkvg_create(surf); + VkvgPattern pat = CreateRadialPattern(); + vkvg_matrix_t mat = {0}; + vkvg_matrix_init_rotate(&mat, 0.3f); + vkvg_pattern_set_matrix(pat, &mat); + vkvg_rectangle(ctx, 50, 50, 200, 160); + vkvg_set_source(ctx, pat); + vkvg_fill(ctx); + vkvg_pattern_destroy(pat); + vkvg_destroy(ctx); + + compareWithRefImage(); +} +TEST_F(PatternDrawTest, PaintRadialPatternRepeat) { + VkvgContext ctx = vkvg_create(surf); + VkvgPattern pat = CreateRadialPattern(); + vkvg_pattern_set_extend(pat, VKVG_EXTEND_REPEAT); + vkvg_set_source(ctx, pat); + vkvg_paint(ctx); + vkvg_pattern_destroy(pat); + vkvg_destroy(ctx); + + compareWithRefImage(); +} +TEST_F(PatternDrawTest, PaintRadialPatternRepeatScaled) { + VkvgContext ctx = vkvg_create(surf); + vkvg_scale(ctx, 0.2f, 0.2f); + VkvgPattern pat = CreateRadialPattern(); + vkvg_pattern_set_extend(pat, VKVG_EXTEND_REPEAT); + vkvg_set_source(ctx, pat); + vkvg_paint(ctx); + vkvg_pattern_destroy(pat); + vkvg_destroy(ctx); + + compareWithRefImage(); +} +TEST_F(PatternDrawTest, PaintRadialPatternPad) { + VkvgContext ctx = vkvg_create(surf); + VkvgPattern pat = CreateRadialPattern(); + vkvg_pattern_set_extend(pat, VKVG_EXTEND_PAD); + vkvg_set_source(ctx, pat); + vkvg_paint(ctx); + vkvg_pattern_destroy(pat); + vkvg_destroy(ctx); + + compareWithRefImage(); +} +TEST_F(PatternDrawTest, PaintLinearPatternTransformed) { + + VkvgContext ctx = vkvg_create(surf); + VkvgPattern pat = CreateLinearPattern(); + vkvg_matrix_t mat = {0}; + vkvg_matrix_init_rotate(&mat, 0.3f); + vkvg_matrix_translate(&mat, -20, -20); + vkvg_matrix_scale(&mat, 0.5f, 0.5f); + vkvg_pattern_set_matrix(pat, &mat); + vkvg_set_source(ctx, pat); + vkvg_paint(ctx); + vkvg_pattern_destroy(pat); + vkvg_destroy(ctx); + + compareWithRefImage(); +} +TEST_F(PatternDrawTest, PaintRadialPatternTransformed) { + + VkvgContext ctx = vkvg_create(surf); + VkvgPattern pat = CreateRadialPattern(); + vkvg_matrix_t mat = {0}; + vkvg_matrix_init_rotate(&mat, 0.3f); + vkvg_matrix_translate(&mat, -20, -20); + vkvg_matrix_scale(&mat, 0.5f, 0.5f); + vkvg_pattern_set_matrix(pat, &mat); + vkvg_set_source(ctx, pat); + vkvg_paint(ctx); + vkvg_pattern_destroy(pat); + vkvg_destroy(ctx); + + compareWithRefImage(); +}
\ No newline at end of file diff --git a/src/vkvg_pattern.c b/src/vkvg_pattern.c index 9bc21b9..9428c06 100644 --- a/src/vkvg_pattern.c +++ b/src/vkvg_pattern.c @@ -28,7 +28,6 @@ VkvgPattern vkvg_pattern_create_solid(float r, float g, float b, float a) { VkvgPattern pat = (vkvg_pattern_t*)calloc(1, sizeof(vkvg_pattern_t)); if (!pat) { - LOG(VKVG_LOG_ERR, "CREATE Pattern failed, no memory\n"); return (VkvgPattern)&_vkvg_status_no_memory; } pat->type = VKVG_PATTERN_TYPE_SOLID; @@ -38,12 +37,10 @@ VkvgPattern vkvg_pattern_create_solid(float r, float g, float b, float a) { } VkvgPattern vkvg_pattern_create_for_surface(VkvgSurface surf) { if (!surf) { - LOG(VKVG_LOG_ERR, "CREATE Pattern failed, invalid surface\n"); return (VkvgPattern)&_vkvg_status_null_pointer; } VkvgPattern pat = (vkvg_pattern_t*)calloc(1, sizeof(vkvg_pattern_t)); if (!pat) { - LOG(VKVG_LOG_ERR, "CREATE Pattern failed, no memory\n"); return (VkvgPattern)&_vkvg_status_no_memory; } @@ -86,7 +83,6 @@ vkvg_status_t vkvg_pattern_edit_linear(VkvgPattern pat, float x0, float y0, floa VkvgPattern vkvg_pattern_create_linear(float x0, float y0, float x1, float y1) { VkvgPattern pat = (vkvg_pattern_t*)calloc(1, sizeof(vkvg_pattern_t)); if (!pat) { - LOG(VKVG_LOG_ERR, "CREATE Pattern failed, no memory\n"); return (VkvgPattern)&_vkvg_status_no_memory; } pat->type = VKVG_PATTERN_TYPE_LINEAR; @@ -126,12 +122,14 @@ vkvg_status_t vkvg_pattern_edit_radial(VkvgPattern pat, float cx0, float cy0, fl grad->cp[0] = (vec4){{c0.x}, {c0.y}, {radius0}, {0}}; grad->cp[1] = (vec4){{c1.x}, {c1.y}, {radius1}, {0}}; + + LOG(VKVG_LOG_INFO, "vkvg_pattern_edit_radial: %p data: %p status: %d\n", pat, pat->data, pat->status); + return VKVG_STATUS_SUCCESS; } VkvgPattern vkvg_pattern_create_radial(float cx0, float cy0, float radius0, float cx1, float cy1, float radius1) { VkvgPattern pat = (vkvg_pattern_t*)calloc(1, sizeof(vkvg_pattern_t)); if (!pat) { - LOG(VKVG_LOG_ERR, "CREATE Pattern failed, no memory\n"); return (VkvgPattern)&_vkvg_status_no_memory; } pat->type = VKVG_PATTERN_TYPE_RADIAL; @@ -259,7 +257,7 @@ void vkvg_pattern_destroy(VkvgPattern pat) { if (pat->type == VKVG_PATTERN_TYPE_SURFACE) { VkvgSurface surf = (VkvgSurface)pat->data; vkvg_surface_destroy(surf); - } else if (pat->type != VKVG_PATTERN_TYPE_SOLID) + } else// if (pat->type != VKVG_PATTERN_TYPE_SOLID) free(pat->data); free(pat); |