summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/mplibdir/lmplib.c
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/web2c/mplibdir/lmplib.c')
-rw-r--r--Build/source/texk/web2c/mplibdir/lmplib.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/Build/source/texk/web2c/mplibdir/lmplib.c b/Build/source/texk/web2c/mplibdir/lmplib.c
index 8e0823ece06..b5e6959c3ea 100644
--- a/Build/source/texk/web2c/mplibdir/lmplib.c
+++ b/Build/source/texk/web2c/mplibdir/lmplib.c
@@ -35,6 +35,7 @@
#include "mplib.h"
#include "mplibps.h"
+#include "mplibsvg.h"
/*@unused@*/ static const char _svn_version[] =
"$Id: lmplib.c 1364 2008-07-04 16:09:46Z taco $ $URL: http://scm.foundry.supelec.fr/svn/luatex/trunk/src/texk/web2c/luatexdir/lua/lmplib.c $";
@@ -585,6 +586,21 @@ static int mplib_fig_postscript(lua_State * L)
return 1;
}
+static int mplib_fig_svg(lua_State * L)
+{
+ mp_run_data *res;
+ struct mp_edge_object **hh = is_fig(L, 1);
+ int prologues = (int)luaL_optnumber(L, 2, (lua_Number)-1);
+ if (mp_svg_ship_out(*hh, prologues)
+ && (res = mp_rundata((*hh)->parent))
+ && (res->ps_out.size != 0)) {
+ lua_pushstring(L, res->ps_out.data);
+ } else {
+ lua_pushnil(L);
+ }
+ return 1;
+}
+
static int mplib_fig_filename(lua_State * L)
{
struct mp_edge_object **hh = is_fig(L, 1);
@@ -1176,6 +1192,7 @@ static const struct luaL_reg mplib_fig_meta[] = {
{"copy_objects", mplib_fig_copy_body},
{"filename", mplib_fig_filename},
{"postscript", mplib_fig_postscript},
+ {"svg", mplib_fig_svg},
{"boundingbox", mplib_fig_bb},
{"width", mplib_fig_width},
{"height", mplib_fig_height},