diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2019-02-13 16:23:34 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2019-02-14 10:37:21 +0000 |
commit | 38a9a29f4f9436cace7f0e7abf9c586057df8a4e (patch) | |
tree | c4e8c458dc595bc0ddb435708fa2229edfd00bd4 /chromium/third_party/blink/renderer/platform/transforms/transform_operations.h | |
parent | e684a3455bcc29a6e3e66a004e352dea4e1141e7 (diff) | |
download | qtwebengine-chromium-38a9a29f4f9436cace7f0e7abf9c586057df8a4e.tar.gz |
BASELINE: Update Chromium to 73.0.3683.37
Change-Id: I08c9af2948b645f671e5d933aca1f7a90ea372f2
Reviewed-by: Michael BrĂ¼ning <michael.bruning@qt.io>
Diffstat (limited to 'chromium/third_party/blink/renderer/platform/transforms/transform_operations.h')
-rw-r--r-- | chromium/third_party/blink/renderer/platform/transforms/transform_operations.h | 28 |
1 files changed, 22 insertions, 6 deletions
diff --git a/chromium/third_party/blink/renderer/platform/transforms/transform_operations.h b/chromium/third_party/blink/renderer/platform/transforms/transform_operations.h index b0d7f1aa8b4..e01e36b3d40 100644 --- a/chromium/third_party/blink/renderer/platform/transforms/transform_operations.h +++ b/chromium/third_party/blink/renderer/platform/transforms/transform_operations.h @@ -48,11 +48,21 @@ class PLATFORM_EXPORT TransformOperations { bool operator==(const TransformOperations& o) const; bool operator!=(const TransformOperations& o) const { return !(*this == o); } - void Apply(const FloatSize& sz, TransformationMatrix& t) const { + // Constructs a transformation matrix from the operations. The parameter + // |border_box_size| is used when computing styles that are size-dependent. + void Apply(const FloatSize& border_box_size, TransformationMatrix& t) const { for (auto& operation : operations_) - operation->Apply(t, sz); + operation->Apply(t, border_box_size); } + // Constructs a transformation matrix from the operations starting from index + // |start|. This process facilitates mixing pairwise operations for a common + // prefix and matrix interpolation for the remainder. The parameter + // |border_box_size| is used when computing styles that are size-dependent. + void ApplyRemaining(const FloatSize& border_box_size, + wtf_size_t start, + TransformationMatrix& t) const; + // Return true if any of the operation types are 3D operation types (even if // the values describe affine transforms) bool Has3DOperation() const { @@ -80,7 +90,7 @@ class PLATFORM_EXPORT TransformOperations { return false; } - bool OperationsMatch(const TransformOperations&) const; + wtf_size_t MatchingPrefixLength(const TransformOperations&) const; void clear() { operations_.clear(); } @@ -101,11 +111,17 @@ class PLATFORM_EXPORT TransformOperations { const double& min_progress, const double& max_progress, FloatBox* bounds) const; - TransformOperations BlendByMatchingOperations(const TransformOperations& from, - const double& progress) const; - scoped_refptr<TransformOperation> BlendByUsingMatrixInterpolation( + + TransformOperations BlendPrefixByMatchingOperations( const TransformOperations& from, + wtf_size_t matching_prefix_length, + double progress, + bool* success) const; + scoped_refptr<TransformOperation> BlendRemainingByUsingMatrixInterpolation( + const TransformOperations& from, + wtf_size_t matching_prefix_length, double progress) const; + TransformOperations Blend(const TransformOperations& from, double progress) const; TransformOperations Add(const TransformOperations& addend) const; |