OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2012 Google Inc. All rights reserved. | 2 * Copyright (C) 2012 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 | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
(...skipping 15 matching lines...) Expand all Loading... |
26 #define WebAnimation_h | 26 #define WebAnimation_h |
27 | 27 |
28 #include "WebCommon.h" | 28 #include "WebCommon.h" |
29 #include "WebNonCopyable.h" | 29 #include "WebNonCopyable.h" |
30 #include "WebPrivateOwnPtr.h" | 30 #include "WebPrivateOwnPtr.h" |
31 | 31 |
32 #if BLINK_IMPLEMENTATION | 32 #if BLINK_IMPLEMENTATION |
33 #include "wtf/Forward.h" | 33 #include "wtf/Forward.h" |
34 #endif | 34 #endif |
35 | 35 |
| 36 #define WEB_ANIMATION_SUPPORTS_FULL_DIRECTION 1 |
| 37 |
36 namespace WebCore { | 38 namespace WebCore { |
37 class CCActiveAnimation; | 39 class CCActiveAnimation; |
38 } | 40 } |
39 | 41 |
40 namespace blink { | 42 namespace blink { |
41 | 43 |
42 class WebAnimationCurve; | 44 class WebAnimationCurve; |
43 | 45 |
44 // A compositor driven animation. | 46 // A compositor driven animation. |
45 class WebAnimation { | 47 class WebAnimation { |
46 public: | 48 public: |
47 enum TargetProperty { | 49 enum TargetProperty { |
48 TargetPropertyTransform = 0, | 50 TargetPropertyTransform = 0, |
49 TargetPropertyOpacity, | 51 TargetPropertyOpacity, |
50 TargetPropertyFilter | 52 TargetPropertyFilter |
51 }; | 53 }; |
52 | 54 |
| 55 enum Direction { |
| 56 DirectionNormal = 0, |
| 57 DirectionReverse, |
| 58 DirectionAlternate, |
| 59 DirectionAlternateReverse |
| 60 }; |
| 61 |
53 virtual ~WebAnimation() { } | 62 virtual ~WebAnimation() { } |
54 | 63 |
55 // An id is effectively the animation's name, and it is not unique. | 64 // An id is effectively the animation's name, and it is not unique. |
56 virtual int id() = 0; | 65 virtual int id() = 0; |
57 | 66 |
58 virtual TargetProperty targetProperty() const = 0; | 67 virtual TargetProperty targetProperty() const = 0; |
59 | 68 |
60 // This is the number of times that the animation will play. If this | 69 // This is the number of times that the animation will play. If this |
61 // value is zero the animation will not play. If it is negative, then | 70 // value is zero the animation will not play. If it is negative, then |
62 // the animation will loop indefinitely. | 71 // the animation will loop indefinitely. |
63 virtual int iterations() const = 0; | 72 virtual int iterations() const = 0; |
64 virtual void setIterations(int) = 0; | 73 virtual void setIterations(int) = 0; |
65 | 74 |
66 virtual double startTime() const = 0; | 75 virtual double startTime() const = 0; |
67 virtual void setStartTime(double monotonicTime) = 0; | 76 virtual void setStartTime(double monotonicTime) = 0; |
68 | 77 |
69 virtual double timeOffset() const = 0; | 78 virtual double timeOffset() const = 0; |
70 virtual void setTimeOffset(double monotonicTime) = 0; | 79 virtual void setTimeOffset(double monotonicTime) = 0; |
71 | 80 |
72 // If alternatesDirection is true, on odd numbered iterations we reverse the
curve. | 81 // If alternatesDirection is true, on odd numbered iterations we reverse the
curve. |
73 virtual bool alternatesDirection() const = 0; | 82 virtual Direction direction() const = 0; |
74 virtual void setAlternatesDirection(bool) = 0; | 83 virtual void setDirection(Direction) = 0; |
75 }; | 84 }; |
76 | 85 |
77 } // namespace blink | 86 } // namespace blink |
78 | 87 |
79 #endif // WebAnimation_h | 88 #endif // WebAnimation_h |
OLD | NEW |