#ifndef SVGFilter_h
#define SVGFilter_h
#include "platform/geometry/FloatRect.h"
#include "platform/geometry/FloatSize.h"
#include "platform/graphics/filters/Filter.h"
#include "platform/graphics/filters/FilterEffect.h"
#include "platform/transforms/AffineTransform.h"
#include "wtf/PassRefPtr.h"
#include "wtf/RefCounted.h"
#include "wtf/RefPtr.h"
namespace WebCore {
class SVGFilter FINAL : public Filter {
public:
static PassRefPtr<SVGFilter> create(const AffineTransform&, const IntRect&, const FloatRect&, const FloatRect&, bool);
virtual float applyHorizontalScale(float value) const OVERRIDE;
virtual float applyVerticalScale(float value) const OVERRIDE;
virtual IntRect sourceImageRect() const OVERRIDE { return m_absoluteSourceDrawingRegion; }
FloatRect targetBoundingBox() const { return m_targetBoundingBox; }
private:
SVGFilter(const AffineTransform& absoluteTransform, const IntRect& absoluteSourceDrawingRegion, const FloatRect& targetBoundingBox, const FloatRect& filterRegion, bool effectBBoxMode);
IntRect m_absoluteSourceDrawingRegion;
FloatRect m_targetBoundingBox;
bool m_effectBBoxMode;
};
}
#endif