summaryrefslogtreecommitdiff
path: root/tex/context/base/mkiv/mlib-lua.lmt
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2020-11-23 19:48:34 +0100
committerContext Git Mirror Bot <phg@phi-gamma.net>2020-11-23 19:48:34 +0100
commit18499e46a49b8ccf4346686d1cf626ada33935b8 (patch)
treebd0ae7b601b323e20954c10c07598637d9403e00 /tex/context/base/mkiv/mlib-lua.lmt
parent4b089e589d39346a66a27d04f9857fe16e4b7b41 (diff)
downloadcontext-18499e46a49b8ccf4346686d1cf626ada33935b8.tar.gz
2020-11-23 18:39:00
Diffstat (limited to 'tex/context/base/mkiv/mlib-lua.lmt')
-rw-r--r--tex/context/base/mkiv/mlib-lua.lmt168
1 files changed, 0 insertions, 168 deletions
diff --git a/tex/context/base/mkiv/mlib-lua.lmt b/tex/context/base/mkiv/mlib-lua.lmt
deleted file mode 100644
index 8721ed60c..000000000
--- a/tex/context/base/mkiv/mlib-lua.lmt
+++ /dev/null
@@ -1,168 +0,0 @@
-if not modules then modules = { } end modules ['mlib-lua'] = {
- version = 1.001,
- comment = "companion to mlib-ctx.mkiv",
- author = "Hans Hagen, PRAGMA-ADE, Hasselt NL",
- copyright = "PRAGMA ADE / ConTeXt Development Team",
- license = "see context related readme files",
-}
-
-local type = type
-local insert, remove = table.insert, table.remove
-
-local scan = mp.scan
-local inject = mp.inject
-
-local currentmpx = nil
-local stack = { }
-
-local scan_next = mplib.scan_next
-local scan_expression = mplib.scan_expression
-local scan_token = mplib.scan_token
-local scan_symbol = mplib.scan_symbol
-local scan_numeric = mplib.scan_numeric
-local scan_integer = mplib.scan_integer
-local scan_boolean = mplib.scan_boolean
-local scan_string = mplib.scan_string
-local scan_pair = mplib.scan_pair
-local scan_color = mplib.scan_color
-local scan_cmykcolor = mplib.scan_cmykcolor
-local scan_transform = mplib.scan_transform
-local scan_path = mplib.scan_path
-local scan_pen = mplib.scan_pen
-
-scan.next = function(k) return scan_next (currentmpx,k) end
-scan.expression = function(k) return scan_expression(currentmpx,k) end
-scan.token = function(k) return scan_token (currentmpx,k) end
-scan.symbol = function(k,e) return scan_symbol (currentmpx,k,e) end
-scan.numeric = function() return scan_numeric (currentmpx) end
-scan.integer = function() return scan_integer (currentmpx) end
-scan.boolean = function() return scan_boolean (currentmpx) end
-scan.string = function() return scan_string (currentmpx) end
-scan.pair = function(t) return scan_pair (currentmpx,t) end
-scan.color = function(t) return scan_color (currentmpx,t) end
-scan.cmykcolor = function(t) return scan_cmykcolor (currentmpx,t) end
-scan.transform = function(t) return scan_transform (currentmpx,t) end
-scan.path = function(t) return scan_path (currentmpx,t) end
-scan.pen = function(t) return scan_pen (currentmpx,t) end
-
-local solvepath = mplib.solvepath
-local getstatus = mplib.getstatus
-
-mp.solve = function(...)
- return solvepath(currentmpx,...)
-end
-
-local inject_path = mplib.inject_path
-local inject_numeric = mplib.inject_numeric
-local inject_pair = mplib.inject_pair
-local inject_boolean = mplib.inject_boolean
-local inject_integer = mplib.inject_integer
-local inject_string = mplib.inject_string
-local inject_color = mplib.inject_color
-local inject_cmykcolor = mplib.inject_cmykcolor
-local inject_transform = mplib.inject_transform
-local inject_whatever = mplib.inject_whatever
-
-------.path = function(t,cycle,curled) return inject_path (currentmpx,t,cycle,curled) end
-inject.numeric = function(n) return inject_numeric (currentmpx,n) end
-inject.pair = function(x,y) return inject_pair (currentmpx,x,y) end
-inject.boolean = function(b) return inject_boolean (currentmpx,b) end
-inject.integer = function(i) return inject_integer (currentmpx,i) end
-inject.string = function(s) return inject_string (currentmpx,s) end
-inject.color = function(r,g,b) return inject_color (currentmpx,r,g,b) end
-inject.cmykcolor = function(c,m,y,k) return inject_cmykcolor(currentmpx,c,m,y,k) end
-inject.transform = function(x,y,xx,xy,yx,yy) return inject_transform(currentmpx,x,y,xx,xy,yx,yy) end
-inject.whatever = function(...) return inject_whatever (currentmpx,...) end
-
-local function same(p,n)
- local f = p[1]
- local l = p[n]
- local nf = #f
- local nl = #l
- if nf == nl then
- for i=1,nf do
- if f[i] ~= l[i] then
- return false
- end
- end
- return true
- end
- return false
-end
-
--- local p = mp.scan.path()
--- mp.inject.path(p,true,true)
-
-function inject.path(p,close,connector)
- local curled = false
- local n = #p
- if p.close or p.cycle then
- close = true
- end
- if n > 1 then
- -- [ ../true | --/false | nil/auto ]
- if connector == nil or connector == "auto" then
- connector = #p[1] > 2
- end
- if connector == false or connector == "--" then
- curled = true
- elseif connector == true or connector == ".." then
- if close and not same(p,n) then
- p[n+1] = p[1]
- end
- end
- end
- return inject_path(currentmpx,p,close,curled)
-end
-
--- bonus:
-
-scan .number = scan .numeric
-inject.number = inject.numeric
-
-table.setmetatablecall(inject,function(t,...)
- inject_whatever(currentmpx,...)
-end)
-
--- experiment
-
-function mp.autoinject(m)
- local t = type(m)
- if t == "table" then
- local n = #t
- if n == 2 then
- inject_pair(currentmpx,m)
- elseif n == 3 then
- inject_color(currentmpx,m)
- elseif n == 4 then
- inject_cmykcolor(currentmpx,m)
- elseif n == 6 then
- inject_transform(currentmpx,m)
- end
- elseif t == "number" then
- inject_numeric(currentmpx,m)
- elseif t == "string" then
- inject_string(currentmpx,m)
- elseif t == "boolean" then
- inject_boolean(currentmpx,m)
- end
-end
-
-function metapost.pushscriptrunner(mpx)
- insert(stack,mpx)
- currentmpx = mpx
-end
-
-function metapost.popscriptrunner()
- currentmpx = remove(stack,mpx)
-end
-
-function metapost.currentmpx()
- return currentmpx
-end
-
--- mplib.getstates(): zero is "normal"
-
-function metapost.currentmpxstatus()
- return getstatus(currentmpx) or 0
-end