Hi,

there are some problems in combination with the 'withshade' operator in 
mlib.

this must be patched in mp-mlib.mp (':=' instead of '='; too much lua ;)


vardef define_circular_shade (expr a, b, ra, rb, ca, cb) =
     _defined_cs_ := _defined_cs_ + 1 ;
     _defined_cs_pre_ [_defined_cs_] := "cs" ;
     _defined_cs_post_[_defined_cs_] := "0 1 " & decimal shadefactor & " " &
         colordecimals ca & " " & ddecimal (a shifted shadeoffset) & " " 
& decimal ra & " " &
         colordecimals cb & " " & ddecimal (b shifted shadeoffset) & " " 
& decimal rb ;
     _defined_cs_
enddef ;
vardef define_linear_shade (expr a, b, ca, cb) =
     _defined_cs_ := _defined_cs_ + 1 ;
     _defined_cs_pre_ [_defined_cs_] := "ls" ;
     _defined_cs_post_[_defined_cs_] := "0 1 " & decimal shadefactor & " " &
         colordecimals ca & " " & ddecimal (a shifted shadeoffset) & " "
         colordecimals cb & " " & ddecimal (b shifted shadeoffset) ;
     _defined_cs_
enddef ;




i still get an error after this patch, because '_defined_cs_' is not 
increased somehow (donno why, not my day; cleared mem, remade formats). 
_defined_cs_pre_0 is of course undefined.

[..]
report >> mp terminal: ! Missing argument to withshade.
<to be read again>
                    define_linear_shade
<*> ...,1cm); fill p withshade define_linear_shade
                                                   (p,1,red,blue); ;
 >> unknown string _defined_cs_pre_0
! Improper type.
<to be read again>
                    withpostscript
withshade->...fined_cs_pre_[(EXPR0)]withpostscript
 
._defined_cs_post_[(EXPR0)]
<to be read again>
                    define_linear_shade
<*> ...,1cm); fill p withshade define_linear_shade
                                                   (p,1,red,blue); ;
 >> _defined_cs_post_0define_linear_shade
! Improper type.
<to be read again>
                    (
<*> ...1cm); fill p withshade define_linear_shade(
                                                   p,1,red,blue); ;
! Extra tokens will be flushed.
<to be read again>
                    (
<*> ...1cm); fill p withshade define_linear_shade(
                                                   p,1,red,blue); ;

report >> mp error: unknown, no error, terminal or log messages
[..]


here the test code:

\setupcolors[state=start]
\starttext

\null
\startMPcode
     path p;
     p:= unitsquare xyscaled(10cm,1cm);
     fill p withshade
     define_linear_shade(p,1,red,blue);
\stopMPcode

\stoptext

___________________________________________________________________________________
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  : https://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________

Reply via email to