Index: cc/animation/keyframed_animation_curve.cc |
diff --git a/cc/animation/keyframed_animation_curve.cc b/cc/animation/keyframed_animation_curve.cc |
index bcf067ebb74b1f79a7416b33fd7f6f9070271f24..7869d2f48995dfa0361849192a6b1a202ee2ee86 100644 |
--- a/cc/animation/keyframed_animation_curve.cc |
+++ b/cc/animation/keyframed_animation_curve.cc |
@@ -366,7 +366,8 @@ bool KeyframedTransformAnimationCurve::IsTranslation() const { |
return true; |
} |
-bool KeyframedTransformAnimationCurve::MaximumScale(float* max_scale) const { |
+bool KeyframedTransformAnimationCurve::MaximumTargetScale( |
+ float* max_scale) const { |
DCHECK_GE(keyframes_.size(), 2ul); |
*max_scale = 0.f; |
for (size_t i = 1; i < keyframes_.size(); ++i) { |
@@ -375,14 +376,14 @@ bool KeyframedTransformAnimationCurve::MaximumScale(float* max_scale) const { |
if (keyframes_[i - 1]->timing_function()) |
keyframes_[i - 1]->timing_function()->Range(&min_progress, &max_progress); |
- float max_scale_for_segment = 0.f; |
- if (!keyframes_[i]->Value().MaximumScale(keyframes_[i - 1]->Value(), |
- min_progress, |
- max_progress, |
- &max_scale_for_segment)) |
+ gfx::Vector3dF target_scale_for_segment; |
+ if (!keyframes_[i]->Value().ScaleComponent(&target_scale_for_segment)) |
return false; |
- |
- *max_scale = std::max(*max_scale, max_scale_for_segment); |
+ float max_scale_for_segment = |
+ fmax(std::abs(target_scale_for_segment.x()), |
vmpstr
2014/10/10 00:50:48
Why fmax?
danakj
2014/10/10 01:00:19
oops, I meant fmaxf
|
+ fmax(std::abs(target_scale_for_segment.y()), |
+ std::abs(target_scale_for_segment.z()))); |
+ *max_scale = fmax(*max_scale, max_scale_for_segment); |
} |
return true; |
} |