Roll src/third_party/WebKit d9c6159:8139f33 (svn 201974:201975)
[chromium-blink-merge.git] / cc / blink / web_animation_impl.h
blob585df6a827a6a622f46fa7258f82a0078d673a5a
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.
5 #ifndef CC_BLINK_WEB_ANIMATION_IMPL_H_
6 #define CC_BLINK_WEB_ANIMATION_IMPL_H_
8 #include "base/memory/scoped_ptr.h"
9 #include "cc/blink/cc_blink_export.h"
10 #include "third_party/WebKit/public/platform/WebCompositorAnimation.h"
12 namespace cc {
13 class Animation;
16 namespace blink {
17 class WebCompositorAnimationCurve;
20 namespace cc_blink {
22 class WebCompositorAnimationImpl : public blink::WebCompositorAnimation {
23 public:
24 CC_BLINK_EXPORT WebCompositorAnimationImpl(
25 const blink::WebCompositorAnimationCurve& curve,
26 TargetProperty target,
27 int animation_id,
28 int group_id);
29 virtual ~WebCompositorAnimationImpl();
31 // blink::WebCompositorAnimation implementation
32 virtual int id();
33 virtual int group();
34 virtual TargetProperty targetProperty() const;
35 virtual double iterations() const;
36 virtual void setIterations(double iterations);
37 virtual double iterationStart() const;
38 virtual void setIterationStart(double iteration_start);
39 virtual double startTime() const;
40 virtual void setStartTime(double monotonic_time);
41 virtual double timeOffset() const;
42 virtual void setTimeOffset(double monotonic_time);
43 virtual Direction direction() const;
44 virtual void setDirection(Direction);
45 virtual double playbackRate() const;
46 virtual void setPlaybackRate(double playback_rate);
47 virtual FillMode fillMode() const;
48 virtual void setFillMode(blink::WebCompositorAnimation::FillMode fill_mode);
49 scoped_ptr<cc::Animation> PassAnimation();
51 private:
52 scoped_ptr<cc::Animation> animation_;
54 DISALLOW_COPY_AND_ASSIGN(WebCompositorAnimationImpl);
57 } // namespace cc_blink
59 #endif // CC_BLINK_WEB_ANIMATION_IMPL_H_