KHTML
SVGFilterElement.h
Go to the documentation of this file.
00001 /* 00002 Copyright (C) 2004, 2005, 2006, 2007 Nikolas Zimmermann <zimmermann@kde.org> 00003 Copyright (C) 2004, 2005, 2006 Rob Buis <buis@kde.org> 00004 Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com> 00005 00006 This file is part of the KDE project 00007 00008 This library is free software; you can redistribute it and/or 00009 modify it under the terms of the GNU Library General Public 00010 License as published by the Free Software Foundation; either 00011 version 2 of the License, or (at your option) any later version. 00012 00013 This library is distributed in the hope that it will be useful, 00014 but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00016 Library General Public License for more details. 00017 00018 You should have received a copy of the GNU Library General Public License 00019 along with this library; see the file COPYING.LIB. If not, write to 00020 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 00021 Boston, MA 02110-1301, USA. 00022 */ 00023 00024 #ifndef SVGFilterElement_h 00025 #define SVGFilterElement_h 00026 00027 #if ENABLE(SVG) && ENABLE(SVG_FILTERS) 00028 #include "SVGResourceFilter.h" 00029 #include "SVGExternalResourcesRequired.h" 00030 #include "SVGLangSpace.h" 00031 #include "SVGStyledElement.h" 00032 #include "SVGURIReference.h" 00033 00034 namespace WebCore { 00035 class SVGLength; 00036 00037 class SVGFilterElement : public SVGStyledElement, 00038 public SVGURIReference, 00039 public SVGLangSpace, 00040 public SVGExternalResourcesRequired 00041 { 00042 public: 00043 SVGFilterElement(const QualifiedName&, Document*); 00044 virtual ~SVGFilterElement(); 00045 00046 virtual SVGResource* canvasResource(); 00047 00048 void setFilterRes(unsigned long filterResX, unsigned long filterResY) const; 00049 00050 virtual void parseMappedAttribute(MappedAttribute*); 00051 virtual bool rendererIsNeeded(RenderStyle*) { return false; } 00052 00053 protected: 00054 virtual const SVGElement* contextElement() const { return this; } 00055 00056 private: 00057 ANIMATED_PROPERTY_FORWARD_DECLARATIONS(SVGURIReference, String, Href, href) 00058 ANIMATED_PROPERTY_FORWARD_DECLARATIONS(SVGExternalResourcesRequired, bool, ExternalResourcesRequired, externalResourcesRequired) 00059 00060 ANIMATED_PROPERTY_DECLARATIONS(SVGFilterElement, int, int, FilterUnits, filterUnits) 00061 ANIMATED_PROPERTY_DECLARATIONS(SVGFilterElement, int, int, PrimitiveUnits, primitiveUnits) 00062 ANIMATED_PROPERTY_DECLARATIONS(SVGFilterElement, SVGLength, SVGLength, X, x) 00063 ANIMATED_PROPERTY_DECLARATIONS(SVGFilterElement, SVGLength, SVGLength, Y, y) 00064 ANIMATED_PROPERTY_DECLARATIONS(SVGFilterElement, SVGLength, SVGLength, Width, width) 00065 ANIMATED_PROPERTY_DECLARATIONS(SVGFilterElement, SVGLength, SVGLength, Height, height) 00066 ANIMATED_PROPERTY_DECLARATIONS(SVGFilterElement, long, long, FilterResX, filterResX) 00067 ANIMATED_PROPERTY_DECLARATIONS(SVGFilterElement, long, long, FilterResY, filterResY) 00068 00069 RefPtr<SVGResourceFilter> m_filter; 00070 }; 00071 00072 } // namespace WebCore 00073 00074 #endif // ENABLE(SVG) 00075 #endif 00076 00077 // vim:ts=4:noet
KDE 4.6 API Reference