1/* 2 * Copyright (C) 2004, 2005 Nikolas Zimmermann <zimmermann@kde.org> 3 * Copyright (C) 2004, 2005, 2006 Rob Buis <buis@kde.org> 4 * 5 * This library is free software; you can redistribute it and/or 6 * modify it under the terms of the GNU Library General Public 7 * License as published by the Free Software Foundation; either 8 * version 2 of the License, or (at your option) any later version. 9 * 10 * This library is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 * Library General Public License for more details. 14 * 15 * You should have received a copy of the GNU Library General Public License 16 * along with this library; see the file COPYING.LIB. If not, write to 17 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 18 * Boston, MA 02110-1301, USA. 19 */ 20 21#include "config.h" 22#include "SVGDefsElement.h" 23 24#include "RenderSVGHiddenContainer.h" 25#include "SVGNames.h" 26 27namespace WebCore { 28 29// Animated property definitions 30DEFINE_ANIMATED_BOOLEAN(SVGDefsElement, SVGNames::externalResourcesRequiredAttr, ExternalResourcesRequired, externalResourcesRequired) 31 32BEGIN_REGISTER_ANIMATED_PROPERTIES(SVGDefsElement) 33 REGISTER_LOCAL_ANIMATED_PROPERTY(externalResourcesRequired) 34 REGISTER_PARENT_ANIMATED_PROPERTIES(SVGGraphicsElement) 35END_REGISTER_ANIMATED_PROPERTIES 36 37inline SVGDefsElement::SVGDefsElement(const QualifiedName& tagName, Document& document) 38 : SVGGraphicsElement(tagName, document) 39{ 40 ASSERT(hasTagName(SVGNames::defsTag)); 41 registerAnimatedPropertiesForSVGDefsElement(); 42} 43 44PassRefPtr<SVGDefsElement> SVGDefsElement::create(const QualifiedName& tagName, Document& document) 45{ 46 return adoptRef(new SVGDefsElement(tagName, document)); 47} 48 49bool SVGDefsElement::isValid() const 50{ 51 return SVGTests::isValid(); 52} 53 54RenderPtr<RenderElement> SVGDefsElement::createElementRenderer(PassRef<RenderStyle> style) 55{ 56 return createRenderer<RenderSVGHiddenContainer>(*this, WTF::move(style)); 57} 58 59} 60