Roll leveldb to r78 / 1.15.
[chromium-blink-merge.git] / webkit / renderer / compositor_bindings / web_float_animation_curve_impl.h
blob99e186ddfcec7e6e28e8dc27ec13a2b123dc6733
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.
5 #ifndef WEBKIT_RENDERER_COMPOSITOR_BINDINGS_WEB_FLOAT_ANIMATION_CURVE_IMPL_H_
6 #define WEBKIT_RENDERER_COMPOSITOR_BINDINGS_WEB_FLOAT_ANIMATION_CURVE_IMPL_H_
8 #include "base/memory/scoped_ptr.h"
9 #include "third_party/WebKit/public/platform/WebFloatAnimationCurve.h"
10 #include "webkit/renderer/compositor_bindings/webkit_compositor_bindings_export.h"
12 namespace cc {
13 class AnimationCurve;
14 class KeyframedFloatAnimationCurve;
17 namespace blink { struct WebFloatKeyframe; }
19 namespace webkit {
21 class WebFloatAnimationCurveImpl : public blink::WebFloatAnimationCurve {
22 public:
23 WEBKIT_COMPOSITOR_BINDINGS_EXPORT WebFloatAnimationCurveImpl();
24 virtual ~WebFloatAnimationCurveImpl();
26 // WebAnimationCurve implementation.
27 virtual AnimationCurveType type() const;
29 // WebFloatAnimationCurve implementation.
30 virtual void add(const blink::WebFloatKeyframe& keyframe);
31 virtual void add(const blink::WebFloatKeyframe& keyframe,
32 TimingFunctionType type);
33 virtual void add(const blink::WebFloatKeyframe& keyframe,
34 double x1,
35 double y1,
36 double x2,
37 double y2);
39 virtual float getValue(double time) const;
41 scoped_ptr<cc::AnimationCurve> CloneToAnimationCurve() const;
43 private:
44 scoped_ptr<cc::KeyframedFloatAnimationCurve> curve_;
46 DISALLOW_COPY_AND_ASSIGN(WebFloatAnimationCurveImpl);
49 } // namespace webkit
51 #endif // WEBKIT_RENDERER_COMPOSITOR_BINDINGS_WEB_FLOAT_ANIMATION_CURVE_IMPL_H_