summaryrefslogtreecommitdiff
path: root/source/tools/murun.c
diff options
context:
space:
mode:
authorSebastian Rasmussen <sebras@gmail.com>2016-07-31 14:52:53 +0800
committerSebastian Rasmussen <sebras@gmail.com>2016-08-02 02:20:45 +0800
commit6372d8c0a92da39399a4aa0e4c0833611e4a249f (patch)
tree1e6c0e27b07a1715703c9a21a5ad85a935d284fd /source/tools/murun.c
parente669037e78e1cfbe7adb3ad80dc2f80b62010a34 (diff)
downloadmupdf-6372d8c0a92da39399a4aa0e4c0833611e4a249f.tar.xz
JS: Add Path.curveTo*(), similar to JNI.
Diffstat (limited to 'source/tools/murun.c')
-rw-r--r--source/tools/murun.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/source/tools/murun.c b/source/tools/murun.c
index 99335929..248a0d68 100644
--- a/source/tools/murun.c
+++ b/source/tools/murun.c
@@ -2307,6 +2307,36 @@ static void ffi_Path_curveTo(js_State *J)
rethrow(J);
}
+static void ffi_Path_curveToV(js_State *J)
+{
+ fz_context *ctx = js_getcontext(J);
+ fz_path *path = js_touserdata(J, 0, "fz_path");
+ float cx = js_tonumber(J, 1);
+ float cy = js_tonumber(J, 2);
+ float ex = js_tonumber(J, 3);
+ float ey = js_tonumber(J, 4);
+
+ fz_try(ctx)
+ fz_curvetov(ctx, path, cx, cy, ex, ey);
+ fz_catch(ctx)
+ rethrow(J);
+}
+
+static void ffi_Path_curveToY(js_State *J)
+{
+ fz_context *ctx = js_getcontext(J);
+ fz_path *path = js_touserdata(J, 0, "fz_path");
+ float cx = js_tonumber(J, 1);
+ float cy = js_tonumber(J, 2);
+ float ex = js_tonumber(J, 3);
+ float ey = js_tonumber(J, 4);
+
+ fz_try(ctx)
+ fz_curvetoy(ctx, path, cx, cy, ex, ey);
+ fz_catch(ctx)
+ rethrow(J);
+}
+
static void ffi_Path_closePath(js_State *J)
{
fz_context *ctx = js_getcontext(J);
@@ -3622,6 +3652,8 @@ int murun_main(int argc, char **argv)
jsB_propfun(J, "Path.moveTo", ffi_Path_moveTo, 2);
jsB_propfun(J, "Path.lineTo", ffi_Path_lineTo, 2);
jsB_propfun(J, "Path.curveTo", ffi_Path_curveTo, 6);
+ jsB_propfun(J, "Path.curveToV", ffi_Path_curveToV, 4);
+ jsB_propfun(J, "Path.curveToY", ffi_Path_curveToY, 4);
jsB_propfun(J, "Path.closePath", ffi_Path_closePath, 0);
jsB_propfun(J, "Path.rect", ffi_Path_rect, 4);
}