File indexing completed on 2024-04-28 15:24:40

0001 /*
0002     Copyright (C) 2004, 2005 Nikolas Zimmermann <wildfox@kde.org>
0003                   2004, 2005, 2007 Rob Buis <buis@kde.org>
0004 
0005     This file is part of the KDE project
0006 
0007     This library is free software; you can redistribute it and/or
0008     modify it under the terms of the GNU Library General Public
0009     License as published by the Free Software Foundation; either
0010     version 2 of the License, or (at your option) any later version.
0011 
0012     This library is distributed in the hope that it will be useful,
0013     but WITHOUT ANY WARRANTY; without even the implied warranty of
0014     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0015     Library General Public License for more details.
0016 
0017     You should have received a copy of the GNU Library General Public License
0018     along with this library; see the file COPYING.LIB.  If not, write to
0019     the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
0020     Boston, MA 02110-1301, USA.
0021 */
0022 
0023 #ifndef SVGScriptElement_h
0024 #define SVGScriptElement_h
0025 #if ENABLE(SVG)
0026 
0027 #include "SVGElement.h"
0028 #include "SVGURIReference.h"
0029 #include "SVGExternalResourcesRequired.h"
0030 
0031 namespace WebCore
0032 {
0033 class SVGScriptElement : public SVGElement,
0034     public SVGURIReference,
0035     public SVGExternalResourcesRequired
0036 {
0037 public:
0038     SVGScriptElement(const QualifiedName &, Document *);
0039     virtual ~SVGScriptElement();
0040 
0041     // 'SVGScriptElement' functions
0042     String type() const;
0043     void setType(const String &);
0044 
0045     // Internal
0046     void parseMappedAttribute(MappedAttribute *attr) override;
0047 
0048     virtual void getSubresourceAttributeStrings(Vector<String> &) const;
0049 
0050     // KHTML ElementImpl pure virtual method
0051     quint32 id() const override
0052     {
0053         return SVGNames::scriptTag.id();
0054     }
0055 protected:
0056     const SVGElement *contextElement() const override
0057     {
0058         return this;
0059     }
0060 
0061 private:
0062     ANIMATED_PROPERTY_FORWARD_DECLARATIONS(SVGURIReference, String, Href, href)
0063     ANIMATED_PROPERTY_FORWARD_DECLARATIONS(SVGExternalResourcesRequired, bool, ExternalResourcesRequired, externalResourcesRequired)
0064 
0065     String m_type;
0066 };
0067 
0068 } // namespace WebCore
0069 
0070 #endif // ENABLE(SVG)
0071 #endif
0072