Home | History | Annotate | Download | only in animation
      1 // Copyright 2012 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #include "cc/animation/animation_curve.h"
      6 
      7 #include "base/logging.h"
      8 
      9 namespace cc {
     10 
     11 const FloatAnimationCurve* AnimationCurve::ToFloatAnimationCurve() const {
     12   DCHECK(Type() == AnimationCurve::Float);
     13   return static_cast<const FloatAnimationCurve*>(this);
     14 }
     15 
     16 AnimationCurve::CurveType FloatAnimationCurve::Type() const {
     17   return Float;
     18 }
     19 
     20 const TransformAnimationCurve* AnimationCurve::ToTransformAnimationCurve()
     21     const {
     22   DCHECK(Type() == AnimationCurve::Transform);
     23   return static_cast<const TransformAnimationCurve*>(this);
     24 }
     25 
     26 AnimationCurve::CurveType TransformAnimationCurve::Type() const {
     27   return Transform;
     28 }
     29 
     30 const FilterAnimationCurve* AnimationCurve::ToFilterAnimationCurve() const {
     31   DCHECK(Type() == AnimationCurve::Filter);
     32   return static_cast<const FilterAnimationCurve*>(this);
     33 }
     34 
     35 AnimationCurve::CurveType FilterAnimationCurve::Type() const {
     36   return Filter;
     37 }
     38 
     39 }  // namespace cc
     40