KHTML
SVGFESpecularLighting.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 SVGFESpecularLighting_h
00023 #define SVGFESpecularLighting_h
00024
00025 #if ENABLE(SVG) && ENABLE(SVG_FILTERS)
00026 #include "Color.h"
00027 #include "SVGLightSource.h"
00028 #include "SVGFilterEffect.h"
00029
00030 namespace WebCore {
00031
00032 class SVGFESpecularLighting : public SVGFilterEffect {
00033 public:
00034 SVGFESpecularLighting(SVGResourceFilter*);
00035 virtual ~SVGFESpecularLighting();
00036
00037 Color lightingColor() const;
00038 void setLightingColor(const Color&);
00039
00040 float surfaceScale() const;
00041 void setSurfaceScale(float);
00042
00043 float specularConstant() const;
00044 void setSpecularConstant(float);
00045
00046 float specularExponent() const;
00047 void setSpecularExponent(float);
00048
00049 float kernelUnitLengthX() const;
00050 void setKernelUnitLengthX(float);
00051
00052 float kernelUnitLengthY() const;
00053 void setKernelUnitLengthY(float);
00054
00055 const SVGLightSource* lightSource() const;
00056 void setLightSource(SVGLightSource*);
00057
00058 virtual TextStream& externalRepresentation(TextStream&) const;
00059
00060 #if PLATFORM(CI)
00061 virtual CIFilter* getCIFilter(const FloatRect& bbox) const;
00062 #endif
00063
00064 private:
00065 Color m_lightingColor;
00066 float m_surfaceScale;
00067 float m_specularConstant;
00068 float m_specularExponent;
00069 float m_kernelUnitLengthX;
00070 float m_kernelUnitLengthY;
00071 SVGLightSource* m_lightSource;
00072 };
00073
00074 }
00075
00076 #endif // ENABLE(SVG) && ENABLE(SVG_FILTERS)
00077
00078 #endif // SVGFESpecularLighting_h