diff options
Diffstat (limited to 'src/3rdparty/webkit/WebCore/platform/graphics/transforms/TransformOperation.h')
-rw-r--r-- | src/3rdparty/webkit/WebCore/platform/graphics/transforms/TransformOperation.h | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/transforms/TransformOperation.h b/src/3rdparty/webkit/WebCore/platform/graphics/transforms/TransformOperation.h index 65a0defe85..c610c4bbe6 100644 --- a/src/3rdparty/webkit/WebCore/platform/graphics/transforms/TransformOperation.h +++ b/src/3rdparty/webkit/WebCore/platform/graphics/transforms/TransformOperation.h @@ -39,9 +39,16 @@ public: enum OperationType { SCALE_X, SCALE_Y, SCALE, TRANSLATE_X, TRANSLATE_Y, TRANSLATE, - ROTATE, + ROTATE, + ROTATE_Z = ROTATE, SKEW_X, SKEW_Y, SKEW, - MATRIX, IDENTITY, NONE + MATRIX, + SCALE_Z, SCALE_3D, + TRANSLATE_Z, TRANSLATE_3D, + ROTATE_X, ROTATE_Y, ROTATE_3D, + MATRIX_3D, + PERSPECTIVE, + IDENTITY, NONE }; virtual ~TransformOperation() { } @@ -51,12 +58,27 @@ public: virtual bool isIdentity() const = 0; + // Return true if the borderBoxSize was used in the computation, false otherwise. virtual bool apply(TransformationMatrix&, const IntSize& borderBoxSize) const = 0; virtual PassRefPtr<TransformOperation> blend(const TransformOperation* from, double progress, bool blendToIdentity = false) = 0; virtual OperationType getOperationType() const = 0; virtual bool isSameType(const TransformOperation&) const { return false; } + + bool is3DOperation() const + { + OperationType opType = getOperationType(); + return opType == SCALE_Z || + opType == SCALE_3D || + opType == TRANSLATE_Z || + opType == TRANSLATE_3D || + opType == ROTATE_X || + opType == ROTATE_Y || + opType == ROTATE_3D || + opType == MATRIX_3D || + opType == PERSPECTIVE; + } }; } // namespace WebCore |