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 CONTENT_RENDERER_COMPOSITOR_BINDINGS_WEB_SCROLL_OFFSET_ANIMATION_CURVE_IMPL_H_ 6 #define CONTENT_RENDERER_COMPOSITOR_BINDINGS_WEB_SCROLL_OFFSET_ANIMATION_CURVE_IMPL_H_ 7 8 #include "third_party/WebKit/public/platform/WebAnimationCurve.h" 9 10 #if WEB_SCROLL_OFFSET_ANIMATION_CURVE_IS_DEFINED 11 12 #include "base/memory/scoped_ptr.h" 13 #include "content/common/content_export.h" 14 #include "third_party/WebKit/public/platform/WebScrollOffsetAnimationCurve.h" 15 16 namespace cc { 17 class AnimationCurve; 18 class ScrollOffsetAnimationCurve; 19 } 20 21 namespace content { 22 23 class WebScrollOffsetAnimationCurveImpl 24 : public blink::WebScrollOffsetAnimationCurve { 25 public: 26 CONTENT_EXPORT WebScrollOffsetAnimationCurveImpl( 27 blink::WebFloatPoint target_value, 28 TimingFunctionType timing_function); 29 virtual ~WebScrollOffsetAnimationCurveImpl(); 30 31 // blink::WebAnimationCurve implementation. 32 virtual AnimationCurveType type() const; 33 34 // blink::WebScrollOffsetAnimationCurve implementation. 35 virtual void setInitialValue(blink::WebFloatPoint initial_value); 36 virtual blink::WebFloatPoint getValue(double time) const; 37 virtual double duration() const; 38 39 scoped_ptr<cc::AnimationCurve> CloneToAnimationCurve() const; 40 41 private: 42 scoped_ptr<cc::ScrollOffsetAnimationCurve> curve_; 43 44 DISALLOW_COPY_AND_ASSIGN(WebScrollOffsetAnimationCurveImpl); 45 }; 46 47 } // namespace content 48 49 #endif // WEB_SCROLL_OFFSET_ANIMATION_CURVE_IS_DEFINED 50 51 #endif // CONTENT_RENDERER_COMPOSITOR_BINDINGS_WEB_SCROLL_OFFSET_ANIMATION_CURVE_IMPL_H_ 52 53