OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef InterpolationEffect_h | 5 #ifndef InterpolationEffect_h |
6 #define InterpolationEffect_h | 6 #define InterpolationEffect_h |
7 | 7 |
8 #include "core/animation/Interpolation.h" | 8 #include "core/animation/Interpolation.h" |
9 #include "platform/animation/TimingFunction.h" | 9 #include "platform/animation/TimingFunction.h" |
10 #include "wtf/PassOwnPtr.h" | 10 #include "wtf/PassOwnPtr.h" |
11 #include "wtf/RefCounted.h" | 11 #include "wtf/RefCounted.h" |
12 | 12 |
13 namespace WebCore { | 13 namespace WebCore { |
14 | 14 |
15 class InterpolationEffect : public RefCounted<InterpolationEffect> { | 15 class InterpolationEffect : public RefCountedWillBeGarbageCollected<Interpolatio
nEffect> { |
16 public: | 16 public: |
17 static PassRefPtr<InterpolationEffect> create() { return adoptRef(new Interp
olationEffect()); } | 17 static PassRefPtrWillBeRawPtr<InterpolationEffect> create() { return adoptRe
fWillBeNoop(new InterpolationEffect()); } |
18 | 18 |
19 PassOwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation> >
> getActiveInterpolations(double fraction, double iterationDuration) const; | 19 PassOwnPtrWillBeRawPtr<WillBeHeapVector<RefPtrWillBeMember<Interpolation> >
> getActiveInterpolations(double fraction, double iterationDuration) const; |
20 | 20 |
21 void addInterpolation(PassRefPtrWillBeRawPtr<Interpolation> interpolation, P
assRefPtr<TimingFunction> easing, double start, double end, double applyFrom, do
uble applyTo) | 21 void addInterpolation(PassRefPtrWillBeRawPtr<Interpolation> interpolation, P
assRefPtr<TimingFunction> easing, double start, double end, double applyFrom, do
uble applyTo) |
22 { | 22 { |
23 m_interpolations.append(InterpolationRecord::create(interpolation, easin
g, start, end, applyFrom, applyTo)); | 23 m_interpolations.append(InterpolationRecord::create(interpolation, easin
g, start, end, applyFrom, applyTo)); |
24 } | 24 } |
25 | 25 |
| 26 void trace(Visitor*); |
| 27 |
26 private: | 28 private: |
27 InterpolationEffect() | 29 InterpolationEffect() |
28 { | 30 { |
29 } | 31 } |
30 | 32 |
31 class InterpolationRecord : public NoBaseWillBeGarbageCollected<Interpolatio
nRecord> { | 33 class InterpolationRecord : public NoBaseWillBeGarbageCollected<Interpolatio
nRecord> { |
32 public: | 34 public: |
33 RefPtrWillBeMember<Interpolation> m_interpolation; | 35 RefPtrWillBeMember<Interpolation> m_interpolation; |
34 RefPtr<TimingFunction> m_easing; | 36 RefPtr<TimingFunction> m_easing; |
35 double m_start; | 37 double m_start; |
(...skipping 13 matching lines...) Expand all Loading... |
49 : m_interpolation(interpolation) | 51 : m_interpolation(interpolation) |
50 , m_easing(easing) | 52 , m_easing(easing) |
51 , m_start(start) | 53 , m_start(start) |
52 , m_end(end) | 54 , m_end(end) |
53 , m_applyFrom(applyFrom) | 55 , m_applyFrom(applyFrom) |
54 , m_applyTo(applyTo) | 56 , m_applyTo(applyTo) |
55 { | 57 { |
56 } | 58 } |
57 }; | 59 }; |
58 | 60 |
59 WillBePersistentHeapVector<OwnPtrWillBeMember<InterpolationRecord> > m_inter
polations; | 61 WillBeHeapVector<OwnPtrWillBeMember<InterpolationRecord> > m_interpolations; |
60 }; | 62 }; |
61 | 63 |
62 } | 64 } |
63 | 65 |
64 #endif | 66 #endif |
OLD | NEW |