summaryrefslogtreecommitdiff
path: root/src/3rdparty/webkit/WebCore/platform/graphics/transforms/TransformOperation.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/webkit/WebCore/platform/graphics/transforms/TransformOperation.h')
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/transforms/TransformOperation.h26
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