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