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

Unified Diff: cc/active_animation.cc

Issue 11636051: Rename ActiveAnimation -> Animation (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 7 years, 11 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
« no previous file with comments | « cc/active_animation.h ('k') | cc/active_animation_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/active_animation.cc
diff --git a/cc/active_animation.cc b/cc/active_animation.cc
deleted file mode 100644
index bdc2c8dd363e3cdb581c0d6afb1edfdfe5d9642d..0000000000000000000000000000000000000000
--- a/cc/active_animation.cc
+++ /dev/null
@@ -1,208 +0,0 @@
-// Copyright 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "cc/active_animation.h"
-
-#include <cmath>
-
-#include "base/debug/trace_event.h"
-#include "base/string_util.h"
-#include "cc/animation_curve.h"
-
-namespace {
-
-// This should match the RunState enum.
-static const char* const s_runStateNames[] = {
- "WaitingForNextTick",
- "WaitingForTargetAvailability",
- "WaitingForStartTime",
- "WaitingForDeletion",
- "Running",
- "Paused",
- "Finished",
- "Aborted"
-};
-
-COMPILE_ASSERT(static_cast<int>(cc::ActiveAnimation::RunStateEnumSize) == arraysize(s_runStateNames), RunState_names_match_enum);
-
-// This should match the TargetProperty enum.
-static const char* const s_targetPropertyNames[] = {
- "Transform",
- "Opacity"
-};
-
-COMPILE_ASSERT(static_cast<int>(cc::ActiveAnimation::TargetPropertyEnumSize) == arraysize(s_targetPropertyNames), TargetProperty_names_match_enum);
-
-} // namespace
-
-namespace cc {
-
-scoped_ptr<ActiveAnimation> ActiveAnimation::create(scoped_ptr<AnimationCurve> curve, int animationId, int groupId, TargetProperty targetProperty)
-{
- return make_scoped_ptr(new ActiveAnimation(curve.Pass(), animationId, groupId, targetProperty));
-}
-
-ActiveAnimation::ActiveAnimation(scoped_ptr<AnimationCurve> curve, int animationId, int groupId, TargetProperty targetProperty)
- : m_curve(curve.Pass())
- , m_id(animationId)
- , m_group(groupId)
- , m_targetProperty(targetProperty)
- , m_runState(WaitingForTargetAvailability)
- , m_iterations(1)
- , m_startTime(0)
- , m_alternatesDirection(false)
- , m_timeOffset(0)
- , m_needsSynchronizedStartTime(false)
- , m_suspended(false)
- , m_pauseTime(0)
- , m_totalPausedTime(0)
- , m_isControllingInstance(false)
-{
-}
-
-ActiveAnimation::~ActiveAnimation()
-{
- if (m_runState == Running || m_runState == Paused)
- setRunState(Aborted, 0);
-}
-
-void ActiveAnimation::setRunState(RunState runState, double monotonicTime)
-{
- if (m_suspended)
- return;
-
- char nameBuffer[256];
- base::snprintf(nameBuffer, sizeof(nameBuffer), "%s-%d%s", s_targetPropertyNames[m_targetProperty], m_group, m_isControllingInstance ? "(impl)" : "");
-
- bool isWaitingToStart = m_runState == WaitingForNextTick
- || m_runState == WaitingForTargetAvailability
- || m_runState == WaitingForStartTime;
-
- if (isWaitingToStart && runState == Running)
- TRACE_EVENT_ASYNC_BEGIN1("cc", "ActiveAnimation", this, "Name", TRACE_STR_COPY(nameBuffer));
-
- bool wasFinished = isFinished();
-
- const char* oldRunStateName = s_runStateNames[m_runState];
-
- if (runState == Running && m_runState == Paused)
- m_totalPausedTime += monotonicTime - m_pauseTime;
- else if (runState == Paused)
- m_pauseTime = monotonicTime;
- m_runState = runState;
-
- const char* newRunStateName = s_runStateNames[runState];
-
- if (!wasFinished && isFinished())
- TRACE_EVENT_ASYNC_END0("cc", "ActiveAnimation", this);
-
- char stateBuffer[256];
- base::snprintf(stateBuffer, sizeof(stateBuffer), "%s->%s", oldRunStateName, newRunStateName);
-
- TRACE_EVENT_INSTANT2("cc", "LayerAnimationController::setRunState", "Name", TRACE_STR_COPY(nameBuffer), "State", TRACE_STR_COPY(stateBuffer));
-}
-
-void ActiveAnimation::suspend(double monotonicTime)
-{
- setRunState(Paused, monotonicTime);
- m_suspended = true;
-}
-
-void ActiveAnimation::resume(double monotonicTime)
-{
- m_suspended = false;
- setRunState(Running, monotonicTime);
-}
-
-bool ActiveAnimation::isFinishedAt(double monotonicTime) const
-{
- if (isFinished())
- return true;
-
- if (m_needsSynchronizedStartTime)
- return false;
-
- return m_runState == Running
- && m_iterations >= 0
- && m_iterations * m_curve->duration() <= monotonicTime - startTime() - m_totalPausedTime;
-}
-
-double ActiveAnimation::trimTimeToCurrentIteration(double monotonicTime) const
-{
- double trimmed = monotonicTime + m_timeOffset;
-
- // If we're paused, time is 'stuck' at the pause time.
- if (m_runState == Paused)
- trimmed = m_pauseTime;
-
- // Returned time should always be relative to the start time and should subtract
- // all time spent paused.
- trimmed -= m_startTime + m_totalPausedTime;
-
- // Zero is always the start of the animation.
- if (trimmed <= 0)
- return 0;
-
- // Always return zero if we have no iterations.
- if (!m_iterations)
- return 0;
-
- // Don't attempt to trim if we have no duration.
- if (m_curve->duration() <= 0)
- return 0;
-
- // If less than an iteration duration, just return trimmed.
- if (trimmed < m_curve->duration())
- return trimmed;
-
- // If greater than or equal to the total duration, return iteration duration.
- if (m_iterations >= 0 && trimmed >= m_curve->duration() * m_iterations) {
- if (m_alternatesDirection && !(m_iterations % 2))
- return 0;
- return m_curve->duration();
- }
-
- // We need to know the current iteration if we're alternating.
- int iteration = static_cast<int>(trimmed / m_curve->duration());
-
- // Calculate x where trimmed = x + n * m_curve->duration() for some positive integer n.
- trimmed = fmod(trimmed, m_curve->duration());
-
- // If we're alternating and on an odd iteration, reverse the direction.
- if (m_alternatesDirection && iteration % 2 == 1)
- return m_curve->duration() - trimmed;
-
- return trimmed;
-}
-
-scoped_ptr<ActiveAnimation> ActiveAnimation::clone(InstanceType instanceType) const
-{
- return cloneAndInitialize(instanceType, m_runState, m_startTime);
-}
-
-scoped_ptr<ActiveAnimation> ActiveAnimation::cloneAndInitialize(InstanceType instanceType, RunState initialRunState, double startTime) const
-{
- scoped_ptr<ActiveAnimation> toReturn(new ActiveAnimation(m_curve->clone(), m_id, m_group, m_targetProperty));
- toReturn->m_runState = initialRunState;
- toReturn->m_iterations = m_iterations;
- toReturn->m_startTime = startTime;
- toReturn->m_pauseTime = m_pauseTime;
- toReturn->m_totalPausedTime = m_totalPausedTime;
- toReturn->m_timeOffset = m_timeOffset;
- toReturn->m_alternatesDirection = m_alternatesDirection;
- toReturn->m_isControllingInstance = instanceType == ControllingInstance;
- return toReturn.Pass();
-}
-
-void ActiveAnimation::pushPropertiesTo(ActiveAnimation* other) const
-{
- // Currently, we only push changes due to pausing and resuming animations on the main thread.
- if (m_runState == ActiveAnimation::Paused || other->m_runState == ActiveAnimation::Paused) {
- other->m_runState = m_runState;
- other->m_pauseTime = m_pauseTime;
- other->m_totalPausedTime = m_totalPausedTime;
- }
-}
-
-} // namespace cc
« no previous file with comments | « cc/active_animation.h ('k') | cc/active_animation_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698