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

Side by Side Diff: third_party/WebKit/Source/core/animation/InterpolableValue.h

Issue 2043273002: Defer compositor keyframe snapshots until the next style resolve (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased Created 4 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 InterpolableValue_h 5 #ifndef InterpolableValue_h
6 #define InterpolableValue_h 6 #define InterpolableValue_h
7 7
8 #include "core/CoreExport.h" 8 #include "core/CoreExport.h"
9 #include "core/animation/animatable/AnimatableValue.h" 9 #include "core/animation/animatable/AnimatableValue.h"
10 #include "platform/heap/Handle.h" 10 #include "platform/heap/Handle.h"
(...skipping 21 matching lines...) Expand all
32 virtual void scaleAndAdd(double scale, const InterpolableValue& other) = 0; 32 virtual void scaleAndAdd(double scale, const InterpolableValue& other) = 0;
33 33
34 private: 34 private:
35 virtual void interpolate(const InterpolableValue& to, const double progress, InterpolableValue& result) const = 0; 35 virtual void interpolate(const InterpolableValue& to, const double progress, InterpolableValue& result) const = 0;
36 36
37 friend class Interpolation; 37 friend class Interpolation;
38 friend class PairwisePrimitiveInterpolation; 38 friend class PairwisePrimitiveInterpolation;
39 39
40 // Keep interpolate private, but allow calls within the hierarchy without 40 // Keep interpolate private, but allow calls within the hierarchy without
41 // knowledge of type. 41 // knowledge of type.
42 friend class DeferredLegacyStyleInterpolation;
43 friend class InterpolableNumber; 42 friend class InterpolableNumber;
44 friend class InterpolableBool; 43 friend class InterpolableBool;
45 friend class InterpolableList; 44 friend class InterpolableList;
46 45
47 friend class AnimationInterpolableValueTest; 46 friend class AnimationInterpolableValueTest;
48 }; 47 };
49 48
50 class CORE_EXPORT InterpolableNumber final : public InterpolableValue { 49 class CORE_EXPORT InterpolableNumber final : public InterpolableValue {
51 public: 50 public:
52 static std::unique_ptr<InterpolableNumber> create(double value) 51 static std::unique_ptr<InterpolableNumber> create(double value)
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
190 }; 189 };
191 190
192 DEFINE_TYPE_CASTS(InterpolableNumber, InterpolableValue, value, value->isNumber( ), value.isNumber()); 191 DEFINE_TYPE_CASTS(InterpolableNumber, InterpolableValue, value, value->isNumber( ), value.isNumber());
193 DEFINE_TYPE_CASTS(InterpolableBool, InterpolableValue, value, value->isBool(), v alue.isBool()); 192 DEFINE_TYPE_CASTS(InterpolableBool, InterpolableValue, value, value->isBool(), v alue.isBool());
194 DEFINE_TYPE_CASTS(InterpolableList, InterpolableValue, value, value->isList(), v alue.isList()); 193 DEFINE_TYPE_CASTS(InterpolableList, InterpolableValue, value, value->isList(), v alue.isList());
195 DEFINE_TYPE_CASTS(InterpolableAnimatableValue, InterpolableValue, value, value-> isAnimatableValue(), value.isAnimatableValue()); 194 DEFINE_TYPE_CASTS(InterpolableAnimatableValue, InterpolableValue, value, value-> isAnimatableValue(), value.isAnimatableValue());
196 195
197 } // namespace blink 196 } // namespace blink
198 197
199 #endif 198 #endif
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/animation/InertEffect.h ('k') | third_party/WebKit/Source/core/animation/Keyframe.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698