KHTML
SVGFEDiffuseLighting.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef SVGFEDiffuseLighting_h
00023 #define SVGFEDiffuseLighting_h
00024
00025 #if ENABLE(SVG) && ENABLE(SVG_FILTERS)
00026 #include "Color.h"
00027 #include "SVGFilterEffect.h"
00028
00029 namespace WebCore {
00030
00031 class SVGLightSource;
00032
00033 class SVGFEDiffuseLighting : public SVGFilterEffect {
00034 public:
00035 SVGFEDiffuseLighting(SVGResourceFilter*);
00036 virtual ~SVGFEDiffuseLighting();
00037
00038 Color lightingColor() const;
00039 void setLightingColor(const Color&);
00040
00041 float surfaceScale() const;
00042 void setSurfaceScale(float);
00043
00044 float diffuseConstant() const;
00045 void setDiffuseConstant(float);
00046
00047 float kernelUnitLengthX() const;
00048 void setKernelUnitLengthX(float);
00049
00050 float kernelUnitLengthY() const;
00051 void setKernelUnitLengthY(float);
00052
00053 const SVGLightSource* lightSource() const;
00054 void setLightSource(SVGLightSource*);
00055
00056 virtual TextStream& externalRepresentation(TextStream&) const;
00057
00058 #if PLATFORM(CI)
00059 virtual CIFilter* getCIFilter(const FloatRect& bbox) const;
00060 #endif
00061
00062 private:
00063 Color m_lightingColor;
00064 float m_surfaceScale;
00065 float m_diffuseConstant;
00066 float m_kernelUnitLengthX;
00067 float m_kernelUnitLengthY;
00068 SVGLightSource* m_lightSource;
00069 };
00070
00071 }
00072
00073 #endif // ENABLE(SVG) && ENABLE(SVG_FILTERS)
00074
00075 #endif // SVGFEDiffuseLighting_h