18e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*
2cac0f67c402d107cdb10971b95719e2ff9c7c76bSteve Block    Copyright (C) 2004, 2005 Nikolas Zimmermann <zimmermann@kde.org>
38e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project                  2004, 2005, 2006 Rob Buis <buis@kde.org>
48e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
58e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    This library is free software; you can redistribute it and/or
68e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    modify it under the terms of the GNU Library General Public
78e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    License as published by the Free Software Foundation; either
88e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    version 2 of the License, or (at your option) any later version.
98e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    This library is distributed in the hope that it will be useful,
118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    but WITHOUT ANY WARRANTY; without even the implied warranty of
128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    Library General Public License for more details.
148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    You should have received a copy of the GNU Library General Public License
168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    along with this library; see the file COPYING.LIB.  If not, write to
178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    Boston, MA 02110-1301, USA.
198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/
208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifndef SVGSymbolElement_h
228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define SVGSymbolElement_h
238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
24cac0f67c402d107cdb10971b95719e2ff9c7c76bSteve Block#if ENABLE(SVG)
258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "SVGExternalResourcesRequired.h"
268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "SVGFitToViewBox.h"
278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "SVGLangSpace.h"
288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "SVGStyledElement.h"
298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectnamespace WebCore {
318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    class SVGSymbolElement : public SVGStyledElement,
338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project                             public SVGLangSpace,
348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project                             public SVGExternalResourcesRequired,
358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project                             public SVGFitToViewBox {
368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    public:
378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        SVGSymbolElement(const QualifiedName&, Document*);
388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        virtual ~SVGSymbolElement();
398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        virtual void parseMappedAttribute(MappedAttribute*);
41d0825bca7fe65beaee391d30da42e937db621564Steve Block        virtual void synchronizeProperty(const QualifiedName&);
428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        virtual bool rendererIsNeeded(RenderStyle*) { return false; }
438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
44cac0f67c402d107cdb10971b95719e2ff9c7c76bSteve Block    private:
45cac0f67c402d107cdb10971b95719e2ff9c7c76bSteve Block        // SVGExternalResourcesRequired
46d0825bca7fe65beaee391d30da42e937db621564Steve Block        DECLARE_ANIMATED_PROPERTY(SVGSymbolElement, SVGNames::externalResourcesRequiredAttr, bool, ExternalResourcesRequired, externalResourcesRequired)
47cac0f67c402d107cdb10971b95719e2ff9c7c76bSteve Block
48cac0f67c402d107cdb10971b95719e2ff9c7c76bSteve Block        // SVGFitToViewBox
49d0825bca7fe65beaee391d30da42e937db621564Steve Block        DECLARE_ANIMATED_PROPERTY(SVGSymbolElement, SVGNames::viewBoxAttr, FloatRect, ViewBox, viewBox)
50d0825bca7fe65beaee391d30da42e937db621564Steve Block        DECLARE_ANIMATED_PROPERTY(SVGSymbolElement, SVGNames::preserveAspectRatioAttr, SVGPreserveAspectRatio, PreserveAspectRatio, preserveAspectRatio)
518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    };
528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} // namespace WebCore
548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif // ENABLE(SVG)
568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif
57