#ifndef FEDropShadow_h
#define FEDropShadow_h
#include "platform/graphics/Color.h"
#include "platform/graphics/filters/Filter.h"
#include "platform/graphics/filters/FilterEffect.h"
namespace WebCore {
class PLATFORM_EXPORT FEDropShadow : public FilterEffect {
public:
static PassRefPtr<FEDropShadow> create(Filter*, float, float, float, float, const Color&, float);
float stdDeviationX() const { return m_stdX; }
void setStdDeviationX(float stdX) { m_stdX = stdX; }
float stdDeviationY() const { return m_stdY; }
void setStdDeviationY(float stdY) { m_stdY = stdY; }
float dx() const { return m_dx; }
void setDx(float dx) { m_dx = dx; }
float dy() const { return m_dy; }
void setDy(float dy) { m_dy = dy; }
Color shadowColor() const { return m_shadowColor; }
void setShadowColor(const Color& shadowColor) { m_shadowColor = shadowColor; }
float shadowOpacity() const { return m_shadowOpacity; }
void setShadowOpacity(float shadowOpacity) { m_shadowOpacity = shadowOpacity; }
virtual FloatRect mapRect(const FloatRect&, bool forward = true) OVERRIDE FINAL;
virtual TextStream& externalRepresentation(TextStream&, int indention) const OVERRIDE;
virtual PassRefPtr<SkImageFilter> createImageFilter(SkiaImageFilterBuilder*) OVERRIDE;
private:
FEDropShadow(Filter*, float, float, float, float, const Color&, float);
virtual void applySoftware() OVERRIDE;
float m_stdX;
float m_stdY;
float m_dx;
float m_dy;
Color m_shadowColor;
float m_shadowOpacity;
};
}
#endif