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

0001 /*
0002     Copyright (C) 2004, 2005, 2008 Nikolas Zimmermann <zimmermann@kde.org>
0003                   2004, 2005 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 SVGExternalResourcesRequired_h
0024 #define SVGExternalResourcesRequired_h
0025 
0026 #if ENABLE(SVG)
0027 #include <wtf/RefPtr.h>
0028 #include "SVGElement.h"
0029 #include "Document.h"
0030 
0031 namespace WebCore
0032 {
0033 
0034 //class MappedAttribute;
0035 
0036 // FIXME: This is wrong for several reasons:
0037 // 1. externalResourcesRequired is not animateable according to SVG 1.1 section 5.9
0038 // 2. externalResourcesRequired should just be part of SVGElement, and default to "false" for all elements
0039 /*
0040  SPEC: Note that the SVG DOM
0041  defines the attribute externalResourcesRequired as being of type SVGAnimatedBoolean, whereas the
0042  SVG language definition says that externalResourcesRequired is not animated. Because the SVG
0043  language definition states that externalResourcesRequired cannot be animated, the animVal will
0044  always be the same as the baseVal.
0045  */
0046 class SVGExternalResourcesRequired
0047 {
0048 public:
0049     SVGExternalResourcesRequired();
0050     virtual ~SVGExternalResourcesRequired();
0051 
0052     bool parseMappedAttribute(MappedAttribute *);
0053     bool isKnownAttribute(const QualifiedName &);
0054 
0055 protected:
0056     virtual const SVGElement *contextElement() const = 0;
0057 
0058 private:
0059     ANIMATED_PROPERTY_DECLARATIONS_WITH_CONTEXT(SVGExternalResourcesRequired, bool, bool, ExternalResourcesRequired, externalResourcesRequired)
0060 };
0061 
0062 } // namespace WebCore
0063 
0064 #endif // ENABLE(SVG)
0065 #endif