}
protected GradientGlowFilter createGradientGlowFilter(
GradientGlowFilterNode node)
{
GradientGlowFilter filter = new GradientGlowFilter();
if (node.entries != null)
{
byte count = (byte)node.entries.size();
filter.setNumColors(count);
RGBA gradientColors[] = new RGBA[count];
int gradientRatio[] = new int[count];
GradRecord[] records = createGradRecords(node.entries);
for (int i = 0; i < records.length; i++)
{
GradRecord record = records[i];
RGB color = record.getColor();
if (color instanceof RGBA)
gradientColors[i] = (RGBA)color;
else
gradientColors[i] = new RGBA(color.getRed(), color.getGreen(), color.getBlue(), 0xFF);
gradientRatio[i] = record.getRatio();
}
filter.setGradientColors(gradientColors);
filter.setGradientRatio(gradientRatio);
}
filter.setAngle((float)(node.angle*Math.PI/180.0));
filter.setBlurX((float)node.blurX);
filter.setBlurY((float)node.blurY);
filter.setDistance((float)node.distance);
filter.setStrength((float)node.strength);
filter.setPasses(node.quality);
filter.setKnockout(node.knockout);
filter.setInnerGlow(node.inner);
filter.setCompositeSource(true);
return filter;
}