Home | History | Annotate | Download | only in compositor_bindings
      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 #ifndef WEBKIT_RENDERER_COMPOSITOR_BINDINGS_WEB_FLOAT_ANIMATION_CURVE_IMPL_H_
      6 #define WEBKIT_RENDERER_COMPOSITOR_BINDINGS_WEB_FLOAT_ANIMATION_CURVE_IMPL_H_
      7 
      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"
     11 
     12 namespace cc {
     13 class AnimationCurve;
     14 class KeyframedFloatAnimationCurve;
     15 }
     16 
     17 namespace WebKit { struct WebFloatKeyframe; }
     18 
     19 namespace webkit {
     20 
     21 class WebFloatAnimationCurveImpl : public WebKit::WebFloatAnimationCurve {
     22  public:
     23   WEBKIT_COMPOSITOR_BINDINGS_EXPORT WebFloatAnimationCurveImpl();
     24   virtual ~WebFloatAnimationCurveImpl();
     25 
     26   // WebAnimationCurve implementation.
     27   virtual AnimationCurveType type() const;
     28 
     29   // WebFloatAnimationCurve implementation.
     30   virtual void add(const WebKit::WebFloatKeyframe& keyframe);
     31   virtual void add(const WebKit::WebFloatKeyframe& keyframe,
     32                    TimingFunctionType type);
     33   virtual void add(const WebKit::WebFloatKeyframe& keyframe,
     34                    double x1,
     35                    double y1,
     36                    double x2,
     37                    double y2);
     38 
     39   virtual float getValue(double time) const;
     40 
     41   scoped_ptr<cc::AnimationCurve> CloneToAnimationCurve() const;
     42 
     43  private:
     44   scoped_ptr<cc::KeyframedFloatAnimationCurve> curve_;
     45 
     46   DISALLOW_COPY_AND_ASSIGN(WebFloatAnimationCurveImpl);
     47 };
     48 
     49 }  // namespace webkit
     50 
     51 #endif  // WEBKIT_RENDERER_COMPOSITOR_BINDINGS_WEB_FLOAT_ANIMATION_CURVE_IMPL_H_
     52