From: Jean-Philippe Bruyère Date: Thu, 6 Jan 2022 19:15:04 +0000 (+0100) Subject: rename elliptic arc to fit api X-Git-Tag: v0.3.0-beta~41 X-Git-Url: https://git.osiis.dedyn.io/?a=commitdiff_plain;h=0f31b651184c5423db850fbe6a027eea807bd36c;p=jp%2Fvkvg.git rename elliptic arc to fit api --- diff --git a/external/vkvg-svg b/external/vkvg-svg index a663be0..fa2c0c9 160000 --- a/external/vkvg-svg +++ b/external/vkvg-svg @@ -1 +1 @@ -Subproject commit a663be0bd92d3e7c4f8425da250f8d8bd636f2fd +Subproject commit fa2c0c9d04234316140a1cef2f126a821d061466 diff --git a/include/vkvg.h b/include/vkvg.h index 931036d..ef37977 100644 --- a/include/vkvg.h +++ b/include/vkvg.h @@ -1088,7 +1088,9 @@ void vkvg_rounded_rectangle2 (VkvgContext ctx, float x, float y, float w, float vkvg_public void vkvg_ellipse (VkvgContext ctx, float radiusX, float radiusY, float x, float y, float rotationAngle); vkvg_public -void vkvg_elliptic_arc (VkvgContext ctx, float x2, float y2, bool largeArc, bool counterClockWise, float rx, float ry, float phi); +void vkvg_elliptic_arc_to (VkvgContext ctx, float x2, float y2, bool largeArc, bool counterClockWise, float rx, float ry, float phi); +vkvg_public +void vkvg_rel_elliptic_arc_to (VkvgContext ctx, float x2, float y2, bool largeArc, bool counterClockWise, float rx, float ry, float phi); /** * @brief Stroke command * diff --git a/src/vkvg_context.c b/src/vkvg_context.c index b551227..c2a9994 100644 --- a/src/vkvg_context.c +++ b/src/vkvg_context.c @@ -588,16 +588,16 @@ vkvg_status_t vkvg_rounded_rectangle (VkvgContext ctx, float x, float y, float w void vkvg_rounded_rectangle2 (VkvgContext ctx, float x, float y, float w, float h, float rx, float ry){ vkvg_move_to (ctx, x+rx, y); vkvg_line_to (ctx, x+w-rx, y); - vkvg_elliptic_arc(ctx, x+w, y+ry, false, true, rx, ry, 0); + vkvg_elliptic_arc_to(ctx, x+w, y+ry, false, true, rx, ry, 0); vkvg_line_to (ctx, x+w, y+h-ry); - vkvg_elliptic_arc(ctx, x+w-rx, y+h, false, true, rx, ry, 0); + vkvg_elliptic_arc_to(ctx, x+w-rx, y+h, false, true, rx, ry, 0); vkvg_line_to (ctx, x+rx, y+h); - vkvg_elliptic_arc(ctx, x, y+h-ry , false, true, rx, ry, 0); + vkvg_elliptic_arc_to(ctx, x, y+h-ry , false, true, rx, ry, 0); vkvg_line_to (ctx, x, y+ry); - vkvg_elliptic_arc(ctx, x+rx, y , false, true, rx, ry, 0); + vkvg_elliptic_arc_to(ctx, x+rx, y , false, true, rx, ry, 0); vkvg_close_path(ctx); } @@ -1316,11 +1316,16 @@ void vkvg_get_matrix (VkvgContext ctx, const vkvg_matrix_t* matrix){ memcpy ((void*)matrix, &ctx->pushConsts.mat, sizeof(vkvg_matrix_t)); } -void vkvg_elliptic_arc (VkvgContext ctx, float x2, float y2, bool largeArc, bool counterClockWise, float rx, float ry, float phi) { +void vkvg_elliptic_arc_to (VkvgContext ctx, float x2, float y2, bool largeArc, bool counterClockWise, float rx, float ry, float phi) { float x1, y1; vkvg_get_current_point(ctx, &x1, &y1); _elliptic_arc(ctx, x1, y1, x2, y2, largeArc, counterClockWise, rx, ry, phi); } +void vkvg_rel_elliptic_arc_to (VkvgContext ctx, float x2, float y2, bool largeArc, bool counterClockWise, float rx, float ry, float phi) { + float x1, y1; + vkvg_get_current_point(ctx, &x1, &y1); + _elliptic_arc(ctx, x1, y1, x2+x1, y2+y1, largeArc, counterClockWise, rx, ry, phi); +} void vkvg_ellipse (VkvgContext ctx, float radiusX, float radiusY, float x, float y, float rotationAngle) { if (ctx->status)