Thank you Wolfgang! I thought it must be simple! And if I had stayed the course and got to the end of the MetaFun manual I would have found it. Thanks for your help. Keith On 19/04/2020 13:04, Wolfgang Schuster wrote:
Keith McKay schrieb am 19.04.2020 um 13:15:
Dear All
I have problem understanding what is happening in the MWE below which is different from what I expected.
I have created a shaded background using MetaFun with dimensions PaperWidth by PaperHeight which mimics \setuppapersize[A4,landscape} as expected. I then within \starttext \startMPpage... \stopMPpage \stoptext created a stripe of the shaded background, xscaled 2cm y scaled PaperHeight, but reversed, expecting it to cover the background top to bottom. However the top of the stripe seems to start at 10.5cm which is suspiciously half the height of A4, Landscape i.e. 21cm. I confirmed this by changing the shifted command to, shifted (19cm,10.5cm), and the stripe is positioned as expected.
Am I missing something obvious in how MetaFun handles coordinates? I have asumed that in MetaFun, (0,0) is the bottom left corner. Or is it how I applied the shifted command?
1. When you need page backgrounds you can use a overlay and don't have to create a layer for it.
2. Use unitsquare for your bars which has the origin in the lower left corner because fullsquare has the origin in the center (look at page 383 in the metafun manual).
\setuppapersize [A4,landscape]
\startuniqueMPgraphic{blueShade} draw lmt_shade [ path = fullsquare xyscaled (OverlayWidth,OverlayHeight) , direction = "up", alternative = "linear", colors = { "red", "blue" }, ] ; \stopuniqueMPgraphic
\defineoverlay [mybg] [\uniqueMPgraphic{blueShade}]
\setupbackgrounds [page] [background=mybg]
\starttext
\startMPpage StartPage ; % Result Left draw lmt_shade [ path = unitsquare xscaled 2cm yscaled PaperHeight, direction = "down", alternative = "linear", colors = { "red", "blue" }, ] shifted (12cm,0) ; % Result Right draw lmt_shade [ path = unitsquare xscaled 2cm yscaled PaperHeight, direction = "down", alternative = "linear", colors = { "red", "blue" }, ] shifted (19cm,0cm) ; StopPage ; \stopMPpage
\stoptext
Wolfgang