SVGViewElement.cpp [plain text]
#include "config.h"
#include "SVGViewElement.h"
#include "SVGNames.h"
#include "SVGStringList.h"
#include <wtf/IsoMallocInlines.h>
namespace WebCore {
WTF_MAKE_ISO_ALLOCATED_IMPL(SVGViewElement);
DEFINE_ANIMATED_BOOLEAN(SVGViewElement, SVGNames::externalResourcesRequiredAttr, ExternalResourcesRequired, externalResourcesRequired)
DEFINE_ANIMATED_RECT(SVGViewElement, SVGNames::viewBoxAttr, ViewBox, viewBox)
DEFINE_ANIMATED_PRESERVEASPECTRATIO(SVGViewElement, SVGNames::preserveAspectRatioAttr, PreserveAspectRatio, preserveAspectRatio)
BEGIN_REGISTER_ANIMATED_PROPERTIES(SVGViewElement)
REGISTER_LOCAL_ANIMATED_PROPERTY(externalResourcesRequired)
REGISTER_LOCAL_ANIMATED_PROPERTY(viewBox)
REGISTER_LOCAL_ANIMATED_PROPERTY(preserveAspectRatio)
REGISTER_PARENT_ANIMATED_PROPERTIES(SVGElement)
END_REGISTER_ANIMATED_PROPERTIES
inline SVGViewElement::SVGViewElement(const QualifiedName& tagName, Document& document)
: SVGElement(tagName, document)
, m_zoomAndPan(SVGZoomAndPanMagnify)
, m_viewTarget(SVGNames::viewTargetAttr)
{
ASSERT(hasTagName(SVGNames::viewTag));
registerAnimatedPropertiesForSVGViewElement();
}
Ref<SVGViewElement> SVGViewElement::create(const QualifiedName& tagName, Document& document)
{
return adoptRef(*new SVGViewElement(tagName, document));
}
Ref<SVGStringList> SVGViewElement::viewTarget()
{
return SVGStringList::create(*this, m_viewTarget);
}
void SVGViewElement::parseAttribute(const QualifiedName& name, const AtomicString& value)
{
if (name == SVGNames::viewTargetAttr)
m_viewTarget.reset(value);
SVGExternalResourcesRequired::parseAttribute(name, value);
SVGFitToViewBox::parseAttribute(this, name, value);
SVGZoomAndPan::parseAttribute(*this, name, value);
SVGElement::parseAttribute(name, value);
}
}