summaryrefslogtreecommitdiff
path: root/tex/context/base/mkiv/node-dir.lua
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2021-04-29 23:51:45 +0200
committerContext Git Mirror Bot <phg@phi-gamma.net>2021-04-29 23:51:45 +0200
commit6addefa380c1008fbc164890e8e95dd855a361c5 (patch)
treeec10a53afe218fba3b917a07caca414f2d165044 /tex/context/base/mkiv/node-dir.lua
parentb79e123941f1d1b3cc13d05ee4d4d37c72c6a253 (diff)
downloadcontext-6addefa380c1008fbc164890e8e95dd855a361c5.tar.gz
2021-04-29 23:07:00
Diffstat (limited to 'tex/context/base/mkiv/node-dir.lua')
-rw-r--r--tex/context/base/mkiv/node-dir.lua114
1 files changed, 0 insertions, 114 deletions
diff --git a/tex/context/base/mkiv/node-dir.lua b/tex/context/base/mkiv/node-dir.lua
deleted file mode 100644
index 762f20739..000000000
--- a/tex/context/base/mkiv/node-dir.lua
+++ /dev/null
@@ -1,114 +0,0 @@
-if not modules then modules = { } end modules ['node-dir'] = {
- version = 1.001,
- comment = "companion to node-ini.mkiv",
- author = "Hans Hagen",
- copyright = "PRAGMA ADE / ConTeXt Development Team",
- license = "see context related readme files"
-}
-
-local nodes = nodes
-local nuts = nodes.nuts
-
-local normaldir_code = nodes.dircodes.normal
-local line_code = nodes.listcodes.line
-local lefttoright_code = nodes.dirvalues.lefttoright
-
-local getnext = nuts.getnext
-local getlist = nuts.getlist
-local getwhd = nuts.getwhd
-local getdirection = nuts.getdirection
-
-local setlist = nuts.setlist
-
-local nextdir = nuts.traversers.dir
-local nexthlist = nuts.traversers.hlist
-
-local rangedimensions = nuts.rangedimensions
-local insert_before = nuts.insert_before
-
-local new_rule = nuts.pool.rule
-local new_kern = nuts.pool.kern
-
-local setcolor = nodes.tracers.colors.set
-local settransparency = nodes.tracers.transparencies.set
-
--- local function dirdimensions(parent,begindir) -- can be a helper
--- local level = 1
--- local enddir = begindir
--- local width = 0
--- for current, subtype in nextdir, getnext(begindir) do
--- if subtype == normaldir_code then -- todo
--- level = level + 1
--- else
--- level = level - 1
--- end
--- if level == 0 then -- does the type matter
--- enddir = current
--- width = rangedimensions(parent,begindir,enddir)
--- return width, enddir
--- end
--- end
--- if enddir == begindir then
--- width = rangedimensions(parent,begindir)
--- end
--- return width, enddir
--- end
-
-local function dirdimensions(parent,begindir) -- can be a helper
- local level = 1
- local lastdir = nil
- local width = 0
- for current, subtype in nextdir, getnext(begindir) do
- if subtype == normaldir_code then -- todo
- level = level + 1
- else
- level = level - 1
- end
- if level == 0 then -- does the type matter
- return (rangedimensions(parent,begindir,current)), current
- end
- end
- return (rangedimensions(parent,begindir)), begindir
-end
-
-nuts.dirdimensions = dirdimensions
-
-local function colorit(list,current,dir,w,h,d)
- local rule = new_rule(w,h,d)
- local kern = new_kern(-w)
- local color = dir == lefttoright_code and "trace:s" or "trace:o"
- setcolor(rule,color)
- settransparency(rule,color)
- list, current = insert_before(list,current,kern)
- list, current = insert_before(list,current,rule)
- return list, current
-end
-
-function nodes.tracers.directions(head)
- for hlist, subtype in nexthlist, head do
- if subtype == line_code then
- local list = getlist(hlist)
- local w, h, d = getwhd(hlist)
- list = colorit(list,list,getdirection(hlist),w,h,d)
- for current in nextdir, list do
- local dir, cancel = getdirection(current)
- if not cancel then
- local width = dirdimensions(hlist,current)
- list = colorit(list,current,dir,width,h,d)
- end
- end
- setlist(hlist,list)
- end
- end
- return head
-end
-
-local enabled = false
-
-trackers.register("nodes.directions", function(v)
- if not enabled then
- enabled = true
- nodes.tasks.appendaction("finalizers","after","nodes.tracers.directions",nil,"nut","enabled")
- end
- nodes.tasks.setaction(v)
-end)