OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2013 Google Inc. All rights reserved. | 2 * Copyright (C) 2013 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 20 matching lines...) Expand all Loading... |
31 #ifndef AnimatableLengthBox_h | 31 #ifndef AnimatableLengthBox_h |
32 #define AnimatableLengthBox_h | 32 #define AnimatableLengthBox_h |
33 | 33 |
34 #include "core/animation/AnimatableValue.h" | 34 #include "core/animation/AnimatableValue.h" |
35 | 35 |
36 namespace WebCore { | 36 namespace WebCore { |
37 | 37 |
38 class AnimatableLengthBox FINAL : public AnimatableValue { | 38 class AnimatableLengthBox FINAL : public AnimatableValue { |
39 public: | 39 public: |
40 virtual ~AnimatableLengthBox() { } | 40 virtual ~AnimatableLengthBox() { } |
41 static PassRefPtr<AnimatableLengthBox> create(PassRefPtr<AnimatableValue> le
ft, PassRefPtr<AnimatableValue> right, PassRefPtr<AnimatableValue> top, PassRefP
tr<AnimatableValue> bottom) | 41 static PassRefPtrWillBeRawPtr<AnimatableLengthBox> create(PassRefPtrWillBeRa
wPtr<AnimatableValue> left, PassRefPtrWillBeRawPtr<AnimatableValue> right, PassR
efPtrWillBeRawPtr<AnimatableValue> top, PassRefPtrWillBeRawPtr<AnimatableValue>
bottom) |
42 { | 42 { |
43 return adoptRef(new AnimatableLengthBox(left, right, top, bottom)); | 43 return adoptRefWillBeNoop(new AnimatableLengthBox(left, right, top, bott
om)); |
44 } | 44 } |
45 const AnimatableValue* left() const { return m_left.get(); } | 45 const AnimatableValue* left() const { return m_left.get(); } |
46 const AnimatableValue* right() const { return m_right.get(); } | 46 const AnimatableValue* right() const { return m_right.get(); } |
47 const AnimatableValue* top() const { return m_top.get(); } | 47 const AnimatableValue* top() const { return m_top.get(); } |
48 const AnimatableValue* bottom() const { return m_bottom.get(); } | 48 const AnimatableValue* bottom() const { return m_bottom.get(); } |
49 | 49 |
| 50 virtual void trace(Visitor*) OVERRIDE; |
| 51 |
50 protected: | 52 protected: |
51 virtual PassRefPtr<AnimatableValue> interpolateTo(const AnimatableValue*, do
uble fraction) const OVERRIDE; | 53 virtual PassRefPtrWillBeRawPtr<AnimatableValue> interpolateTo(const Animatab
leValue*, double fraction) const OVERRIDE; |
52 virtual PassRefPtr<AnimatableValue> addWith(const AnimatableValue*) const OV
ERRIDE; | 54 virtual PassRefPtrWillBeRawPtr<AnimatableValue> addWith(const AnimatableValu
e*) const OVERRIDE; |
53 | 55 |
54 private: | 56 private: |
55 AnimatableLengthBox(PassRefPtr<AnimatableValue> left, PassRefPtr<AnimatableV
alue> right, PassRefPtr<AnimatableValue> top, PassRefPtr<AnimatableValue> bottom
) | 57 AnimatableLengthBox(PassRefPtrWillBeRawPtr<AnimatableValue> left, PassRefPtr
WillBeRawPtr<AnimatableValue> right, PassRefPtrWillBeRawPtr<AnimatableValue> top
, PassRefPtrWillBeRawPtr<AnimatableValue> bottom) |
56 : m_left(left) | 58 : m_left(left) |
57 , m_right(right) | 59 , m_right(right) |
58 , m_top(top) | 60 , m_top(top) |
59 , m_bottom(bottom) | 61 , m_bottom(bottom) |
60 { | 62 { |
61 } | 63 } |
62 virtual AnimatableType type() const OVERRIDE { return TypeLengthBox; } | 64 virtual AnimatableType type() const OVERRIDE { return TypeLengthBox; } |
63 virtual bool equalTo(const AnimatableValue*) const OVERRIDE; | 65 virtual bool equalTo(const AnimatableValue*) const OVERRIDE; |
64 | 66 |
65 RefPtr<AnimatableValue> m_left; | 67 RefPtrWillBeMember<AnimatableValue> m_left; |
66 RefPtr<AnimatableValue> m_right; | 68 RefPtrWillBeMember<AnimatableValue> m_right; |
67 RefPtr<AnimatableValue> m_top; | 69 RefPtrWillBeMember<AnimatableValue> m_top; |
68 RefPtr<AnimatableValue> m_bottom; | 70 RefPtrWillBeMember<AnimatableValue> m_bottom; |
69 }; | 71 }; |
70 | 72 |
71 DEFINE_ANIMATABLE_VALUE_TYPE_CASTS(AnimatableLengthBox, isLengthBox()); | 73 DEFINE_ANIMATABLE_VALUE_TYPE_CASTS(AnimatableLengthBox, isLengthBox()); |
72 | 74 |
73 } // namespace WebCore | 75 } // namespace WebCore |
74 | 76 |
75 #endif // AnimatableLengthBox_h | 77 #endif // AnimatableLengthBox_h |
OLD | NEW |