| Index: third_party/WebKit/Source/platform/transforms/RotateTransformOperation.h
|
| diff --git a/third_party/WebKit/Source/platform/transforms/RotateTransformOperation.h b/third_party/WebKit/Source/platform/transforms/RotateTransformOperation.h
|
| index c92f6ae71661a481c7acfb843faf3be1ed615cfc..e1f0cc434ac338518a001acfdcb592d95e9c3b36 100644
|
| --- a/third_party/WebKit/Source/platform/transforms/RotateTransformOperation.h
|
| +++ b/third_party/WebKit/Source/platform/transforms/RotateTransformOperation.h
|
| @@ -31,8 +31,7 @@
|
|
|
| namespace blink {
|
|
|
| -class PLATFORM_EXPORT RotateTransformOperation final
|
| - : public TransformOperation {
|
| +class PLATFORM_EXPORT RotateTransformOperation : public TransformOperation {
|
| public:
|
| static PassRefPtr<RotateTransformOperation> create(double angle,
|
| OperationType type) {
|
| @@ -49,6 +48,7 @@ class PLATFORM_EXPORT RotateTransformOperation final
|
|
|
| static PassRefPtr<RotateTransformOperation> create(const Rotation& rotation,
|
| OperationType type) {
|
| + DCHECK(isMatchingOperationType(type));
|
| return adoptRef(new RotateTransformOperation(rotation, type));
|
| }
|
|
|
| @@ -77,17 +77,16 @@ class PLATFORM_EXPORT RotateTransformOperation final
|
| type == RotateZ || type == Rotate3D;
|
| }
|
|
|
| - private:
|
| + protected:
|
| bool operator==(const TransformOperation&) const override;
|
|
|
| PassRefPtr<TransformOperation> blend(const TransformOperation* from,
|
| double progress,
|
| bool blendToIdentity = false) override;
|
| - PassRefPtr<TransformOperation> zoom(double factor) final { return this; }
|
| + PassRefPtr<TransformOperation> zoom(double factor) override { return this; }
|
|
|
| RotateTransformOperation(const Rotation& rotation, OperationType type)
|
| : m_rotation(rotation), m_type(type) {
|
| - ASSERT(isMatchingOperationType(type));
|
| }
|
|
|
| const Rotation m_rotation;
|
| @@ -96,6 +95,39 @@ class PLATFORM_EXPORT RotateTransformOperation final
|
|
|
| DEFINE_TRANSFORM_TYPE_CASTS(RotateTransformOperation);
|
|
|
| +class PLATFORM_EXPORT RotateAroundOriginTransformOperation final
|
| + : public RotateTransformOperation {
|
| + public:
|
| + static PassRefPtr<RotateAroundOriginTransformOperation>
|
| + create(double angle, double originX, double originY) {
|
| + return adoptRef(
|
| + new RotateAroundOriginTransformOperation(angle, originX, originY));
|
| + }
|
| +
|
| + void apply(TransformationMatrix&, const FloatSize&) const override;
|
| +
|
| + static bool isMatchingOperationType(OperationType type) {
|
| + return type == RotateAroundOrigin;
|
| + }
|
| +
|
| + private:
|
| + RotateAroundOriginTransformOperation(double angle,
|
| + double originX,
|
| + double originY);
|
| +
|
| + bool operator==(const TransformOperation&) const override;
|
| +
|
| + PassRefPtr<TransformOperation> blend(const TransformOperation* from,
|
| + double progress,
|
| + bool blendToIdentity = false) override;
|
| + PassRefPtr<TransformOperation> zoom(double factor) override;
|
| +
|
| + double m_originX;
|
| + double m_originY;
|
| +};
|
| +
|
| +DEFINE_TRANSFORM_TYPE_CASTS(RotateAroundOriginTransformOperation);
|
| +
|
| } // namespace blink
|
|
|
| #endif // RotateTransformOperation_h
|
|
|