From: Peter Rolf <indiego@gmx.net>
To: mailing list for ConTeXt users <ntg-context@ntg.nl>
Subject: Re: How do you position/move a MPgraphic?
Date: Sun, 25 Oct 2009 11:09:23 +0100 [thread overview]
Message-ID: <4AE423D3.4080604@gmx.net> (raw)
In-Reply-To: <4AE1674C.2010400@vicitra.se>
[-- Attachment #1: Type: text/plain, Size: 2027 bytes --]
Daniel Bundzik schrieb:
> Hi!
>
> How do you position/move a MPgraphic?
>
> Let us us say that you have the MPgraphics "somebackground" and
> "somecolorcircle" (See example below). These MPgraphics are both
> framed and used as a background, upon which "sometext" is written on.
> How can you freely move or position "somecolorcircle"? ( I want to
> move "somecolorcircle" below "sometext") Naturally, I have read
> Metafun and tried "shifted (x,y)", \definelayer, \setlayer, register,
> \setMPlayer, \getMPlayer...
>
> In general, if you have defined two or more MPgraphics how do you
> position them (In my case "somebackground" is fixed while
> "somecolorcircle" could be anywhere on "somebackground")?
>
Hi Daniel,
I attached a working example which uses layers. You should take a look
at the 'details.pdf' manual; link and more information can be found on
http://wiki.contextgarden.net/Layers
Just play around with the layer parameters and see what happens.
'height/width' (for layer definition), 'corner/location' (important to
understand!) and 'x/y' should be sufficient for most needs.
'hoffset/voffset' can be handy too, if you want relative positioning.
[pack-lyr.mkii]
\def\dodefinelayer[#1][#2]% \zeropoint ipv \!!zeropoint
{\setuplayer
[#1]
[\c!doublesided=,\c!preset=,
\c!state=\v!start,\c!direction=\v!normal,\c!option=,
\c!x=\zeropoint,\c!y=\zeropoint,\c!position=\v!no,
\c!line=0,\c!column=0,
\c!width=\nextboxwd,\c!height=\nextboxht,
\c!offset=\zeropoint,\c!rotation=, % geen 0 !
\c!hoffset=\zeropoint,\c!voffset=\zeropoint,
\c!dx=\zeropoint,\c!dy=\zeropoint,
\c!location=rb,\c!position=\v!no,\c!page=,
\c!method=\v!overlay,
\c!sx=1,\c!sy=1,\c!corner=,#2]%
\doifvalue{\??ll#1\c!doublesided}\v!yes
{\dopresetlayerbox{\v!left #1}%
\dopresetlayerbox{\v!right#1}}%
\dopresetlayerbox{#1}%
\defineoverlay[#1][\composedlayer{#1}]}
Best wishes, Peter
> How would you solve this?
>
> Regards,
> Daniel
>
[-- Attachment #2: test.tex --]
[-- Type: text/plain, Size: 1265 bytes --]
\setupcolors[state=start]
\setuppapersize[S6][S6]
\setuplayout [width=fit,
rightmargin=0cm,
leftmargin=0cm,
leftmargindistance=0pt,
rightmargindistance=0pt,
height=fit,
topspace=0cm,
header=0pt,
footer=0cm,
bottomspace=0cm,
backspace=0cm,
location=singlesided]
\definecolor[Orange][r=1.,g=.47,b=.0] % dark orange
\setupinteractionscreen[option=max]
\startbuffer[sometext]
\switchtobodyfont[sansserif,1.0cm]
\midaligned{\white \bf This is the text}
\stopbuffer
\starttext
\startuseMPgraphic{somebackground}
fill fullsquare
scaled 10cm
withcolor .625red ;
fill fullsquare
scaled 10cm
shifted (10cm,0)
withcolor black ;
fill fullsquare
scaled 10cm
shifted (20cm,0)
withcolor \MPcolor{Orange} ;
currentpicture := currentpicture xysized(OverlayWidth+.5pt,OverlayHeight+.5pt) ;
\stopuseMPgraphic
\startuseMPgraphic{somecolorcircle}
colorcircle(2cm,white,.625red,\MPcolor{Orange}) ;
\stopuseMPgraphic
\startTEXpage
\definelayer[somelayer]%[width=600pt,height=450pt]
\setlayer[somelayer]
{\useMPgraphic{somebackground}}
\setlayer[somelayer][x=9.6cm,y=7.5cm]
{\useMPgraphic{somecolorcircle}}
\setlayer[somelayer][y=6cm]
{\getbuffer[sometext]}
\flushlayer[somelayer]
\stopTEXpage
\stoptext
[-- Attachment #3: Type: text/plain, Size: 486 bytes --]
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage : http://www.pragma-ade.nl / http://tex.aanhet.net
archive : http://foundry.supelec.fr/projects/contextrev/
wiki : http://contextgarden.net
___________________________________________________________________________________
prev parent reply other threads:[~2009-10-25 10:09 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-10-23 8:20 Daniel Bundzik
2009-10-25 9:49 ` Taco Hoekwater
2009-10-25 10:09 ` Peter Rolf [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4AE423D3.4080604@gmx.net \
--to=indiego@gmx.net \
--cc=ntg-context@ntg.nl \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).