| Index: third_party/WebKit/Source/platform/graphics/filters/FilterOperation.h
|
| diff --git a/third_party/WebKit/Source/platform/graphics/filters/FilterOperation.h b/third_party/WebKit/Source/platform/graphics/filters/FilterOperation.h
|
| index f7a2668cc3c5c6ca15bce8ed64c8e48e1dd2f21e..157b9373b30f618bae7fa8813feb21a07c569693 100644
|
| --- a/third_party/WebKit/Source/platform/graphics/filters/FilterOperation.h
|
| +++ b/third_party/WebKit/Source/platform/graphics/filters/FilterOperation.h
|
| @@ -29,6 +29,7 @@
|
| #include "platform/Length.h"
|
| #include "platform/PlatformExport.h"
|
| #include "platform/graphics/Color.h"
|
| +#include "platform/graphics/GraphicsTypes.h"
|
| #include "platform/graphics/filters/Filter.h"
|
| #include "platform/heap/Handle.h"
|
| #include "wtf/Noncopyable.h"
|
| @@ -56,6 +57,7 @@ public:
|
| CONTRAST,
|
| BLUR,
|
| DROP_SHADOW,
|
| + BOX_REFLECT,
|
| NONE
|
| };
|
|
|
| @@ -74,6 +76,7 @@ public:
|
| case DROP_SHADOW:
|
| return true;
|
| case REFERENCE:
|
| + case BOX_REFLECT:
|
| return false;
|
| case NONE:
|
| break;
|
| @@ -314,7 +317,35 @@ private:
|
|
|
| DEFINE_FILTER_OPERATION_TYPE_CASTS(DropShadowFilterOperation, DROP_SHADOW);
|
|
|
| -} // namespace blink
|
| +class PLATFORM_EXPORT BoxReflectFilterOperation : public FilterOperation {
|
| +public:
|
| + static PassRefPtrWillBeRawPtr<BoxReflectFilterOperation> create(ReflectionDirection direction, float offset)
|
| + {
|
| + return adoptRefWillBeNoop(new BoxReflectFilterOperation(direction, offset));
|
| + }
|
| +
|
| + ReflectionDirection direction() const { return m_direction; }
|
| + float offset() const { return m_offset; }
|
|
|
| + bool affectsOpacity() const override { return true; }
|
| + bool movesPixels() const override { return true; }
|
| +
|
| +private:
|
| + PassRefPtrWillBeRawPtr<FilterOperation> blend(const FilterOperation* from, double progress) const override;
|
| + bool operator==(const FilterOperation&) const override;
|
| +
|
| + BoxReflectFilterOperation(ReflectionDirection direction, float offset)
|
| + : FilterOperation(BOX_REFLECT)
|
| + , m_direction(direction)
|
| + , m_offset(offset)
|
| + {
|
| + }
|
| +
|
| + ReflectionDirection m_direction;
|
| + float m_offset;
|
| +};
|
| +DEFINE_FILTER_OPERATION_TYPE_CASTS(BoxReflectFilterOperation, BOX_REFLECT);
|
| +
|
| +} // namespace blink
|
|
|
| #endif // FilterOperation_h
|
|
|