summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorloyso <loyso@chromium.org>2016-02-17 20:00:55 -0800
committerCommit bot <commit-bot@chromium.org>2016-02-18 04:02:03 +0000
commit3479a2cd4a2926b56ea8091e6182f1a32e9bbeae (patch)
treeaced65d391f490ea8abe4bcc4839728e503a17ae
parent4d5765f4066be1198558f6c07ebd5f53ea74be8e (diff)
downloadchromium_src-3479a2cd4a2926b56ea8091e6182f1a32e9bbeae.zip
chromium_src-3479a2cd4a2926b56ea8091e6182f1a32e9bbeae.tar.gz
chromium_src-3479a2cd4a2926b56ea8091e6182f1a32e9bbeae.tar.bz2
Blink Compositor: Erase virtuals on Transform and Filter operations.
BUG=577016 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1698213002 Cr-Commit-Position: refs/heads/master@{#376085}
-rw-r--r--cc/animation/transform_operations.h8
-rw-r--r--third_party/WebKit/Source/core/animation/CompositorAnimations.cpp2
-rw-r--r--third_party/WebKit/Source/core/core.gypi3
-rw-r--r--third_party/WebKit/Source/platform/animation/AnimationTranslationUtil.cpp (renamed from third_party/WebKit/Source/core/animation/AnimationTranslationUtil.cpp)22
-rw-r--r--third_party/WebKit/Source/platform/animation/AnimationTranslationUtil.h (renamed from third_party/WebKit/Source/core/animation/AnimationTranslationUtil.h)6
-rw-r--r--third_party/WebKit/Source/platform/animation/AnimationTranslationUtilTest.cpp (renamed from third_party/WebKit/Source/core/animation/AnimationTranslationUtilTest.cpp)90
-rw-r--r--third_party/WebKit/Source/platform/animation/CompositorTransformOperations.cpp4
-rw-r--r--third_party/WebKit/Source/platform/animation/CompositorTransformOperations.h19
-rw-r--r--third_party/WebKit/Source/platform/blink_platform.gypi3
-rw-r--r--third_party/WebKit/Source/platform/graphics/CompositorFilterOperations.cpp4
-rw-r--r--third_party/WebKit/Source/platform/graphics/CompositorFilterOperations.h33
11 files changed, 95 insertions, 99 deletions
diff --git a/cc/animation/transform_operations.h b/cc/animation/transform_operations.h
index d173ace..b97ba36 100644
--- a/cc/animation/transform_operations.h
+++ b/cc/animation/transform_operations.h
@@ -7,6 +7,7 @@
#include <vector>
+#include "base/logging.h"
#include "base/macros.h"
#include "base/memory/scoped_ptr.h"
#include "cc/animation/transform_operation.h"
@@ -90,6 +91,13 @@ class CC_EXPORT TransformOperations {
void AppendIdentity();
bool IsIdentity() const;
+ size_t size() const { return operations_.size(); }
+
+ const TransformOperation& at(size_t index) const {
+ DCHECK_LT(index, size());
+ return operations_[index];
+ }
+
private:
bool BlendInternal(const TransformOperations& from,
SkMScalar progress,
diff --git a/third_party/WebKit/Source/core/animation/CompositorAnimations.cpp b/third_party/WebKit/Source/core/animation/CompositorAnimations.cpp
index 41a8acf..362c833 100644
--- a/third_party/WebKit/Source/core/animation/CompositorAnimations.cpp
+++ b/third_party/WebKit/Source/core/animation/CompositorAnimations.cpp
@@ -31,7 +31,6 @@
#include "core/animation/CompositorAnimations.h"
#include "core/animation/AnimationEffect.h"
-#include "core/animation/AnimationTranslationUtil.h"
#include "core/animation/CompositorAnimationsImpl.h"
#include "core/animation/ElementAnimations.h"
#include "core/animation/animatable/AnimatableDouble.h"
@@ -43,6 +42,7 @@
#include "core/layout/compositing/CompositedLayerMapping.h"
#include "core/paint/PaintLayer.h"
#include "platform/RuntimeEnabledFeatures.h"
+#include "platform/animation/AnimationTranslationUtil.h"
#include "platform/animation/CompositorAnimation.h"
#include "platform/animation/CompositorAnimationPlayer.h"
#include "platform/animation/CompositorFilterAnimationCurve.h"
diff --git a/third_party/WebKit/Source/core/core.gypi b/third_party/WebKit/Source/core/core.gypi
index 86e94bf..c6806bf 100644
--- a/third_party/WebKit/Source/core/core.gypi
+++ b/third_party/WebKit/Source/core/core.gypi
@@ -848,8 +848,6 @@
'animation/AnimationStack.h',
'animation/AnimationTimeline.cpp',
'animation/AnimationTimeline.h',
- 'animation/AnimationTranslationUtil.cpp',
- 'animation/AnimationTranslationUtil.h',
'animation/CSSColorInterpolationType.cpp',
'animation/CSSColorInterpolationType.h',
'animation/CSSFontWeightInterpolationType.cpp',
@@ -3816,7 +3814,6 @@
'animation/AnimationTestHelper.cpp',
'animation/AnimationTestHelper.h',
'animation/AnimationTimelineTest.cpp',
- 'animation/AnimationTranslationUtilTest.cpp',
'animation/CompositorAnimationsTest.cpp',
'animation/CompositorAnimationsTestHelper.h',
'animation/DeferredLegacyStyleInterpolationTest.cpp',
diff --git a/third_party/WebKit/Source/core/animation/AnimationTranslationUtil.cpp b/third_party/WebKit/Source/platform/animation/AnimationTranslationUtil.cpp
index be90b73..e0be8ec 100644
--- a/third_party/WebKit/Source/core/animation/AnimationTranslationUtil.cpp
+++ b/third_party/WebKit/Source/platform/animation/AnimationTranslationUtil.cpp
@@ -23,7 +23,7 @@
*/
-#include "core/animation/AnimationTranslationUtil.h"
+#include "platform/animation/AnimationTranslationUtil.h"
#include "platform/animation/CompositorTransformOperations.h"
#include "platform/graphics/filters/FilterOperations.h"
@@ -41,7 +41,7 @@
namespace blink {
-void toCompositorTransformOperations(const TransformOperations& transformOperations, CompositorTransformOperations* webTransformOperations)
+void toCompositorTransformOperations(const TransformOperations& transformOperations, CompositorTransformOperations* outTransformOperations)
{
// We need to do a deep copy the transformOperations may contain ref pointers to TransformOperation objects.
for (size_t j = 0; j < transformOperations.size(); ++j) {
@@ -52,7 +52,7 @@ void toCompositorTransformOperations(const TransformOperations& transformOperati
case TransformOperation::Scale3D:
case TransformOperation::Scale: {
ScaleTransformOperation* transform = static_cast<ScaleTransformOperation*>(transformOperations.operations()[j].get());
- webTransformOperations->appendScale(transform->x(), transform->y(), transform->z());
+ outTransformOperations->appendScale(transform->x(), transform->y(), transform->z());
break;
}
case TransformOperation::TranslateX:
@@ -62,7 +62,7 @@ void toCompositorTransformOperations(const TransformOperations& transformOperati
case TransformOperation::Translate: {
TranslateTransformOperation* transform = static_cast<TranslateTransformOperation*>(transformOperations.operations()[j].get());
ASSERT(transform->x().isFixed() && transform->y().isFixed());
- webTransformOperations->appendTranslate(transform->x().value(), transform->y().value(), transform->z());
+ outTransformOperations->appendTranslate(transform->x().value(), transform->y().value(), transform->z());
break;
}
case TransformOperation::RotateX:
@@ -70,41 +70,41 @@ void toCompositorTransformOperations(const TransformOperations& transformOperati
case TransformOperation::Rotate3D:
case TransformOperation::Rotate: {
RotateTransformOperation* transform = static_cast<RotateTransformOperation*>(transformOperations.operations()[j].get());
- webTransformOperations->appendRotate(transform->x(), transform->y(), transform->z(), transform->angle());
+ outTransformOperations->appendRotate(transform->x(), transform->y(), transform->z(), transform->angle());
break;
}
case TransformOperation::SkewX:
case TransformOperation::SkewY:
case TransformOperation::Skew: {
SkewTransformOperation* transform = static_cast<SkewTransformOperation*>(transformOperations.operations()[j].get());
- webTransformOperations->appendSkew(transform->angleX(), transform->angleY());
+ outTransformOperations->appendSkew(transform->angleX(), transform->angleY());
break;
}
case TransformOperation::Matrix: {
MatrixTransformOperation* transform = static_cast<MatrixTransformOperation*>(transformOperations.operations()[j].get());
TransformationMatrix m = transform->matrix();
- webTransformOperations->appendMatrix(TransformationMatrix::toSkMatrix44(m));
+ outTransformOperations->appendMatrix(TransformationMatrix::toSkMatrix44(m));
break;
}
case TransformOperation::Matrix3D: {
Matrix3DTransformOperation* transform = static_cast<Matrix3DTransformOperation*>(transformOperations.operations()[j].get());
TransformationMatrix m = transform->matrix();
- webTransformOperations->appendMatrix(TransformationMatrix::toSkMatrix44(m));
+ outTransformOperations->appendMatrix(TransformationMatrix::toSkMatrix44(m));
break;
}
case TransformOperation::Perspective: {
PerspectiveTransformOperation* transform = static_cast<PerspectiveTransformOperation*>(transformOperations.operations()[j].get());
- webTransformOperations->appendPerspective(transform->perspective());
+ outTransformOperations->appendPerspective(transform->perspective());
break;
}
case TransformOperation::Interpolated: {
TransformationMatrix m;
transformOperations.operations()[j]->apply(m, FloatSize());
- webTransformOperations->appendMatrix(TransformationMatrix::toSkMatrix44(m));
+ outTransformOperations->appendMatrix(TransformationMatrix::toSkMatrix44(m));
break;
}
case TransformOperation::Identity:
- webTransformOperations->appendIdentity();
+ outTransformOperations->appendIdentity();
break;
case TransformOperation::None:
// Do nothing.
diff --git a/third_party/WebKit/Source/core/animation/AnimationTranslationUtil.h b/third_party/WebKit/Source/platform/animation/AnimationTranslationUtil.h
index 08be9f4..f0c7a77 100644
--- a/third_party/WebKit/Source/core/animation/AnimationTranslationUtil.h
+++ b/third_party/WebKit/Source/platform/animation/AnimationTranslationUtil.h
@@ -31,7 +31,7 @@
#ifndef AnimationTranslationUtil_h
#define AnimationTranslationUtil_h
-#include "core/CoreExport.h"
+#include "platform/PlatformExport.h"
namespace blink {
@@ -40,8 +40,8 @@ class CompositorTransformOperations;
class FilterOperations;
class TransformOperations;
-CORE_EXPORT void toCompositorTransformOperations(const TransformOperations& inOperations, CompositorTransformOperations* outOperations);
-CORE_EXPORT void toCompositorFilterOperations(const FilterOperations& inOperations, CompositorFilterOperations* outOperations);
+PLATFORM_EXPORT void toCompositorTransformOperations(const TransformOperations& inOperations, CompositorTransformOperations* outOperations);
+PLATFORM_EXPORT void toCompositorFilterOperations(const FilterOperations& inOperations, CompositorFilterOperations* outOperations);
} // namespace blink
diff --git a/third_party/WebKit/Source/core/animation/AnimationTranslationUtilTest.cpp b/third_party/WebKit/Source/platform/animation/AnimationTranslationUtilTest.cpp
index 39cb648..d727ffd 100644
--- a/third_party/WebKit/Source/core/animation/AnimationTranslationUtilTest.cpp
+++ b/third_party/WebKit/Source/platform/animation/AnimationTranslationUtilTest.cpp
@@ -22,7 +22,7 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#include "core/animation/AnimationTranslationUtil.h"
+#include "platform/animation/AnimationTranslationUtil.h"
#include "platform/animation/CompositorTransformOperations.h"
#include "platform/graphics/CompositorFilterOperations.h"
@@ -32,75 +32,73 @@
#include "platform/transforms/ScaleTransformOperation.h"
#include "platform/transforms/TransformOperations.h"
#include "platform/transforms/TranslateTransformOperation.h"
-#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "wtf/RefPtr.h"
namespace blink {
-class WebTransformOperationsMock : public CompositorTransformOperations {
-public:
- MOCK_CONST_METHOD1(canBlendWith, bool(const CompositorTransformOperations&));
- MOCK_METHOD3(appendTranslate, void(double, double, double));
- MOCK_METHOD4(appendRotate, void(double, double, double, double));
- MOCK_METHOD3(appendScale, void(double, double, double));
- MOCK_METHOD2(appendSkew, void(double, double));
- MOCK_METHOD1(appendPerspective, void(double));
- MOCK_METHOD1(appendMatrix, void(const SkMatrix44&));
- MOCK_METHOD0(appendIdentity, void());
- MOCK_CONST_METHOD0(isIdentity, bool());
-};
-
-class WebFilterOperationsMock : public CompositorFilterOperations {
-public:
- MOCK_METHOD1(appendGrayscaleFilter, void(float));
- MOCK_METHOD1(appendSepiaFilter, void(float));
- MOCK_METHOD1(appendSaturateFilter, void(float));
- MOCK_METHOD1(appendHueRotateFilter, void(float));
- MOCK_METHOD1(appendInvertFilter, void(float));
- MOCK_METHOD1(appendBrightnessFilter, void(float));
- MOCK_METHOD1(appendContrastFilter, void(float));
- MOCK_METHOD1(appendOpacityFilter, void(float));
- MOCK_METHOD1(appendBlurFilter, void(float));
- MOCK_METHOD3(appendDropShadowFilter, void(IntPoint, float, Color));
- MOCK_METHOD1(appendColorMatrixFilter, void(SkScalar[20]));
- MOCK_METHOD2(appendZoomFilter, void(float, int));
- MOCK_METHOD1(appendSaturatingBrightnessFilter, void(float));
- MOCK_METHOD1(appendReferenceFilter, void(SkImageFilter*));
- MOCK_METHOD0(clear, void());
- MOCK_CONST_METHOD0(isEmpty, bool());
-};
-
TEST(AnimationTranslationUtilTest, transformsWork)
{
TransformOperations ops;
- WebTransformOperationsMock outOps;
-
- EXPECT_CALL(outOps, appendTranslate(2, 0, 0));
- EXPECT_CALL(outOps, appendRotate(0.1, 0.2, 0.3, 200000.4));
- EXPECT_CALL(outOps, appendScale(50.2, 100, -4));
+ CompositorTransformOperations outOps;
ops.operations().append(TranslateTransformOperation::create(Length(2, Fixed), Length(0, Fixed), TransformOperation::TranslateX));
ops.operations().append(RotateTransformOperation::create(0.1, 0.2, 0.3, 200000.4, TransformOperation::Rotate3D));
ops.operations().append(ScaleTransformOperation::create(50.2, 100, -4, TransformOperation::Scale3D));
toCompositorTransformOperations(ops, &outOps);
+
+ EXPECT_EQ(3UL, outOps.asTransformOperations().size());
+ const float err = 0.0001;
+
+ auto& op0 = outOps.asTransformOperations().at(0);
+ EXPECT_EQ(cc::TransformOperation::TRANSFORM_OPERATION_TRANSLATE, op0.type);
+ EXPECT_NEAR(op0.translate.x, 2.0f, err);
+ EXPECT_NEAR(op0.translate.y, 0.0f, err);
+ EXPECT_NEAR(op0.translate.z, 0.0f, err);
+
+ auto& op1 = outOps.asTransformOperations().at(1);
+ EXPECT_EQ(cc::TransformOperation::TRANSFORM_OPERATION_ROTATE, op1.type);
+ EXPECT_NEAR(op1.rotate.axis.x, 0.1f, err);
+ EXPECT_NEAR(op1.rotate.axis.y, 0.2f, err);
+ EXPECT_NEAR(op1.rotate.axis.z, 0.3f, err);
+ EXPECT_NEAR(op1.rotate.angle, 200000.4f, 0.01f);
+
+ auto& op2 = outOps.asTransformOperations().at(2);
+ EXPECT_EQ(cc::TransformOperation::TRANSFORM_OPERATION_SCALE, op2.type);
+ EXPECT_NEAR(op2.scale.x, 50.2f, err);
+ EXPECT_NEAR(op2.scale.y, 100.0f, err);
+ EXPECT_NEAR(op2.scale.z, -4.0f, err);
}
TEST(AnimationTranslationUtilTest, filtersWork)
{
FilterOperations ops;
- WebFilterOperationsMock outOps;
-
- EXPECT_CALL(outOps, appendSaturateFilter(0.5));
- EXPECT_CALL(outOps, appendGrayscaleFilter(0.2f));
- EXPECT_CALL(outOps, appendSepiaFilter(0.8f));
- EXPECT_CALL(outOps, appendOpacityFilter(0.1f));
+ CompositorFilterOperations outOps;
ops.operations().append(BasicColorMatrixFilterOperation::create(0.5, FilterOperation::SATURATE));
ops.operations().append(BasicColorMatrixFilterOperation::create(0.2, FilterOperation::GRAYSCALE));
ops.operations().append(BasicColorMatrixFilterOperation::create(0.8, FilterOperation::SEPIA));
ops.operations().append(BasicComponentTransferFilterOperation::create(0.1, FilterOperation::OPACITY));
toCompositorFilterOperations(ops, &outOps);
+
+ EXPECT_EQ(4UL, outOps.asFilterOperations().size());
+ const float err = 0.0001;
+
+ auto& op0 = outOps.asFilterOperations().at(0);
+ EXPECT_EQ(cc::FilterOperation::SATURATE, op0.type());
+ EXPECT_NEAR(op0.amount(), 0.5f, err);
+
+ auto& op1 = outOps.asFilterOperations().at(1);
+ EXPECT_EQ(cc::FilterOperation::GRAYSCALE, op1.type());
+ EXPECT_NEAR(op1.amount(), 0.2f, err);
+
+ auto& op2 = outOps.asFilterOperations().at(2);
+ EXPECT_EQ(cc::FilterOperation::SEPIA, op2.type());
+ EXPECT_NEAR(op2.amount(), 0.8f, err);
+
+ auto& op3 = outOps.asFilterOperations().at(3);
+ EXPECT_EQ(cc::FilterOperation::OPACITY, op3.type());
+ EXPECT_NEAR(op3.amount(), 0.1f, err);
}
} // namespace blink
diff --git a/third_party/WebKit/Source/platform/animation/CompositorTransformOperations.cpp b/third_party/WebKit/Source/platform/animation/CompositorTransformOperations.cpp
index 02c8a66c..db6f309 100644
--- a/third_party/WebKit/Source/platform/animation/CompositorTransformOperations.cpp
+++ b/third_party/WebKit/Source/platform/animation/CompositorTransformOperations.cpp
@@ -13,10 +13,6 @@ CompositorTransformOperations::CompositorTransformOperations()
{
}
-CompositorTransformOperations::~CompositorTransformOperations()
-{
-}
-
const cc::TransformOperations& CompositorTransformOperations::asTransformOperations() const
{
return m_transformOperations;
diff --git a/third_party/WebKit/Source/platform/animation/CompositorTransformOperations.h b/third_party/WebKit/Source/platform/animation/CompositorTransformOperations.h
index 63be715..d21d11b 100644
--- a/third_party/WebKit/Source/platform/animation/CompositorTransformOperations.h
+++ b/third_party/WebKit/Source/platform/animation/CompositorTransformOperations.h
@@ -17,24 +17,23 @@ class PLATFORM_EXPORT CompositorTransformOperations {
WTF_MAKE_NONCOPYABLE(CompositorTransformOperations);
public:
CompositorTransformOperations();
- virtual ~CompositorTransformOperations();
const cc::TransformOperations& asTransformOperations() const;
// Returns true if these operations can be blended. It will only return
// false if we must resort to matrix interpolation, and matrix interpolation
// fails (this can happen if either matrix cannot be decomposed).
- virtual bool canBlendWith(const CompositorTransformOperations& other) const;
+ bool canBlendWith(const CompositorTransformOperations& other) const;
- virtual void appendTranslate(double x, double y, double z);
- virtual void appendRotate(double x, double y, double z, double degrees);
- virtual void appendScale(double x, double y, double z);
- virtual void appendSkew(double x, double y);
- virtual void appendPerspective(double depth);
- virtual void appendMatrix(const SkMatrix44&);
- virtual void appendIdentity();
+ void appendTranslate(double x, double y, double z);
+ void appendRotate(double x, double y, double z, double degrees);
+ void appendScale(double x, double y, double z);
+ void appendSkew(double x, double y);
+ void appendPerspective(double depth);
+ void appendMatrix(const SkMatrix44&);
+ void appendIdentity();
- virtual bool isIdentity() const;
+ bool isIdentity() const;
private:
cc::TransformOperations m_transformOperations;
diff --git a/third_party/WebKit/Source/platform/blink_platform.gypi b/third_party/WebKit/Source/platform/blink_platform.gypi
index 8bcdff7..4bad7ff 100644
--- a/third_party/WebKit/Source/platform/blink_platform.gypi
+++ b/third_party/WebKit/Source/platform/blink_platform.gypi
@@ -147,6 +147,8 @@
'Widget.cpp',
'Widget.h',
'WindowsKeyboardCodes.h',
+ 'animation/AnimationTranslationUtil.cpp',
+ 'animation/AnimationTranslationUtil.h',
'animation/AnimationUtilities.h',
'animation/CubicBezierControlPoints.cpp',
'animation/CubicBezierControlPoints.h',
@@ -1103,6 +1105,7 @@
'UUIDTest.cpp',
'WebScreenInfoTest.cpp',
'WebVectorTest.cpp',
+ 'animation/AnimationTranslationUtilTest.cpp',
'animation/TimingFunctionTest.cpp',
'animation/UnitBezierTest.cpp',
'animation/CompositorAnimationPlayerTest.cpp',
diff --git a/third_party/WebKit/Source/platform/graphics/CompositorFilterOperations.cpp b/third_party/WebKit/Source/platform/graphics/CompositorFilterOperations.cpp
index f575c1f..0c5de98 100644
--- a/third_party/WebKit/Source/platform/graphics/CompositorFilterOperations.cpp
+++ b/third_party/WebKit/Source/platform/graphics/CompositorFilterOperations.cpp
@@ -13,10 +13,6 @@ CompositorFilterOperations::CompositorFilterOperations()
{
}
-CompositorFilterOperations::~CompositorFilterOperations()
-{
-}
-
const cc::FilterOperations& CompositorFilterOperations::asFilterOperations() const
{
return m_filterOperations;
diff --git a/third_party/WebKit/Source/platform/graphics/CompositorFilterOperations.h b/third_party/WebKit/Source/platform/graphics/CompositorFilterOperations.h
index 97368e4..c5c0f2e 100644
--- a/third_party/WebKit/Source/platform/graphics/CompositorFilterOperations.h
+++ b/third_party/WebKit/Source/platform/graphics/CompositorFilterOperations.h
@@ -21,29 +21,28 @@ class PLATFORM_EXPORT CompositorFilterOperations {
WTF_MAKE_NONCOPYABLE(CompositorFilterOperations);
public:
CompositorFilterOperations();
- virtual ~CompositorFilterOperations();
const cc::FilterOperations& asFilterOperations() const;
- virtual void appendGrayscaleFilter(float amount);
- virtual void appendSepiaFilter(float amount);
- virtual void appendSaturateFilter(float amount);
- virtual void appendHueRotateFilter(float amount);
- virtual void appendInvertFilter(float amount);
- virtual void appendBrightnessFilter(float amount);
- virtual void appendContrastFilter(float amount);
- virtual void appendOpacityFilter(float amount);
- virtual void appendBlurFilter(float amount);
- virtual void appendDropShadowFilter(IntPoint offset, float stdDeviation, Color);
- virtual void appendColorMatrixFilter(SkScalar matrix[20]);
- virtual void appendZoomFilter(float amount, int inset);
- virtual void appendSaturatingBrightnessFilter(float amount);
+ void appendGrayscaleFilter(float amount);
+ void appendSepiaFilter(float amount);
+ void appendSaturateFilter(float amount);
+ void appendHueRotateFilter(float amount);
+ void appendInvertFilter(float amount);
+ void appendBrightnessFilter(float amount);
+ void appendContrastFilter(float amount);
+ void appendOpacityFilter(float amount);
+ void appendBlurFilter(float amount);
+ void appendDropShadowFilter(IntPoint offset, float stdDeviation, Color);
+ void appendColorMatrixFilter(SkScalar matrix[20]);
+ void appendZoomFilter(float amount, int inset);
+ void appendSaturatingBrightnessFilter(float amount);
// This grabs a ref on the passed-in filter.
- virtual void appendReferenceFilter(SkImageFilter*);
+ void appendReferenceFilter(SkImageFilter*);
- virtual void clear();
- virtual bool isEmpty() const;
+ void clear();
+ bool isEmpty() const;
private:
cc::FilterOperations m_filterOperations;