[NTG-context] MPpositiongraphic: I don't know when it's going to work and when it's not.

Elspeth McGullicuddy elspethmcgullicuddy at gmail.com
Sun Jan 19 08:00:10 CET 2014


Hi,

Can you help me with the two examples below, and also tell me how I
could have found out myself when it should have worked and when it
shouldn't: because until now, it is a mix of wild guess and poor trial
and error.

%%%%%% First example %%%%%%%

\starttext

%% This example doesn't work anymore if I comment the
%% indicated line below.

\defineoverlay[my first overlay][\uniqueMPgraphic{first demo}]

\defineoverlay[my fourth overlay][\positionoverlay{my backgraphics}]

\startpositionoverlay{my backgraphics}
  \setMPpositiongraphic{three}{mypos:circle}{mypos:circleradius=1cm,mypos:circlecolor=red}
  \setMPpositiongraphic{three}{mypos:circle}{mypos:circleradius=.5cm,mypos:circlecolor=green}
\stoppositionoverlay

\setupbackgrounds[paper][background={
    my first overlay,  %% Doesn't work anymore if I comment this line.
    my fourth overlay}]

% These two lines can be removed without consequences
\startuniqueMPgraphic{first demo}
\stopuniqueMPgraphic


\startMPpositiongraphic{mypos:circle}
  % absolute coordinates relative to paper by default?
  numeric x, y, w, h, d, radius;
  x = \MPx{\MPvar{self}};
  y = \MPy{\MPvar{self}};
  w = \MPw{\MPvar{self}};
  radius = \MPvar{mypos:circleradius};
  color c;
  c = \MPvar{mypos:circlecolor};
  path p ;
  p = (x+w/2+radius,y)..(x+w/2,y+radius)..(x+w/2-radius,y)
  ..(x+w/2,y-radius)..cycle;
  drawarrow p withpen pencircle scaled 2pt
  withcolor c;
\stopMPpositiongraphic

have attached it: \hpos{three}{{\em here}}, the

\stoptext

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%% Second example %%%%%%%%

\starttext

%% This example doesn't work. Though it looks very much like the previous one.
%% The overlay is attached to the backgound of a framed instead of to the
%% background of the page.

\defineoverlay[my first overlay][\uniqueMPgraphic{first demo}]

\defineoverlay[my fourth overlay][\positionoverlay{my backgraphics}]

\startpositionoverlay{my backgraphics}
  \setMPpositiongraphic{three}{mypos:circle}{mypos:circleradius=1cm,mypos:circlecolor=red}
  \setMPpositiongraphic{three}{mypos:circle}{mypos:circleradius=.5cm,mypos:circlecolor=green}
\stoppositionoverlay

% These two lines can be removed without consequences
\startuniqueMPgraphic{first demo}
\stopuniqueMPgraphic


\startMPpositiongraphic{mypos:circle}
  % absolute coordinates relative to paper by default?
  numeric x, y, w, h, d, radius;
  x = \MPx{\MPvar{self}};
  y = \MPy{\MPvar{self}};
  w = \MPw{\MPvar{self}};
  radius = \MPvar{mypos:circleradius};
  color c;
  c = \MPvar{mypos:circlecolor};
  path p ;
  p = (x+w/2+radius,y)..(x+w/2,y+radius)..(x+w/2-radius,y)
  ..(x+w/2,y-radius)..cycle;
  drawarrow p withpen pencircle scaled 2pt
  withcolor c;
\stopMPpositiongraphic

\framed [ background=my first overlay,my fourth
overlay,align=middle,width=7cm] {
  have attached it: \hpos{three}{{\em here}}, the}

\stoptext

%%%%%%%%%%%%%%%


Regards,
Chris


More information about the ntg-context mailing list