diff options
Diffstat (limited to 'Build/source/texk/web2c/mplibdir/lmplib.c')
-rw-r--r-- | Build/source/texk/web2c/mplibdir/lmplib.c | 17 |
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}, |