protected void build() throws SVGException
{
super.build();
StyleAttribute sty = new StyleAttribute();
String strn;
if (getPres(sty.setName("spreadMethod")))
{
strn = sty.getStringValue().toLowerCase();
if (strn.equals("repeat"))
{
spreadMethod = SM_REPEAT;
} else if (strn.equals("reflect"))
{
spreadMethod = SM_REFLECT;
} else
{
spreadMethod = SM_PAD;
}
}
if (getPres(sty.setName("gradientUnits")))
{
strn = sty.getStringValue().toLowerCase();
if (strn.equals("userspaceonuse"))
{
gradientUnits = GU_USER_SPACE_ON_USE;
} else
{
gradientUnits = GU_OBJECT_BOUNDING_BOX;
}
}
if (getPres(sty.setName("gradientTransform")))
{
gradientTransform = parseTransform(sty.getStringValue());
}
//If we still don't have one, set it to identity
if (gradientTransform == null)
{
gradientTransform = new AffineTransform();
}
//Check to see if we're using our own stops or referencing someone else's
if (getPres(sty.setName("xlink:href")))
{
try
{
stopRef = sty.getURIValue(getXMLBase());
//System.err.println("Gradient: " + sty.getStringValue() + ", " + getXMLBase() + ", " + src);
// URI src = getXMLBase().resolve(href);
// stopRef = (Gradient)diagram.getUniverse().getElement(src);
} catch (Exception e)
{
throw new SVGException("Could not resolve relative URL in Gradient: " + sty.getStringValue() + ", " + getXMLBase(), e);
}
}
}