OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2013 Google Inc. All rights reserved. | 2 * Copyright (C) 2013 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 27 matching lines...) Expand all Loading... |
38 | 38 |
39 class CORE_EXPORT AnimatableDouble final : public AnimatableValue { | 39 class CORE_EXPORT AnimatableDouble final : public AnimatableValue { |
40 public: | 40 public: |
41 virtual ~AnimatableDouble() { } | 41 virtual ~AnimatableDouble() { } |
42 | 42 |
43 enum Constraint { | 43 enum Constraint { |
44 Unconstrained, | 44 Unconstrained, |
45 InterpolationIsNonContinuousWithZero, | 45 InterpolationIsNonContinuousWithZero, |
46 }; | 46 }; |
47 | 47 |
48 static PassRefPtrWillBeRawPtr<AnimatableDouble> create(double number, Constr
aint constraint = Unconstrained) | 48 static AnimatableDouble* create(double number, Constraint constraint = Uncon
strained) |
49 { | 49 { |
50 return adoptRefWillBeNoop(new AnimatableDouble(number, constraint)); | 50 return new AnimatableDouble(number, constraint); |
51 } | 51 } |
52 | 52 |
53 double toDouble() const { return m_number; } | 53 double toDouble() const { return m_number; } |
54 | 54 |
55 DEFINE_INLINE_VIRTUAL_TRACE() { AnimatableValue::trace(visitor); } | 55 DEFINE_INLINE_VIRTUAL_TRACE() { AnimatableValue::trace(visitor); } |
56 | 56 |
57 protected: | 57 protected: |
58 virtual PassRefPtrWillBeRawPtr<AnimatableValue> interpolateTo(const Animatab
leValue*, double fraction) const override; | 58 virtual AnimatableValue* interpolateTo(const AnimatableValue*, double fracti
on) const override; |
59 virtual bool usesDefaultInterpolationWith(const AnimatableValue*) const over
ride; | 59 virtual bool usesDefaultInterpolationWith(const AnimatableValue*) const over
ride; |
60 | 60 |
61 private: | 61 private: |
62 AnimatableDouble(double number, Constraint constraint) | 62 AnimatableDouble(double number, Constraint constraint) |
63 : m_number(number) | 63 : m_number(number) |
64 , m_constraint(constraint) | 64 , m_constraint(constraint) |
65 { | 65 { |
66 } | 66 } |
67 virtual AnimatableType type() const override { return TypeDouble; } | 67 virtual AnimatableType type() const override { return TypeDouble; } |
68 virtual bool equalTo(const AnimatableValue*) const override; | 68 virtual bool equalTo(const AnimatableValue*) const override; |
69 | 69 |
70 double m_number; | 70 double m_number; |
71 Constraint m_constraint; | 71 Constraint m_constraint; |
72 }; | 72 }; |
73 | 73 |
74 DEFINE_ANIMATABLE_VALUE_TYPE_CASTS(AnimatableDouble, isDouble()); | 74 DEFINE_ANIMATABLE_VALUE_TYPE_CASTS(AnimatableDouble, isDouble()); |
75 | 75 |
76 } // namespace blink | 76 } // namespace blink |
77 | 77 |
78 #endif // AnimatableDouble_h | 78 #endif // AnimatableDouble_h |
OLD | NEW |