]> O.S.I.I.S - jp/vkvg.git/commitdiff
rename elliptic arc to fit api
authorJean-Philippe Bruyère <jp_bruyere@hotmail.com>
Thu, 6 Jan 2022 19:15:04 +0000 (20:15 +0100)
committerJean-Philippe Bruyère <jp_bruyere@hotmail.com>
Thu, 6 Jan 2022 19:15:04 +0000 (20:15 +0100)
external/vkvg-svg
include/vkvg.h
src/vkvg_context.c

index a663be0bd92d3e7c4f8425da250f8d8bd636f2fd..fa2c0c9d04234316140a1cef2f126a821d061466 160000 (submodule)
@@ -1 +1 @@
-Subproject commit a663be0bd92d3e7c4f8425da250f8d8bd636f2fd
+Subproject commit fa2c0c9d04234316140a1cef2f126a821d061466
index 931036d5fa31f14a83c59fc2621d175956302d6e..ef37977eeab33009749ab89049b3cb63543f018f 100644 (file)
@@ -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
  *
index b55122768e5392c7eb5a3b6caf977c1a2d041ef8..c2a999486680869aa09c2b3d6d9261d18cbb8c85 100644 (file)
@@ -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)