Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1190)

Unified Diff: cc/animation/timing_function.cc

Issue 2019613002: Blink Compositor Animation: Make Animation and Curve methods non-virtual. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add the check if keframe 0 is linear. Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: cc/animation/timing_function.cc
diff --git a/cc/animation/timing_function.cc b/cc/animation/timing_function.cc
index e33943cbdf711e1d81a3d078e93cd17ca05fc4d7..8e3069d054e5848d59ca482fd52cc72fda7b6bc7 100644
--- a/cc/animation/timing_function.cc
+++ b/cc/animation/timing_function.cc
@@ -20,29 +20,34 @@ std::unique_ptr<TimingFunction> CubicBezierTimingFunction::CreatePreset(
EaseType ease_type) {
switch (ease_type) {
case EaseType::EASE:
- return EaseTimingFunction::Create();
+ return base::WrapUnique(
+ new CubicBezierTimingFunction(EaseType::EASE, 0.25, 0.1, 0.25, 1.0));
case EaseType::EASE_IN:
- return EaseInTimingFunction::Create();
+ return base::WrapUnique(new CubicBezierTimingFunction(
+ EaseType::EASE_IN, 0.42, 0.0, 1.0, 1.0));
case EaseType::EASE_OUT:
- return EaseOutTimingFunction::Create();
+ return base::WrapUnique(new CubicBezierTimingFunction(
+ EaseType::EASE_OUT, 0.0, 0.0, 0.58, 1.0));
case EaseType::EASE_IN_OUT:
- return EaseInOutTimingFunction::Create();
+ return base::WrapUnique(new CubicBezierTimingFunction(
+ EaseType::EASE_IN_OUT, 0.42, 0.0, 0.58, 1));
default:
NOTREACHED();
return nullptr;
}
}
-
std::unique_ptr<CubicBezierTimingFunction>
CubicBezierTimingFunction::Create(double x1, double y1, double x2, double y2) {
- return base::WrapUnique(new CubicBezierTimingFunction(x1, y1, x2, y2));
+ return base::WrapUnique(
+ new CubicBezierTimingFunction(EaseType::CUSTOM, x1, y1, x2, y2));
}
-CubicBezierTimingFunction::CubicBezierTimingFunction(double x1,
+CubicBezierTimingFunction::CubicBezierTimingFunction(EaseType ease_type,
+ double x1,
double y1,
double x2,
double y2)
- : bezier_(x1, y1, x2, y2) {}
+ : bezier_(x1, y1, x2, y2), ease_type_(ease_type) {}
CubicBezierTimingFunction::~CubicBezierTimingFunction() {}
@@ -66,19 +71,23 @@ std::unique_ptr<TimingFunction> CubicBezierTimingFunction::Clone() const {
// These numbers come from
// http://www.w3.org/TR/css3-transitions/#transition-timing-function_tag.
std::unique_ptr<TimingFunction> EaseTimingFunction::Create() {
- return CubicBezierTimingFunction::Create(0.25, 0.1, 0.25, 1.0);
+ return CubicBezierTimingFunction::CreatePreset(
+ CubicBezierTimingFunction::EaseType::EASE);
}
std::unique_ptr<TimingFunction> EaseInTimingFunction::Create() {
- return CubicBezierTimingFunction::Create(0.42, 0.0, 1.0, 1.0);
+ return CubicBezierTimingFunction::CreatePreset(
+ CubicBezierTimingFunction::EaseType::EASE_IN);
}
std::unique_ptr<TimingFunction> EaseOutTimingFunction::Create() {
- return CubicBezierTimingFunction::Create(0.0, 0.0, 0.58, 1.0);
+ return CubicBezierTimingFunction::CreatePreset(
+ CubicBezierTimingFunction::EaseType::EASE_OUT);
}
std::unique_ptr<TimingFunction> EaseInOutTimingFunction::Create() {
- return CubicBezierTimingFunction::Create(0.42, 0.0, 0.58, 1);
+ return CubicBezierTimingFunction::CreatePreset(
+ CubicBezierTimingFunction::EaseType::EASE_IN_OUT);
}
std::unique_ptr<StepsTimingFunction> StepsTimingFunction::Create(

Powered by Google App Engine
This is Rietveld 408576698