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 LengthPairStyleInterpolation_h | 5 #ifndef LengthPairStyleInterpolation_h |
6 #define LengthPairStyleInterpolation_h | 6 #define LengthPairStyleInterpolation_h |
7 | 7 |
8 #include "core/CoreExport.h" | 8 #include "core/CoreExport.h" |
9 #include "core/animation/StyleInterpolation.h" | 9 #include "core/animation/StyleInterpolation.h" |
10 #include "platform/Length.h" | 10 #include "platform/Length.h" |
11 | 11 |
12 namespace blink { | 12 namespace blink { |
13 | 13 |
14 class CORE_EXPORT LengthPairStyleInterpolation : public StyleInterpolation { | 14 class CORE_EXPORT LengthPairStyleInterpolation : public StyleInterpolation { |
15 public: | 15 public: |
16 static PassRefPtrWillBeRawPtr<LengthPairStyleInterpolation> create(const CSS
Value& start, const CSSValue& end, CSSPropertyID id, InterpolationRange range) | 16 static LengthPairStyleInterpolation* create(const CSSValue& start, const CSS
Value& end, CSSPropertyID id, InterpolationRange range) |
17 { | 17 { |
18 return adoptRefWillBeNoop(new LengthPairStyleInterpolation(lengthPairToI
nterpolableValue(start), lengthPairToInterpolableValue(end), id, range)); | 18 return new LengthPairStyleInterpolation(lengthPairToInterpolableValue(st
art), lengthPairToInterpolableValue(end), id, range); |
19 } | 19 } |
20 | 20 |
21 static bool canCreateFrom(const CSSValue&); | 21 static bool canCreateFrom(const CSSValue&); |
22 | 22 |
23 virtual void apply(StyleResolverState&) const override; | 23 virtual void apply(StyleResolverState&) const override; |
24 | 24 |
25 private: | 25 private: |
26 LengthPairStyleInterpolation(PassOwnPtrWillBeRawPtr<InterpolableValue> start
, PassOwnPtrWillBeRawPtr<InterpolableValue> end, CSSPropertyID id, Interpolation
Range range) | 26 LengthPairStyleInterpolation(InterpolableValue* start, InterpolableValue* en
d, CSSPropertyID id, InterpolationRange range) |
27 : StyleInterpolation(start, end, id), m_range(range) | 27 : StyleInterpolation(start, end, id), m_range(range) |
28 { | 28 { |
29 } | 29 } |
30 | 30 |
31 static PassOwnPtrWillBeRawPtr<InterpolableValue> lengthPairToInterpolableVal
ue(const CSSValue&); | 31 static InterpolableValue* lengthPairToInterpolableValue(const CSSValue&); |
32 static PassRefPtrWillBeRawPtr<CSSValue> interpolableValueToLengthPair(Interp
olableValue*, InterpolationRange); | 32 static PassRefPtrWillBeRawPtr<CSSValue> interpolableValueToLengthPair(Interp
olableValue*, InterpolationRange); |
33 | 33 |
34 InterpolationRange m_range; | 34 InterpolationRange m_range; |
35 | 35 |
36 friend class LengthPairStyleInterpolationTest; | 36 friend class LengthPairStyleInterpolationTest; |
37 }; | 37 }; |
38 | 38 |
39 } // namespace blink | 39 } // namespace blink |
40 | 40 |
41 #endif // LengthPairStyleInterpolation_h | 41 #endif // LengthPairStyleInterpolation_h |
OLD | NEW |