fill with gradientImpl
<p>Hello,</p>
<p> </p>
<p>i guess it s really silly problem , but i can't find by myself ,</p>
<p> </p>
<p> </p>
<p>i have create this global var containing a lit of gradient :</p>
<p> </p>
<p> gradMap["brother"] = GradientImpl.create( ColorDefinitionImpl.create(100,0,0), ColorDefinitionImpl.create(255,0,0), 0, false);<br>
gradMap["canon"] = GradientImpl.create( ColorDefinitionImpl.create(0,100,0), ColorDefinitionImpl.create(0,255,0), 0, false);<br>
gradMap["lexmark"] = GradientImpl.create( ColorDefinitionImpl.create(0,0,100), ColorDefinitionImpl.create(0,0,255), 0, false);<br>
gradMap["xerox"] = GradientImpl.create( ColorDefinitionImpl.create(0,100,100), ColorDefinitionImpl.create(0,255,255), 0, false);<br><br>
icsc.getExternalContext().getScriptable().setPersistentGlobalVariable("gradMap", gradMap);</p>
<p> </p>
<p> </p>
<p>i m trying to display the gradient depending on the serie name with the following function :</p>
<pre class="_prettyXprint _lang-js _linenums:1">
function beforeDrawDataPoint( dph, fill, icsc )
{
var gMap = icsc.getExternalContext().getScriptable().getPersistentGlobalVariable("gradMap");
var sValue = dph.getSeriesDisplayValue();
if ( fill.getClass().isAssignableFrom(GradientImpl) ){
var grad = gMap[sValue];
if (grad != undefined) {
var start = grad.getStartColor();
var end = grad.getEndColor();
fill.setStartColor(ColorDefinitionImpl.create( start.getRed(), start.getGreen(), start.getBlue(), start.getTransparency()));
//fill.setEndColor(ColorDefinitionImpl.create( end.getRed(), end.getGreen(), end.getBlue(), end.getTransparency()));
fill.setEndColor(end);
}
}
else {
out.println("is NOT gradient");
}
}
</pre>
<p>I don't understand why </p>
<p> </p>
<p>fill.setEndColor(end);</p>
<p> </p>
<p>is not working when</p>
<p> </p>
<p> </p>
<p>fill.setEndColor(ColorDefinitionImpl.create( end.getRed(), end.getGreen(), end.getBlue(), end.getTransparency()));</p>
<p> </p>
<p>is working</p>
<p> </p>