Chromium Code Reviews| Index: Source/platform/graphics/filters/Filter.h |
| diff --git a/Source/platform/graphics/filters/Filter.h b/Source/platform/graphics/filters/Filter.h |
| index cb22be7ad40f9eb45bfecb2c892db10ba8111c8b..3325f2d521582f3c8d66f8ef2fe381bbd9806d8c 100644 |
| --- a/Source/platform/graphics/filters/Filter.h |
| +++ b/Source/platform/graphics/filters/Filter.h |
| @@ -33,29 +33,27 @@ namespace blink { |
| class SourceGraphic; |
| class FilterEffect; |
| -class PLATFORM_EXPORT Filter : public RefCountedWillBeGarbageCollectedFinalized<Filter> { |
| +class PLATFORM_EXPORT Filter final : public RefCountedWillBeGarbageCollectedFinalized<Filter> { |
| public: |
| - static PassRefPtrWillBeRawPtr<Filter> create(const FloatRect& referenceBox, const FloatRect& filterRegion, float scale) |
| - { |
| - return adoptRefWillBeNoop(new Filter(referenceBox, filterRegion, scale)); |
| - } |
| + enum UnitScaling { |
| + UserSpace, |
| + BoundingBox |
| + }; |
| - static PassRefPtrWillBeRawPtr<Filter> create(float scale) |
| - { |
| - return adoptRefWillBeNoop(new Filter(FloatRect(), FloatRect(), scale)); |
| - } |
| + static PassRefPtrWillBeRawPtr<Filter> create(const FloatRect& referenceBox, const FloatRect& filterRegion, float scale, UnitScaling = UserSpace); |
| + static PassRefPtrWillBeRawPtr<Filter> create(float scale); |
| - virtual ~Filter(); |
| - DECLARE_VIRTUAL_TRACE(); |
| + ~Filter(); |
| + DECLARE_TRACE(); |
| float scale() const { return m_scale; } |
| FloatRect mapLocalRectToAbsoluteRect(const FloatRect&) const; |
| FloatRect mapAbsoluteRectToLocalRect(const FloatRect&) const; |
| - virtual float applyHorizontalScale(float value) const { return m_scale * value; } |
| - virtual float applyVerticalScale(float value) const { return m_scale * value; } |
| + float applyHorizontalScale(float value) const; |
| + float applyVerticalScale(float value) const; |
| - virtual FloatPoint3D resolve3dPoint(const FloatPoint3D& point) const { return point; } |
| + FloatPoint3D resolve3dPoint(const FloatPoint3D&) const; |
| FloatRect absoluteFilterRegion() const { return mapLocalRectToAbsoluteRect(m_filterRegion); } |
| @@ -68,12 +66,13 @@ public: |
| SourceGraphic* sourceGraphic() const { return m_sourceGraphic.get(); } |
| protected: |
|
f(malita)
2015/09/17 15:18:06
Nit: Filter is now final, protected -> private.
fs
2015/09/17 16:22:32
Ah, good catch. Fixed.
|
| - Filter(const FloatRect& referenceBox, const FloatRect& filterRegion, float scale); |
| + Filter(const FloatRect& referenceBox, const FloatRect& filterRegion, float scale, bool bboxMode); |
| private: |
| FloatRect m_referenceBox; |
| FloatRect m_filterRegion; |
| float m_scale; |
| + bool m_bboxMode; |
|
f(malita)
2015/09/17 15:18:05
UnitScaling m_unitScaling instead of bool?
Stephen White
2015/09/17 16:19:58
+1 to this
fs
2015/09/17 16:22:32
Sure, doesn't matter much.
|
| RefPtrWillBeMember<SourceGraphic> m_sourceGraphic; |
| RefPtrWillBeMember<FilterEffect> m_lastEffect; |