// 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/animation/animation_curve.h" #include "base/logging.h" #include "cc/animation/scroll_offset_animation_curve.h" namespace cc { const ColorAnimationCurve* AnimationCurve::ToColorAnimationCurve() const { DCHECK(Type() == AnimationCurve::COLOR); return static_cast(this); } AnimationCurve::CurveType ColorAnimationCurve::Type() const { return COLOR; } const FloatAnimationCurve* AnimationCurve::ToFloatAnimationCurve() const { DCHECK(Type() == AnimationCurve::FLOAT); return static_cast(this); } AnimationCurve::CurveType FloatAnimationCurve::Type() const { return FLOAT; } const TransformAnimationCurve* AnimationCurve::ToTransformAnimationCurve() const { DCHECK(Type() == AnimationCurve::TRANSFORM); return static_cast(this); } AnimationCurve::CurveType TransformAnimationCurve::Type() const { return TRANSFORM; } const FilterAnimationCurve* AnimationCurve::ToFilterAnimationCurve() const { DCHECK(Type() == AnimationCurve::FILTER); return static_cast(this); } AnimationCurve::CurveType FilterAnimationCurve::Type() const { return FILTER; } const ScrollOffsetAnimationCurve* AnimationCurve::ToScrollOffsetAnimationCurve() const { DCHECK(Type() == AnimationCurve::SCROLL_OFFSET); return static_cast(this); } ScrollOffsetAnimationCurve* AnimationCurve::ToScrollOffsetAnimationCurve() { DCHECK(Type() == AnimationCurve::SCROLL_OFFSET); return static_cast(this); } } // namespace cc