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

Unified Diff: Source/core/animation/KeyframeEffectModel.h

Issue 143573004: [wip] interpolable value refactor. NOT FOR LANDING. Base URL: https://chromium.googlesource.com/chromium/blink.git@interpolationWrap
Patch Set: Created 6 years, 11 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/core/animation/InterpolationEffect.cpp ('k') | Source/core/animation/KeyframeEffectModel.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/animation/KeyframeEffectModel.h
diff --git a/Source/core/animation/KeyframeEffectModel.h b/Source/core/animation/KeyframeEffectModel.h
index 9ec92d0541ba0d4c622c94d30d2e6c38fa725655..f019b153018f6f545bf6bb0a5b400f0fd4c6a73a 100644
--- a/Source/core/animation/KeyframeEffectModel.h
+++ b/Source/core/animation/KeyframeEffectModel.h
@@ -33,6 +33,7 @@
#include "core/animation/AnimatableValue.h"
#include "core/animation/AnimationEffect.h"
+#include "core/animation/InterpolationEffect.h"
#include "wtf/HashMap.h"
#include "wtf/HashSet.h"
#include "wtf/PassOwnPtr.h"
@@ -92,7 +93,7 @@ public:
}
// AnimationEffect implementation.
- virtual PassOwnPtr<CompositableValueList> sample(int iteration, double fraction) const OVERRIDE;
+ virtual PassOwnPtr<Vector<RefPtr<Interpolation> > > sample(int iteration, double fraction) const OVERRIDE;
// FIXME: Implement setFrames()
const KeyframeVector& getFrames() const { return m_keyframes; }
@@ -136,9 +137,12 @@ public:
private:
KeyframeEffectModel(const KeyframeVector& keyframes);
+ KeyframeEffectModel(PassRefPtr<InterpolationEffect> interpolationEffect);
+
KeyframeVector normalizedKeyframes() const;
// Lazily computes the groups of property-specific keyframes.
void ensureKeyframeGroups() const;
+ void ensureInterpolationEffect() const;
KeyframeVector m_keyframes;
// The spec describes filtering the normalized keyframes at sampling time
@@ -146,6 +150,8 @@ private:
// property-specific lists.
typedef HashMap<CSSPropertyID, OwnPtr<PropertySpecificKeyframeGroup> > KeyframeGroupMap;
mutable OwnPtr<KeyframeGroupMap> m_keyframeGroups;
+
+ mutable RefPtr<InterpolationEffect> m_interpolationEffect;
};
DEFINE_TYPE_CASTS(KeyframeEffectModel, AnimationEffect, value, value->isKeyframeEffectModel(), value.isKeyframeEffectModel());
« no previous file with comments | « Source/core/animation/InterpolationEffect.cpp ('k') | Source/core/animation/KeyframeEffectModel.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698