mlib-snc.lmt /size: 1790 b    last modification: 2021-10-28 13:51
1if not modules then modules = { } end modules ['mlib-snc'] = {
2    version   = 1.001,
3    comment   = "companion to anch-snc.mkiv",
4    author    = "Hans Hagen, PRAGMA-ADE, Hasselt NL",
5    copyright = "PRAGMA ADE / ConTeXt Development Team",
6    license   = "see context related readme files"
7}
8
9local scanners       = mp.scan
10local scaninteger    = scanners.integer
11local scanstring     = scanners.string
12local factor         = number.dimenfactors.bp
13local synchronizers  = graphics.synchronizers
14local registerdirect = metapost.registerdirect
15
16-- no need for locals (yet)
17
18registerdirect("asnc_collect", function()
19    return synchronizers.collect(scaninteger(),scaninteger(),scanstring()) -- category realpage region
20end)
21
22registerdirect("asnc_extend",   synchronizers.extend  )
23registerdirect("asnc_prune",    synchronizers.prune   )
24registerdirect("asnc_collapse", synchronizers.collapse)
25registerdirect("asnc_getsize",  synchronizers.getsize )
26
27registerdirect("asnc_gettop",   function() return synchronizers.gettop   (scaninteger()) * factor end)
28registerdirect("asnc_getbottom",function() return synchronizers.getbottom(scaninteger()) * factor end)
29registerdirect("asnc_getkind",  function() return synchronizers.getkind  (scaninteger())          end)
30registerdirect("asnc_gettask",  function() return synchronizers.gettask  (scaninteger())          end)
31
32registerdirect("asnc_getx",     function() return synchronizers.getx() * factor end)
33registerdirect("asnc_gety",     function() return synchronizers.gety() * factor end)
34registerdirect("asnc_getw",     function() return synchronizers.getw() * factor end)
35registerdirect("asnc_geth",     function() return synchronizers.geth() * factor end)
36registerdirect("asnc_getd",     function() return synchronizers.getd() * factor end)
37