#include "config.h"
#if SVG_SUPPORT
#include "ksvg.h"
#include "SVGPaint.h"
using namespace WebCore;
SVGPaint::SVGPaint() : SVGColor()
{
m_paintType = SVG_PAINTTYPE_UNKNOWN;
}
SVGPaint::SVGPaint(StringImpl *uri) : SVGColor()
{
m_paintType = SVG_PAINTTYPE_URI;
setUri(uri);
}
SVGPaint::SVGPaint(unsigned short paintType) : SVGColor()
{
m_paintType = paintType;
}
SVGPaint::SVGPaint(unsigned short paintType, StringImpl *uri, StringImpl *rgbPaint, StringImpl *) : SVGColor(rgbPaint)
{
m_paintType = paintType;
setUri(uri);
}
SVGPaint::~SVGPaint()
{
}
unsigned short SVGPaint::paintType() const
{
return m_paintType;
}
StringImpl *SVGPaint::uri() const
{
return m_uri.impl();
}
void SVGPaint::setUri(StringImpl *uri)
{
m_uri = uri;
}
void SVGPaint::setPaint(unsigned short paintType, StringImpl *uri, StringImpl *rgbPaint, StringImpl *)
{
m_paintType = paintType;
if(m_paintType == SVG_PAINTTYPE_URI)
setUri(uri);
else if(m_paintType == SVG_PAINTTYPE_RGBCOLOR)
setRGBColor(rgbPaint);
}
String SVGPaint::cssText() const
{
if(m_paintType == SVG_PAINTTYPE_NONE)
return "none";
else if(m_paintType == SVG_PAINTTYPE_CURRENTCOLOR)
return "currentColor";
else if(m_paintType == SVG_PAINTTYPE_URI)
return "url(" + m_uri + ")";
return SVGColor::cssText();
}
#endif // SVG_SUPPORT