#include "platform/transforms/TransformOperation.h"
#include "platform/transforms/TransformOperations.h"
-namespace WebCore {
+namespace blink {
// This class is an implementation detail for deferred interpolations.
class PLATFORM_EXPORT InterpolatedTransformOperation : public TransformOperation {
return adoptRef(new InterpolatedTransformOperation(from, to, progress));
}
+ virtual bool canBlendWith(const TransformOperation& other) const
+ {
+ return isSameType(other);
+ }
+
private:
- virtual bool isIdentity() const { return false; }
+ virtual OperationType type() const OVERRIDE { return Interpolated; }
- virtual OperationType getOperationType() const { return Interpolated; }
- virtual bool isSameType(const TransformOperation& o) const { return o.getOperationType() == Interpolated; }
+ virtual bool operator==(const TransformOperation&) const OVERRIDE;
+ virtual void apply(TransformationMatrix&, const FloatSize& borderBoxSize) const OVERRIDE;
- virtual bool operator==(const TransformOperation&) const;
- virtual bool apply(TransformationMatrix&, const FloatSize& borderBoxSize) const;
+ virtual PassRefPtr<TransformOperation> blend(const TransformOperation* from, double progress, bool blendToIdentity = false) OVERRIDE;
- virtual PassRefPtr<TransformOperation> blend(const TransformOperation* from, double progress, bool blendToIdentity = false);
+ virtual bool dependsOnBoxSize() const OVERRIDE
+ {
+ return from.dependsOnBoxSize() || to.dependsOnBoxSize();
+ }
InterpolatedTransformOperation(const TransformOperations& from, const TransformOperations& to, double progress)
: from(from)
double progress;
};
-} // namespace WebCore
+} // namespace blink
#endif // InterpolatedTransformOperation_h