[NTG-context] Layers by native code vs. by Lua

luigi scarso luigi.scarso at gmail.com
Tue Jan 25 14:40:40 CET 2011


2011/1/25 Hans Hagen <pragma at wxs.nl>:
> On 25-1-2011 1:53, Procházka Lukáš Ing. - Pontex s. r. o. wrote:
>>
>> Hello,
>>
>> a weird thing happens when setting up layers - I'm getting different
>> results depending on whether setup is performed by native Ctx code or by
>> Lua:
>>
>> ---
>> \setuppapersize[A4,landscape][A4,landscape]
>> \setuplayout[page]
>>
>> \definelayer[T][x=10mm,y=0mm]
>>
>> \startuseMPgraphic{VerticalRule}
>> draw (0,0)--(0,PaperHeight) withcolor red;
>> \stopuseMPgraphic
>>
>> \startsetups S1
>> \setlayer[T]{\useMPgraphic{VerticalRule}}
>> \stopsetups
>>
>> \startluasetups S2
>> \startluacode
>> context.setlayer({"T"}, "\\useMPgraphic{VerticalRule}")
>> \stopluacode
>> \stopluasetups
>>
>> \starttext
>> \setupbackgrounds[page][setups=S1,background={T}]
>> \page[empty]
>> \setupbackgrounds[page][setups=S2,background={T}]
>> \page[empty]
>> \stoptext
>> ---
>>
>> Both setups (S1 and S2) should do the same - to draw a vertical line to
>> the full height.
>>
>> The first case (S1) is OK - the line starts 10 mm from the top left
>> corner of the page.
>>
>> The second case (S2) is somehow shifted - the line starts cca 13 mm from
>> the top left corner of the page.
>>
>> What is the reason? And how to make Lua way give the same result?
>
> lua setups are already lua so S2 should look different
>
> \startsetups S1
>  \setlayer[T]{\useMPgraphic{VerticalRule}}
> \stopsetups
>
> \startluasetups S2
>    context.setlayer({"T"}, "\\useMPgraphic{VerticalRule}")
> \stopluasetups
>
> the problem is that setups=* does not know about this ... so you should use:
>
> \startsetups S3
>    \luasetup{S2}
> \stopsetups
>
> \starttext
>  \setupbackgrounds[page][setups=S1,background={T}]
>  \page[empty]
>  \setupbackgrounds[page][setups=S3,background={T}]
>  \page[empty]
> \stoptext
>
> I have to think about a solution for this.
lua:setups =S2
ctx:setups =S1
setups = ctx:setups
 ?
-- 
luigi


More information about the ntg-context mailing list