From a8f63ee70a866cce43ee4b1bb5ba95ef8044243f Mon Sep 17 00:00:00 2001 From: Hans Hagen Date: Fri, 13 Jul 2018 10:51:35 +0200 Subject: 2018-07-13 09:55:00 --- metapost/context/base/mpiv/mp-base.mpiv | 2 +- metapost/context/base/mpiv/mp-luas.mpiv | 29 ++++++++++--------- metapost/context/base/mpiv/mp-mlib.mpiv | 50 +++++++++++++++++++-------------- metapost/context/base/mpiv/mp-page.mpiv | 2 +- 4 files changed, 46 insertions(+), 37 deletions(-) (limited to 'metapost') diff --git a/metapost/context/base/mpiv/mp-base.mpiv b/metapost/context/base/mpiv/mp-base.mpiv index 95d1e8d11..20d747a25 100644 --- a/metapost/context/base/mpiv/mp-base.mpiv +++ b/metapost/context/base/mpiv/mp-base.mpiv @@ -201,7 +201,7 @@ let graycolor = numeric ; % color part (will be overloaded) def colorpart primary t = - if colormodel t=7: + if colormodel t = 7: (cyanpart t, magentapart t, yellowpart t, blackpart t) elseif colormodel t = 5 : (redpart t, greenpart t, bluepart t) diff --git a/metapost/context/base/mpiv/mp-luas.mpiv b/metapost/context/base/mpiv/mp-luas.mpiv index d5aeec158..293ebadaf 100644 --- a/metapost/context/base/mpiv/mp-luas.mpiv +++ b/metapost/context/base/mpiv/mp-luas.mpiv @@ -161,9 +161,14 @@ vardef MP@#(text t) = enddef ; def message expr t = - if t <> "" : lua.mp.report(t) fi ; + lua.mp.report(tostring(t)) ; enddef ; +% Modes: + +vardef texmode (expr s) = lua.mp("mode", s) enddef ; +vardef systemmode(expr s) = lua.mp("systemmode",s) enddef ; + % A few helpers vardef isarray suffix a = lua.mp.isarray (str a) enddef ; @@ -172,19 +177,15 @@ vardef dimension suffix a = lua.mp.dimension(str a) enddef ; % More access -def getdimen(expr k) = lua.mp._get_dimen_(k) enddef ; -def getcount(expr k) = lua.mp._get_count_(k) enddef ; -def gettoks (expr k) = lua.mp._get_toks_ (k) enddef ; -def setdimen(expr k, v) = lua.mp._set_dimen_(k,v) enddef ; -def setcount(expr k, v) = lua.mp._set_count_(k,v) enddef ; -def settoks (expr k, v) = lua.mp._set_toks_ (k,v) enddef ; - -% vardef getdimen(expr k) = save getdimen ; lua.mp.getdimen(k) enddef ; -% vardef getcount(expr k) = save getcount ; lua.mp.getcount(k) enddef ; -% vardef gettoks (expr k) = save gettoks ; lua.mp.gettoks (k) enddef ; -% vardef setdimen(expr k,v) = save setdimen ; lua.mp.setdimen(k,v) enddef ; -% vardef setcount(expr k,v) = save setcount ; lua.mp.setcount(k,v) enddef ; -% vardef settoks (expr k,v) = save settoks ; lua.mp.settoks (k,v) enddef ; +vardef getmacro(expr k) = lua.mp._get_macro_(k) enddef ; +vardef getdimen(expr k) = lua.mp._get_dimen_(k) enddef ; +vardef getcount(expr k) = lua.mp._get_count_(k) enddef ; +vardef gettoks (expr k) = lua.mp._get_toks_ (k) enddef ; + +def setmacro(expr k,v) = lua.mp._set_macro_(k,v) enddef ; +def setdimen(expr k,v) = lua.mp._set_dimen_(k,v) enddef ; +def setcount(expr k,v) = lua.mp._set_count_(k,v) enddef ; +def settoks (expr k,v) = lua.mp._set_toks_ (k,v) enddef ; vardef positionpath (expr name) = lua.mp.positionpath (name) enddef ; vardef positioncurve (expr name) = lua.mp.positioncurve (name) enddef ; diff --git a/metapost/context/base/mpiv/mp-mlib.mpiv b/metapost/context/base/mpiv/mp-mlib.mpiv index 019020d82..abef3d52c 100644 --- a/metapost/context/base/mpiv/mp-mlib.mpiv +++ b/metapost/context/base/mpiv/mp-mlib.mpiv @@ -23,7 +23,11 @@ boolean mfun_use_one_pass ; mfun_use_one_pass := runscript("mp.print(metapost.us %D Objects: vardef isobject expr p = - lua.mp.isobject(prescriptpart p) + if picture p : + lua.mp.isobject(prescriptpart p) + else : + false + fi enddef ; %D Color and transparency @@ -204,9 +208,9 @@ if mfun_use_one_pass : addto mfun_tt_o doublepath origin _op_ ; % save drawoptions mfun_tt_r := lua.mp.mf_some_text(mfun_tt_n,s) ; addto mfun_tt_c doublepath unitsquare - xscaled redpart mfun_tt_r - yscaled (greenpart mfun_tt_r + bluepart mfun_tt_r) - shifted (0,-bluepart mfun_tt_r) + xscaled wdpart mfun_tt_r + yscaled (htpart mfun_tt_r + dppart mfun_tt_r) + shifted (0,-dppart mfun_tt_r) withprescript "mf_object=text" withprescript "tx_index=" & decimal mfun_tt_n withprescript "tx_color=" & colordecimals colorpart mfun_tt_o @@ -222,9 +226,9 @@ if mfun_use_one_pass : addto mfun_tt_o doublepath origin _op_ ; % save drawoptions mfun_tt_r := lua.mp.mf_made_text(mfun_tt_n) ; addto mfun_tt_c doublepath unitsquare - xscaled redpart mfun_tt_r - yscaled (greenpart mfun_tt_r + bluepart mfun_tt_r) - shifted (0,-bluepart mfun_tt_r) + xscaled wdpart mfun_tt_r + yscaled (htpart mfun_tt_r + dppart mfun_tt_r) + shifted (0,-dppart mfun_tt_r) withprescript "mf_object=text" withprescript "tx_index=" & decimal mfun_tt_n withprescript "tx_color=" & colordecimals colorpart mfun_tt_o @@ -257,9 +261,9 @@ else : else : mfun_tt_b := lua.mp.mf_tt_dimensions(mfun_tt_n) ; addto mfun_tt_c doublepath unitsquare - xscaled redpart mfun_tt_b - yscaled (greenpart mfun_tt_b + bluepart mfun_tt_b) - shifted (0,- bluepart mfun_tt_b) + xscaled wdpart mfun_tt_b + yscaled (htpart mfun_tt_b + dppart mfun_tt_b) + shifted (0,- dppart mfun_tt_b) withprescript "mf_object=text" withprescript "tx_number=" & decimal mfun_tt_n withprescript "tx_stage=final" ; @@ -288,9 +292,9 @@ vardef rawtexbox(expr category, name) = if validtexbox(category,name) : mfun_tt_b := lua.mp.mf_tb_dimensions(category, name) ; addto mfun_tt_c doublepath unitsquare - xscaled redpart mfun_tt_b - yscaled (greenpart mfun_tt_b + bluepart mfun_tt_b) - shifted (0,- bluepart mfun_tt_b) + xscaled wdpart mfun_tt_b + yscaled (htpart mfun_tt_b + dppart mfun_tt_b) + shifted (0,- dppart mfun_tt_b) withprescript "mf_object=box" withprescript "bx_category=" & if numeric category : decimal fi category withprescript "bx_name=" & if numeric name : decimal fi name ; @@ -470,9 +474,9 @@ if mfun_use_one_pass : addto mfun_tt_o doublepath origin _op_ ; % save drawoptions mfun_tt_r := lua.mp.mf_formatted_text(mfun_tt_n,t) ; addto mfun_tt_c doublepath unitsquare - xscaled redpart mfun_tt_r - yscaled (greenpart mfun_tt_r + bluepart mfun_tt_r) - shifted (0,-bluepart mfun_tt_r) + xscaled wdpart mfun_tt_r + yscaled (htpart mfun_tt_r + dppart mfun_tt_r) + shifted (0,-dppart mfun_tt_r) withprescript "mf_object=text" withprescript "tx_index=" & decimal mfun_tt_n withprescript "tx_color=" & colordecimals colorpart mfun_tt_o @@ -515,9 +519,9 @@ else : else : mfun_tt_b := lua.mp.mf_tt_dimensions(mfun_tt_n) ; addto mfun_tt_c doublepath unitsquare - xscaled redpart mfun_tt_b - yscaled (greenpart mfun_tt_b + bluepart mfun_tt_b) - shifted (0,- bluepart mfun_tt_b) + xscaled wdpart mfun_tt_b + yscaled (htpart mfun_tt_b + dppart mfun_tt_b) + shifted (0,- dppart mfun_tt_b) withprescript "mf_object=text" withprescript "tx_number=" & decimal mfun_tt_n withprescript "tx_stage=final" ; @@ -1081,8 +1085,8 @@ if mfun_use_one_pass : mfun_tt_c := nullpicture ; mfun_tt_r := lua.mp.mf_external_figure(filename) ; addto mfun_tt_c doublepath unitsquare - xscaled redpart mfun_tt_r - yscaled greenpart mfun_tt_r + xscaled wdpart mfun_tt_r + yscaled htpart mfun_tt_r withprescript "mf_object=figure" withprescript "fg_name=" & filename ; ; @@ -1797,6 +1801,10 @@ def comment expr str = special "metapost.comment[[" & str & "]]" ; enddef ; +vardef report(text t) = + lua.mp.report(t) +enddef ; + % This overloads a dummy: vardef uniquelist(suffix list) = diff --git a/metapost/context/base/mpiv/mp-page.mpiv b/metapost/context/base/mpiv/mp-page.mpiv index 052bcbb23..0571bcc92 100644 --- a/metapost/context/base/mpiv/mp-page.mpiv +++ b/metapost/context/base/mpiv/mp-page.mpiv @@ -322,7 +322,7 @@ vardef OverlayDepth = lua.mp.OverlayDepth () enddef ; vardef OverlayLineWidth = lua.mp.OverlayLineWidth() enddef ; vardef OverlayOffset = lua.mp.OverlayOffset () enddef ; -vardef defaultcolormodel = lua.mp.defaultcolormodel() enddef ; +vardef defaultcolormodel = lua.mp.mf_default_color_model() enddef ; % def OverlayLineColor = lua.mp.OverlayLineColor() enddef ; % def OverlayColor = lua.mp.OverlayColor () enddef ; -- cgit v1.2.3