Commit 3908f879 authored by zimmermann's avatar zimmermann

Reviewed by Oliver.

Fixes: http://bugs.webkit.org/show_bug.cgi?id=11596

Split up KCanvasFilters & KCanvasFilterQuartz into several
new classes (SVGFEBlend, SVGFEComposite...) and move them
into platform/graphics/svg. This is still a temporary location,
as discussed with Darin; the whole platform/graphics/svg directory
will probably be moved into ksvg2/ in near future.

This commit removes the duplicated enumerations in the svg filter
classes and within kcanvas. ksvg2/ and platform/graphics/svg share
their enums now.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@17850 268f45cc-cd09-0410-ab3c-d52691b4dbfc
parent c7c29265
......@@ -37,6 +37,7 @@ include_directories(
${CMAKE_CURRENT_SOURCE_DIR}/platform/graphics
${CMAKE_CURRENT_SOURCE_DIR}/platform/graphics/qt
${CMAKE_CURRENT_SOURCE_DIR}/platform/graphics/svg
${CMAKE_CURRENT_SOURCE_DIR}/platform/graphics/svg/filters
${CMAKE_CURRENT_SOURCE_DIR}/platform/image-decoders
${CMAKE_CURRENT_SOURCE_DIR}/platform/image-decoders/gif
${CMAKE_CURRENT_SOURCE_DIR}/platform/image-decoders/jpeg
......@@ -533,9 +534,8 @@ set (SVG_SOURCES
kcanvas/device/qt/KRenderingPaintServerGradientQt.cpp
kcanvas/device/qt/KRenderingPaintServerPatternQt.cpp
kcanvas/device/qt/KRenderingPaintServerQt.cpp
kcanvas/device/qt/KRenderingPaintServerSolidQt.cpp
kcanvas/device/qt/RenderPathQt.cpp
kcanvas/KCanvasFilters.cpp
kcanvas/device/qt/KRenderingPaintServerSolidQt.cpp
kcanvas/device/qt/RenderPathQt.cpp
ksvg2/css/SVGCSSParser.cpp
ksvg2/css/SVGCSSStyleSelector.cpp
......@@ -1019,6 +1019,7 @@ set(WebCore_SRCS
platform/graphics/AffineTransform.cpp
platform/graphics/Color.cpp
platform/graphics/FloatPoint3D.cpp
platform/graphics/FloatPoint.cpp
platform/graphics/FloatRect.cpp
platform/graphics/FloatSize.cpp
......@@ -1043,9 +1044,28 @@ set(WebCore_SRCS
platform/graphics/svg/SVGResource.cpp
platform/graphics/svg/SVGResourceClipper.cpp
platform/graphics/svg/SVGResourceFilter.cpp
platform/graphics/svg/SVGResourceMarker.cpp
platform/graphics/svg/SVGResourceMasker.cpp
platform/graphics/svg/filters/SVGFEBlend.cpp
platform/graphics/svg/filters/SVGFEColorMatrix.cpp
platform/graphics/svg/filters/SVGFEComponentTransfer.cpp
platform/graphics/svg/filters/SVGFEComposite.cpp
platform/graphics/svg/filters/SVGFEConvolveMatrix.cpp
platform/graphics/svg/filters/SVGFEDiffuseLighting.cpp
platform/graphics/svg/filters/SVGFEDisplacementMap.cpp
platform/graphics/svg/filters/SVGFEFlood.cpp
platform/graphics/svg/filters/SVGFEGaussianBlur.cpp
platform/graphics/svg/filters/SVGFEImage.cpp
platform/graphics/svg/filters/SVGFEMerge.cpp
platform/graphics/svg/filters/SVGFEMorphology.cpp
platform/graphics/svg/filters/SVGFEOffset.cpp
platform/graphics/svg/filters/SVGFESpecularLighting.cpp
platform/graphics/svg/filters/SVGFETurbulence.cpp
platform/graphics/svg/filters/SVGFilterEffect.cpp
platform/graphics/svg/filters/SVGLightSource.cpp
platform/graphics/svg/qt/SVGResourceClipperQt.cpp
platform/graphics/svg/qt/SVGResourceImageQt.cpp
platform/graphics/svg/qt/SVGResourceMaskerQt.cpp
......
This diff is collapsed.
This diff is collapsed.
......@@ -199,6 +199,19 @@ sub AddClassForwardIfNeeded
push(@headerContent, "class $implClassName;\n\n") unless $codeGenerator->IsSVGAnimatedType($implClassName);
}
sub HashValueForClassAndName
{
my $class = shift;
my $name = shift;
# SVG Filter enums live in WebCore namespace (platform/graphics/)
if ($class =~ /^SVGFE*/ or $class =~ /^SVGComponentTransferFunctionElement$/) {
return "WebCore::$name";
}
return "${class}::$name";
}
sub GenerateHeader
{
my $object = shift;
......@@ -527,7 +540,7 @@ sub GenerateImplementation
my $name = $constant->name;
push(@hashKeys, $name);
my $value = "${implClassName}::$name";
my $value = HashValueForClassAndName($implClassName, $name);
push(@hashValues, $value);
my $special = "DontDelete|ReadOnly";
......@@ -560,7 +573,7 @@ sub GenerateImplementation
my $name = $constant->name;
push(@hashKeys, $name);
my $value = "${implClassName}::$name";
my $value = HashValueForClassAndName($implClassName, $name);
push(@hashValues, $value);
my $special = "DontDelete|ReadOnly";
......
This diff is collapsed.
This diff is collapsed.
......@@ -22,9 +22,10 @@
#ifndef KRenderingDevice_H
#define KRenderingDevice_H
#ifdef SVG_SUPPORT
#include "KCanvasFilters.h"
#include "SVGFilterEffect.h"
#include "KRenderingPaintServer.h"
namespace WebCore {
......@@ -50,7 +51,7 @@ public:
};
class SVGResourceImage;
class KCanvasFilterEffect;
class SVGResourceFilterEffect;
class KRenderingDevice
{
public:
......@@ -71,7 +72,7 @@ public:
// Creation tools
virtual PassRefPtr<SVGResource> createResource(const SVGResourceType&) const = 0;
virtual KCanvasFilterEffect* createFilterEffect(const KCFilterEffectType&) const = 0;
virtual SVGFilterEffect* createFilterEffect(const SVGFilterEffectType&) const = 0;
virtual PassRefPtr<KRenderingPaintServer> createPaintServer(const KCPaintServerType&) const = 0;
private:
......
......@@ -178,7 +178,7 @@ PassRefPtr<KRenderingPaintServer> KRenderingDeviceQt::createPaintServer(const KC
}
}
KCanvasFilterEffect* KRenderingDeviceQt::createFilterEffect(const KCFilterEffectType& type) const
SVGFilterEffect* KRenderingDeviceQt::createFilterEffect(const SVGFilterEffectType& type) const
{
qDebug("KRenderingDeviceQt::createFilterEffect() TODO!");
return 0;
......
......@@ -79,7 +79,7 @@ public:
// Resource creation
virtual PassRefPtr<SVGResource> createResource(const SVGResourceType&) const;
virtual PassRefPtr<KRenderingPaintServer> createPaintServer(const KCPaintServerType&) const;
virtual KCanvasFilterEffect* createFilterEffect(const KCFilterEffectType&) const;
virtual SVGFilterEffect* createFilterEffect(const SVGFilterEffectType&) const;
};
}
......
/*
* Copyright (C) 2005 Apple Computer, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#ifndef KCancasFilterQuartz_H
#define KCanvasFilterQuartz_H
#ifdef SVG_SUPPORT
#include "KCanvasFilters.h"
#ifdef __OBJC__
@class CIFilter;
@class CIImage;
#else
class CIFilter;
class CIImage;
class NSArray;
class CIContext;
class NSMutableDictionary;
#endif
namespace WebCore {
class KRenderingDevice;
class KCanvasFilterQuartz : public KCanvasFilter {
public:
KCanvasFilterQuartz();
virtual ~KCanvasFilterQuartz();
virtual void prepareFilter(const FloatRect& bbox);
virtual void applyFilter(const FloatRect& bbox);
CIImage* imageForName(const String&) const;
void setImageForName(CIImage*, const String&);
void setOutputImage(const KCanvasFilterEffect*, CIImage*);
CIImage* inputImage(const KCanvasFilterEffect*);
private:
#if PLATFORM(CI)
NSArray* getCIFilterStack(CIImage* inputImage);
CIContext* m_filterCIContext;
CGLayerRef m_filterCGLayer;
NSMutableDictionary* m_imagesByName;
#endif
};
class KCanvasFEBlendQuartz : public KCanvasFEBlend {
public:
#if PLATFORM(CI)
virtual CIFilter* getCIFilter(KCanvasFilterQuartz*) const;
#endif
};
class KCanvasFEColorMatrixQuartz : public KCanvasFEColorMatrix {
public:
#if PLATFORM(CI)
virtual CIFilter* getCIFilter(KCanvasFilterQuartz*) const;
#endif
};
class KCanvasFEComponentTransferQuartz : public KCanvasFEComponentTransfer {
public:
#if PLATFORM(CI)
virtual CIFilter* getCIFilter(KCanvasFilterQuartz*) const;
private:
CIFilter* getFunctionFilter(KCChannelSelectorType, CIImage* inputImage) const;
#endif
};
class KCanvasFEConvolveMatrixQuartz : public KCanvasFEConvolveMatrix {
public:
#if PLATFORM(CI)
virtual CIFilter* getCIFilter(KCanvasFilterQuartz*) const;
#endif
};
class KCanvasFECompositeQuartz : public KCanvasFEComposite {
public:
#if PLATFORM(CI)
virtual CIFilter* getCIFilter(KCanvasFilterQuartz*) const;
#endif
};
class KCanvasFEDiffuseLightingQuartz : public KCanvasFEDiffuseLighting {
public:
#if PLATFORM(CI)
virtual CIFilter* getCIFilter(KCanvasFilterQuartz*) const;
#endif
};
class KCanvasFEFloodQuartz : public KCanvasFEFlood {
public:
#if PLATFORM(CI)
virtual CIFilter* getCIFilter(KCanvasFilterQuartz*) const;
#endif
};
class KCanvasFEGaussianBlurQuartz : public KCanvasFEGaussianBlur {
public:
#if PLATFORM(CI)
virtual CIFilter* getCIFilter(KCanvasFilterQuartz*) const;
#endif
};
class KCanvasFEImageQuartz : public KCanvasFEImage {
public:
#if PLATFORM(CI)
virtual CIFilter* getCIFilter(KCanvasFilterQuartz*) const;
#endif
};
class KCanvasFEDisplacementMapQuartz : public KCanvasFEDisplacementMap {
public:
#if PLATFORM(CI)
virtual CIFilter* getCIFilter(KCanvasFilterQuartz*) const;
#endif
};
class KCanvasFEMergeQuartz : public KCanvasFEMerge {
public:
#if PLATFORM(CI)
virtual CIFilter* getCIFilter(KCanvasFilterQuartz*) const;
#endif
};
class KCanvasFEOffsetQuartz : public KCanvasFEOffset {
public:
#if PLATFORM(CI)
virtual CIFilter* getCIFilter(KCanvasFilterQuartz*) const;
#endif
};
class KCanvasFESpecularLightingQuartz : public KCanvasFESpecularLighting {
public:
#if PLATFORM(CI)
virtual CIFilter* getCIFilter(KCanvasFilterQuartz*) const;
#endif
};
class KCanvasFETileQuartz : public KCanvasFETile {
public:
#if PLATFORM(CI)
virtual CIFilter* getCIFilter(KCanvasFilterQuartz*) const;
#endif
};
}
#endif // SVG_SUPPORT
#endif // !KCanvasFilterQuartz_H
This diff is collapsed.
......@@ -31,7 +31,6 @@
#include <wtf/Assertions.h>
#include <ApplicationServices/ApplicationServices.h>
#include "KCanvasFilterQuartz.h"
#include "KCanvasRenderingStyle.h"
#include "KRenderingDeviceQuartz.h"
#include "QuartzSupport.h"
......
......@@ -28,12 +28,24 @@
#ifdef SVG_SUPPORT
#include "KRenderingDeviceQuartz.h"
#include "GraphicsContext.h"
#include "SVGFEBlend.h"
#include "SVGFEColorMatrix.h"
#include "SVGFEComponentTransfer.h"
#include "SVGFEComposite.h"
#include "SVGFEDiffuseLighting.h"
#include "SVGFEDisplacementMap.h"
#include "SVGFEFlood.h"
#include "SVGFEGaussianBlur.h"
#include "SVGFEImage.h"
#include "SVGFEMerge.h"
#include "SVGFEOffset.h"
#include "SVGFESpecularLighting.h"
#include "SVGFETile.h"
#include "SVGResourceClipper.h"
#include "SVGResourceFilter.h"
#include "SVGResourceImage.h"
#include "SVGResourceMarker.h"
#include "KCanvasFilterQuartz.h"
#include "SVGResourceMasker.h"
#include "KRenderingPaintServerQuartz.h"
#include "Logging.h"
......@@ -166,7 +178,7 @@ PassRefPtr<SVGResource> KRenderingDeviceQuartz::createResource(const SVGResource
case RS_IMAGE:
return new SVGResourceImage();
case RS_FILTER:
return new KCanvasFilterQuartz();
return new SVGResourceFilter();
case RS_MASKER:
return new SVGResourceMasker();
}
......@@ -174,7 +186,7 @@ PassRefPtr<SVGResource> KRenderingDeviceQuartz::createResource(const SVGResource
return 0;
}
KCanvasFilterEffect *KRenderingDeviceQuartz::createFilterEffect(const KCFilterEffectType& type) const
SVGFilterEffect* KRenderingDeviceQuartz::createFilterEffect(const SVGFilterEffectType& type) const
{
switch(type)
{
......@@ -183,21 +195,21 @@ KCanvasFilterEffect *KRenderingDeviceQuartz::createFilterEffect(const KCFilterEf
case FE_POINT_LIGHT:
case FE_SPOT_LIGHT:
*/
case FE_BLEND: return new KCanvasFEBlendQuartz();
case FE_COLOR_MATRIX: return new KCanvasFEColorMatrixQuartz();
case FE_COMPONENT_TRANSFER: return new KCanvasFEComponentTransferQuartz();
case FE_COMPOSITE: return new KCanvasFECompositeQuartz();
case FE_BLEND: return new SVGFEBlend();
case FE_COLOR_MATRIX: return new SVGFEColorMatrix();
case FE_COMPONENT_TRANSFER: return new SVGFEComponentTransfer();
case FE_COMPOSITE: return new SVGFEComposite();
// case FE_CONVOLVE_MATRIX:
case FE_DIFFUSE_LIGHTING: return new KCanvasFEDiffuseLightingQuartz();
case FE_DISPLACEMENT_MAP: return new KCanvasFEDisplacementMapQuartz();
case FE_FLOOD: return new KCanvasFEFloodQuartz();
case FE_GAUSSIAN_BLUR: return new KCanvasFEGaussianBlurQuartz();
case FE_IMAGE: return new KCanvasFEImageQuartz();
case FE_MERGE: return new KCanvasFEMergeQuartz();
case FE_DIFFUSE_LIGHTING: return new SVGFEDiffuseLighting();
case FE_DISPLACEMENT_MAP: return new SVGFEDisplacementMap();
case FE_FLOOD: return new SVGFEFlood();
case FE_GAUSSIAN_BLUR: return new SVGFEGaussianBlur();
case FE_IMAGE: return new SVGFEImage();
case FE_MERGE: return new SVGFEMerge();
// case FE_MORPHOLOGY:
case FE_OFFSET: return new KCanvasFEOffsetQuartz();
case FE_SPECULAR_LIGHTING: return new KCanvasFESpecularLightingQuartz();
case FE_TILE: return new KCanvasFETileQuartz();
case FE_OFFSET: return new SVGFEOffset();
case FE_SPECULAR_LIGHTING: return new SVGFESpecularLighting();
case FE_TILE: return new SVGFETile();
// case FE_TURBULENCE:
default:
return 0;
......
......@@ -70,7 +70,7 @@ public:
// Resource creation
virtual PassRefPtr<SVGResource> createResource(const SVGResourceType&) const;
virtual PassRefPtr<KRenderingPaintServer> createPaintServer(const KCPaintServerType&) const;
virtual KCanvasFilterEffect *createFilterEffect(const KCFilterEffectType&) const;
virtual SVGFilterEffect *createFilterEffect(const SVGFilterEffectType&) const;
// filters (mostly debugging)
static bool filtersEnabled();
......
......@@ -87,10 +87,10 @@ void SVGComponentTransferFunctionElement::parseMappedAttribute(MappedAttribute*
SVGElement::parseMappedAttribute(attr);
}
KCComponentTransferFunction SVGComponentTransferFunctionElement::transferFunction() const
SVGComponentTransferFunction SVGComponentTransferFunctionElement::transferFunction() const
{
KCComponentTransferFunction func;
func.type = (KCComponentTransferType)(type() - 1);
SVGComponentTransferFunction func;
func.type = (SVGComponentTransferType) type();
func.slope = slope();
func.intercept = intercept();
func.amplitude = amplitude();
......
......@@ -24,8 +24,8 @@
#define KSVG_SVGComponentTransferFunctionElementImpl_H
#ifdef SVG_SUPPORT
#include "KCanvasFilters.h"
#include "SVGElement.h"
#include "SVGFEComponentTransfer.h"
namespace WebCore
{
......@@ -34,15 +34,6 @@ namespace WebCore
class SVGComponentTransferFunctionElement : public SVGElement
{
public:
enum SVGComponentTransferType {
SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN = 0,
SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY = 1,
SVG_FECOMPONENTTRANSFER_TYPE_TABLE = 2,
SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE = 3,
SVG_FECOMPONENTTRANSFER_TYPE_LINEAR = 4,
SVG_FECOMPONENTTRANSFER_TYPE_GAMMA = 5
};
SVGComponentTransferFunctionElement(const QualifiedName&, Document*);
virtual ~SVGComponentTransferFunctionElement();
......@@ -50,7 +41,7 @@ namespace WebCore
// Derived from: 'Element'
virtual void parseMappedAttribute(MappedAttribute* attr);
KCComponentTransferFunction transferFunction() const;
SVGComponentTransferFunction transferFunction() const;
private:
ANIMATED_PROPERTY_DECLARATIONS(SVGComponentTransferFunctionElement, int, int, Type, type)
......
......@@ -67,13 +67,13 @@ void SVGFEBlendElement::parseMappedAttribute(MappedAttribute* attr)
SVGFilterPrimitiveStandardAttributes::parseMappedAttribute(attr);
}
KCanvasFEBlend* SVGFEBlendElement::filterEffect() const
SVGFEBlend* SVGFEBlendElement::filterEffect() const
{
if (!m_filterEffect)
m_filterEffect = static_cast<KCanvasFEBlend*>(renderingDevice()->createFilterEffect(FE_BLEND));
m_filterEffect = static_cast<SVGFEBlend*>(renderingDevice()->createFilterEffect(FE_BLEND));
if (!m_filterEffect)
return 0;
m_filterEffect->setBlendMode((KCBlendModeType)(mode()-1));
m_filterEffect->setBlendMode((SVGBlendModeType) mode());
m_filterEffect->setIn(in1());
m_filterEffect->setIn2(in2());
setStandardAttributes(m_filterEffect);
......
......@@ -24,24 +24,14 @@
#define KSVG_SVGFEBlendElementImpl_H
#ifdef SVG_SUPPORT
#include "KCanvasFilters.h"
#include "SVGFEBlend.h"
#include "SVGFilterPrimitiveStandardAttributes.h"
namespace WebCore
{
class SVGFEBlendElement : public SVGFilterPrimitiveStandardAttributes
{
public:
enum SVGBlendModeType {
SVG_FEBLEND_MODE_UNKNOWN = 0,
SVG_FEBLEND_MODE_NORMAL = 1,
SVG_FEBLEND_MODE_MULTIPLY = 2,
SVG_FEBLEND_MODE_SCREEN = 3,
SVG_FEBLEND_MODE_DARKEN = 4,
SVG_FEBLEND_MODE_LIGHTEN = 5
};
SVGFEBlendElement(const QualifiedName&, Document*);
virtual ~SVGFEBlendElement();
......@@ -49,7 +39,7 @@ namespace WebCore
// Derived from: 'Element'
virtual void parseMappedAttribute(MappedAttribute* attr);
virtual KCanvasFEBlend* filterEffect() const;
virtual SVGFEBlend* filterEffect() const;
protected:
virtual const SVGElement* contextElement() const { return this; }
......@@ -58,7 +48,7 @@ namespace WebCore
ANIMATED_PROPERTY_DECLARATIONS(SVGFEBlendElement, String, String, In1, in1)
ANIMATED_PROPERTY_DECLARATIONS(SVGFEBlendElement, String, String, In2, in2)
ANIMATED_PROPERTY_DECLARATIONS(SVGFEBlendElement, int, int, Mode, mode)
mutable KCanvasFEBlend* m_filterEffect;
mutable SVGFEBlend* m_filterEffect;
};
} // namespace WebCore
......
......@@ -69,10 +69,10 @@ void SVGFEColorMatrixElement::parseMappedAttribute(MappedAttribute* attr)
SVGFilterPrimitiveStandardAttributes::parseMappedAttribute(attr);
}
KCanvasFEColorMatrix* SVGFEColorMatrixElement::filterEffect() const
SVGFEColorMatrix* SVGFEColorMatrixElement::filterEffect() const
{
if (!m_filterEffect)
m_filterEffect = static_cast<KCanvasFEColorMatrix*>(renderingDevice()->createFilterEffect(FE_COLOR_MATRIX));
m_filterEffect = static_cast<SVGFEColorMatrix*>(renderingDevice()->createFilterEffect(FE_COLOR_MATRIX));
if (!m_filterEffect)
return 0;
......@@ -86,7 +86,7 @@ KCanvasFEColorMatrix* SVGFEColorMatrixElement::filterEffect() const
for (unsigned int i = 0;i < nr;i++)
_values.append(numbers->getItem(i, ec));
m_filterEffect->setValues(_values);
m_filterEffect->setType((KCColorMatrixType)(type() - 1));
m_filterEffect->setType((SVGColorMatrixType) type());
return m_filterEffect;
}
......
......@@ -24,7 +24,7 @@
#define KSVG_SVGFEColorMatrixElementImpl_H
#ifdef SVG_SUPPORT
#include "KCanvasFilters.h"
#include "SVGFEColorMatrix.h"
#include "SVGFilterPrimitiveStandardAttributes.h"
namespace WebCore
......@@ -34,14 +34,6 @@ namespace WebCore
class SVGFEColorMatrixElement : public SVGFilterPrimitiveStandardAttributes
{
public:
enum SVGColorMatrixType {
SVG_FECOLORMATRIX_TYPE_UNKNOWN = 0,
SVG_FECOLORMATRIX_TYPE_MATRIX = 1,
SVG_FECOLORMATRIX_TYPE_SATURATE = 2,
SVG_FECOLORMATRIX_TYPE_HUEROTATE = 3,
SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA = 4
};
SVGFEColorMatrixElement(const QualifiedName&, Document*);
virtual ~SVGFEColorMatrixElement();
......@@ -49,7 +41,7 @@ namespace WebCore
// Derived from: 'Element'
virtual void parseMappedAttribute(MappedAttribute* attr);
virtual KCanvasFEColorMatrix* filterEffect() const;
virtual SVGFEColorMatrix* filterEffect() const;
protected:
virtual const SVGElement* contextElement() const { return this; }
......@@ -58,7 +50,7 @@ namespace WebCore
ANIMATED_PROPERTY_DECLARATIONS(SVGFEColorMatrixElement, String, String, In1, in1)
ANIMATED_PROPERTY_DECLARATIONS(SVGFEColorMatrixElement, int, int, Type, type)
ANIMATED_PROPERTY_DECLARATIONS(SVGFEColorMatrixElement, SVGNumberList*, RefPtr<SVGNumberList>, Values, values)
mutable KCanvasFEColorMatrix* m_filterEffect;
mutable SVGFEColorMatrix* m_filterEffect;
};
} // namespace WebCore
......