| 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 Interpolation_h | 5 #ifndef Interpolation_h | 
| 6 #define Interpolation_h | 6 #define Interpolation_h | 
| 7 | 7 | 
| 8 #include "core/CoreExport.h" | 8 #include "core/CoreExport.h" | 
| 9 #include "core/animation/InterpolableValue.h" | 9 #include "core/animation/InterpolableValue.h" | 
| 10 #include "platform/heap/Handle.h" | 10 #include "platform/heap/Handle.h" | 
| 11 | 11 | 
| 12 namespace blink { | 12 namespace blink { | 
| 13 | 13 | 
| 14 class PropertyHandle; | 14 class PropertyHandle; | 
| 15 | 15 | 
| 16 class CORE_EXPORT Interpolation : public RefCountedWillBeGarbageCollectedFinaliz
    ed<Interpolation> { | 16 class CORE_EXPORT Interpolation : public RefCounted<Interpolation> { | 
| 17     WTF_MAKE_NONCOPYABLE(Interpolation); | 17     WTF_MAKE_NONCOPYABLE(Interpolation); | 
| 18 public: | 18 public: | 
| 19     virtual ~Interpolation(); | 19     virtual ~Interpolation(); | 
| 20 | 20 | 
| 21     virtual void interpolate(int iteration, double fraction); | 21     virtual void interpolate(int iteration, double fraction); | 
| 22 | 22 | 
| 23     virtual bool isStyleInterpolation() const { return false; } | 23     virtual bool isStyleInterpolation() const { return false; } | 
| 24     virtual bool isInvalidatableStyleInterpolation() const { return false; } | 24     virtual bool isInvalidatableStyleInterpolation() const { return false; } | 
| 25     virtual bool isLegacyStyleInterpolation() const { return false; } | 25     virtual bool isLegacyStyleInterpolation() const { return false; } | 
| 26     virtual bool isSVGInterpolation() const { return false; } | 26     virtual bool isSVGInterpolation() const { return false; } | 
| 27 | 27 | 
| 28     virtual PropertyHandle property() const = 0; | 28     virtual PropertyHandle property() const = 0; | 
| 29 | 29 | 
| 30     DECLARE_VIRTUAL_TRACE(); |  | 
| 31 |  | 
| 32 protected: | 30 protected: | 
| 33     const OwnPtrWillBeMember<InterpolableValue> m_start; | 31     const OwnPtr<InterpolableValue> m_start; | 
| 34     const OwnPtrWillBeMember<InterpolableValue> m_end; | 32     const OwnPtr<InterpolableValue> m_end; | 
| 35 | 33 | 
| 36     mutable double m_cachedFraction; | 34     mutable double m_cachedFraction; | 
| 37     mutable int m_cachedIteration; | 35     mutable int m_cachedIteration; | 
| 38     mutable OwnPtrWillBeMember<InterpolableValue> m_cachedValue; | 36     mutable OwnPtr<InterpolableValue> m_cachedValue; | 
| 39 | 37 | 
| 40     Interpolation(PassOwnPtrWillBeRawPtr<InterpolableValue> start, PassOwnPtrWil
    lBeRawPtr<InterpolableValue> end); | 38     Interpolation(PassOwnPtr<InterpolableValue> start, PassOwnPtr<InterpolableVa
    lue> end); | 
| 41 | 39 | 
| 42 private: | 40 private: | 
| 43     InterpolableValue* getCachedValueForTesting() const { return m_cachedValue.g
    et(); } | 41     InterpolableValue* getCachedValueForTesting() const { return m_cachedValue.g
    et(); } | 
| 44 | 42 | 
| 45     friend class AnimationInterpolableValueTest; | 43     friend class AnimationInterpolableValueTest; | 
| 46     friend class AnimationInterpolationEffectTest; | 44     friend class AnimationInterpolationEffectTest; | 
| 47     friend class AnimationDoubleStyleInterpolationTest; | 45     friend class AnimationDoubleStyleInterpolationTest; | 
| 48     friend class AnimationVisibilityStyleInterpolationTest; | 46     friend class AnimationVisibilityStyleInterpolationTest; | 
| 49     friend class AnimationColorStyleInterpolationTest; | 47     friend class AnimationColorStyleInterpolationTest; | 
| 50     friend class AnimationSVGStrokeDasharrayStyleInterpolationTest; | 48     friend class AnimationSVGStrokeDasharrayStyleInterpolationTest; | 
| 51 }; | 49 }; | 
| 52 | 50 | 
| 53 } // namespace blink | 51 } // namespace blink | 
| 54 | 52 | 
| 55 #endif // Interpolation_h | 53 #endif // Interpolation_h | 
| OLD | NEW | 
|---|