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"
17 class WebCompositorAnimationCurve
;
22 class WebCompositorAnimationImpl
: public blink::WebCompositorAnimation
{
24 CC_BLINK_EXPORT
WebCompositorAnimationImpl(
25 const blink::WebCompositorAnimationCurve
& curve
,
26 TargetProperty target
,
29 virtual ~WebCompositorAnimationImpl();
31 // blink::WebCompositorAnimation implementation
33 virtual TargetProperty
targetProperty() const;
34 #if WEB_ANIMATION_SUPPORTS_FRACTIONAL_ITERATIONS
35 virtual double iterations() const;
36 virtual void setIterations(double iterations
);
38 virtual int iterations() const;
39 virtual void setIterations(int iterations
);
41 virtual double startTime() const;
42 virtual void setStartTime(double monotonic_time
);
43 virtual double timeOffset() const;
44 virtual void setTimeOffset(double monotonic_time
);
45 #if WEB_ANIMATION_SUPPORTS_FULL_DIRECTION
46 virtual Direction
direction() const;
47 virtual void setDirection(Direction
);
49 virtual bool alternatesDirection() const;
50 virtual void setAlternatesDirection(bool alternates
);
52 virtual double playbackRate() const;
53 virtual void setPlaybackRate(double playback_rate
);
55 scoped_ptr
<cc::Animation
> PassAnimation();
58 scoped_ptr
<cc::Animation
> animation_
;
60 DISALLOW_COPY_AND_ASSIGN(WebCompositorAnimationImpl
);
63 } // namespace cc_blink
65 #endif // CC_BLINK_WEB_ANIMATION_IMPL_H_