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

Side by Side Diff: Source/core/animation/InvalidatableStyleInterpolation.h

Issue 1215563002: Implement left property animation on InvalidatableStyleInterpolation (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Make Windows not crash Created 5 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 InvalidatableStyleInterpolation_h 5 #ifndef InvalidatableStyleInterpolation_h
6 #define InvalidatableStyleInterpolation_h 6 #define InvalidatableStyleInterpolation_h
7 7
8 #include "core/animation/InterpolationType.h" 8 #include "core/animation/InterpolationType.h"
9 #include "core/animation/InterpolationValue.h" 9 #include "core/animation/InterpolationValue.h"
10 #include "core/animation/PrimitiveInterpolation.h" 10 #include "core/animation/PrimitiveInterpolation.h"
(...skipping 26 matching lines...) Expand all
37 visitor->trace(m_cachedValue); 37 visitor->trace(m_cachedValue);
38 StyleInterpolation::trace(visitor); 38 StyleInterpolation::trace(visitor);
39 } 39 }
40 40
41 private: 41 private:
42 InvalidatableStyleInterpolation( 42 InvalidatableStyleInterpolation(
43 const Vector<const InterpolationType*>& InterpolationTypes, 43 const Vector<const InterpolationType*>& InterpolationTypes,
44 const CSSPropertySpecificKeyframe& startKeyframe, 44 const CSSPropertySpecificKeyframe& startKeyframe,
45 const CSSPropertySpecificKeyframe& endKeyframe); 45 const CSSPropertySpecificKeyframe& endKeyframe);
46 46
47 void ensureValidInterpolation(const StyleResolverState&) const; 47 PassOwnPtrWillBeRawPtr<InterpolationValue> maybeConvertUnderlyingValue(const StyleResolverState&) const;
48 bool isCacheValid(const StyleResolverState&) const; 48 void ensureValidInterpolation(const StyleResolverState&, const Interpolation Value* underlyingValue) const;
49 bool maybeCachePairwiseConversion(const StyleResolverState*) const; 49 bool dependsOnUnderlyingValue() const;
50 PassOwnPtrWillBeRawPtr<InterpolationValue> convertSingleKeyframe(const CSSPr opertySpecificKeyframe&, const StyleResolverState&) const; 50 bool isCacheValid(const StyleResolverState&, const InterpolationValue* under lyingValue) const;
51 bool isNeutralKeyframeActive() const;
52 bool maybeCachePairwiseConversion(const StyleResolverState*, const Interpola tionValue* underlyingValue) const;
53 PassOwnPtrWillBeRawPtr<InterpolationValue> convertSingleKeyframe(const CSSPr opertySpecificKeyframe&, const StyleResolverState&, const InterpolationValue* un derlyingValue) const;
54 void setFlagIfInheritUsed(StyleResolverState&) const;
51 55
52 const Vector<const InterpolationType*>& m_interpolationTypes; 56 const Vector<const InterpolationType*>& m_interpolationTypes;
53 const CSSPropertySpecificKeyframe& m_startKeyframe; 57 const CSSPropertySpecificKeyframe& m_startKeyframe;
54 const CSSPropertySpecificKeyframe& m_endKeyframe; 58 const CSSPropertySpecificKeyframe& m_endKeyframe;
55 double m_currentFraction; 59 double m_currentFraction;
56 mutable OwnPtrWillBeMember<PrimitiveInterpolation> m_cachedConversion; 60 mutable OwnPtrWillBeMember<PrimitiveInterpolation> m_cachedConversion;
57 mutable InterpolationType::ConversionCheckers m_conversionCheckers; 61 mutable InterpolationType::ConversionCheckers m_conversionCheckers;
58 mutable OwnPtrWillBeMember<InterpolationValue> m_cachedValue; 62 mutable OwnPtrWillBeMember<InterpolationValue> m_cachedValue;
59 }; 63 };
60 64
61 DEFINE_TYPE_CASTS(InvalidatableStyleInterpolation, Interpolation, value, value-> isInvalidatableStyleInterpolation(), value.isInvalidatableStyleInterpolation()); 65 DEFINE_TYPE_CASTS(InvalidatableStyleInterpolation, Interpolation, value, value-> isInvalidatableStyleInterpolation(), value.isInvalidatableStyleInterpolation());
62 66
63 } // namespace blink 67 } // namespace blink
64 68
65 #endif // InvalidatableStyleInterpolation_h 69 #endif // InvalidatableStyleInterpolation_h
OLDNEW
« no previous file with comments | « Source/core/animation/InterpolationType.h ('k') | Source/core/animation/InvalidatableStyleInterpolation.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698