Home | History | Annotate | Download | only in blink
      1 // Copyright 2014 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 #ifndef CC_BLINK_WEB_SCROLL_OFFSET_ANIMATION_CURVE_IMPL_H_
      6 #define CC_BLINK_WEB_SCROLL_OFFSET_ANIMATION_CURVE_IMPL_H_
      7 
      8 #include "base/memory/scoped_ptr.h"
      9 #include "cc/blink/cc_blink_export.h"
     10 #include "third_party/WebKit/public/platform/WebScrollOffsetAnimationCurve.h"
     11 
     12 namespace cc {
     13 class AnimationCurve;
     14 class ScrollOffsetAnimationCurve;
     15 }
     16 
     17 namespace cc_blink {
     18 
     19 class WebScrollOffsetAnimationCurveImpl
     20     : public blink::WebScrollOffsetAnimationCurve {
     21  public:
     22   CC_BLINK_EXPORT WebScrollOffsetAnimationCurveImpl(
     23       blink::WebFloatPoint target_value,
     24       TimingFunctionType timing_function);
     25   virtual ~WebScrollOffsetAnimationCurveImpl();
     26 
     27   // blink::WebCompositorAnimationCurve implementation.
     28   virtual AnimationCurveType type() const;
     29 
     30   // blink::WebScrollOffsetAnimationCurve implementation.
     31   virtual void setInitialValue(blink::WebFloatPoint initial_value);
     32   virtual blink::WebFloatPoint getValue(double time) const;
     33   virtual double duration() const;
     34 
     35   scoped_ptr<cc::AnimationCurve> CloneToAnimationCurve() const;
     36 
     37  private:
     38   scoped_ptr<cc::ScrollOffsetAnimationCurve> curve_;
     39 
     40   DISALLOW_COPY_AND_ASSIGN(WebScrollOffsetAnimationCurveImpl);
     41 };
     42 
     43 }  // namespace cc_blink
     44 
     45 #endif  // CC_BLINK_WEB_SCROLL_OFFSET_ANIMATION_CURVE_IMPL_H_
     46