Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(800)

Side by Side Diff: Source/core/animation/interpolation/LegacyStyleInterpolation.h

Issue 370073002: Use type cast macro for AnimatableLengthPoint|3D instead of manual toFoo() (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Rebased Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 LegacyStyleInterpolation_h 5 #ifndef LegacyStyleInterpolation_h
6 #define LegacyStyleInterpolation_h 6 #define LegacyStyleInterpolation_h
7 7
8 #include "core/animation/interpolation/StyleInterpolation.h" 8 #include "core/animation/interpolation/StyleInterpolation.h"
9 #include "core/css/resolver/AnimatedStyleBuilder.h" 9 #include "core/css/resolver/AnimatedStyleBuilder.h"
10 10
11 namespace WebCore { 11 namespace WebCore {
12 12
13 class LegacyStyleInterpolation : public StyleInterpolation { 13 class LegacyStyleInterpolation : public StyleInterpolation {
14 public: 14 public:
15 static PassRefPtrWillBeRawPtr<LegacyStyleInterpolation> create(PassRefPtrWil lBeRawPtr<AnimatableValue> start, PassRefPtrWillBeRawPtr<AnimatableValue> end, C SSPropertyID id) 15 static PassRefPtrWillBeRawPtr<LegacyStyleInterpolation> create(PassRefPtrWil lBeRawPtr<AnimatableValue> start, PassRefPtrWillBeRawPtr<AnimatableValue> end, C SSPropertyID id)
16 { 16 {
17 return adoptRefWillBeNoop(new LegacyStyleInterpolation(InterpolableAnima tableValue::create(start), InterpolableAnimatableValue::create(end), id)); 17 return adoptRefWillBeNoop(new LegacyStyleInterpolation(InterpolableAnima tableValue::create(start), InterpolableAnimatableValue::create(end), id));
18 } 18 }
19 19
20 virtual void apply(StyleResolverState& state) const OVERRIDE 20 virtual void apply(StyleResolverState& state) const OVERRIDE
21 { 21 {
22 AnimatedStyleBuilder::applyProperty(m_id, state, currentValue().get()); 22 AnimatedStyleBuilder::applyProperty(m_id, state, currentValue().get());
23 } 23 }
24 24
25 virtual bool isLegacyStyleInterpolation() const OVERRIDE FINAL { return true ; } 25 virtual bool isLegacyStyleInterpolation() const OVERRIDE FINAL { return true ; }
26 PassRefPtrWillBeRawPtr<AnimatableValue> currentValue() const 26 PassRefPtrWillBeRawPtr<AnimatableValue> currentValue() const
27 { 27 {
28 InterpolableAnimatableValue* value = static_cast<InterpolableAnimatableV alue*>(m_cachedValue.get()); 28 return toInterpolableAnimatableValue(m_cachedValue.get())->value();
29 return value->value();
30 } 29 }
31 30
32 virtual void trace(Visitor* visitor) OVERRIDE 31 virtual void trace(Visitor* visitor) OVERRIDE
33 { 32 {
34 StyleInterpolation::trace(visitor); 33 StyleInterpolation::trace(visitor);
35 } 34 }
36 35
37 private: 36 private:
38 LegacyStyleInterpolation(PassOwnPtrWillBeRawPtr<InterpolableValue> start, Pa ssOwnPtrWillBeRawPtr<InterpolableValue> end, CSSPropertyID id) 37 LegacyStyleInterpolation(PassOwnPtrWillBeRawPtr<InterpolableValue> start, Pa ssOwnPtrWillBeRawPtr<InterpolableValue> end, CSSPropertyID id)
39 : StyleInterpolation(start, end, id) 38 : StyleInterpolation(start, end, id)
40 { 39 {
41 } 40 }
42 }; 41 };
43 42
44 DEFINE_TYPE_CASTS(LegacyStyleInterpolation, Interpolation, value, value->isLegac yStyleInterpolation(), value.isLegacyStyleInterpolation()); 43 DEFINE_TYPE_CASTS(LegacyStyleInterpolation, Interpolation, value, value->isLegac yStyleInterpolation(), value.isLegacyStyleInterpolation());
45 44
46 } 45 }
47 46
48 #endif 47 #endif
OLDNEW
« no previous file with comments | « Source/core/animation/animatable/AnimatableLengthPoint3D.h ('k') | Source/core/css/BasicShapeFunctions.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698