1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 package org.dishevelled.interpolate;
25
26 import java.util.Arrays;
27 import java.util.HashMap;
28 import java.util.List;
29 import java.util.Map;
30
31
32
33
34
35
36
37 public final class EasingFunctions
38 {
39
40 public static final Linear LINEAR = new Linear();
41
42
43 public static final EaseInQuadratic EASE_IN_QUADRATIC = new EaseInQuadratic();
44
45
46 public static final EaseOutQuadratic EASE_OUT_QUADRATIC = new EaseOutQuadratic();
47
48
49 public static final EaseInOutQuadratic EASE_IN_OUT_QUADRATIC = new EaseInOutQuadratic();
50
51
52 public static final EaseInCubic EASE_IN_CUBIC = new EaseInCubic();
53
54
55 public static final EaseOutCubic EASE_OUT_CUBIC = new EaseOutCubic();
56
57
58 public static final EaseInOutCubic EASE_IN_OUT_CUBIC = new EaseInOutCubic();
59
60
61 public static final EaseInQuartic EASE_IN_QUARTIC = new EaseInQuartic();
62
63
64 public static final EaseOutQuartic EASE_OUT_QUARTIC = new EaseOutQuartic();
65
66
67 public static final EaseInOutQuartic EASE_IN_OUT_QUARTIC = new EaseInOutQuartic();
68
69
70 public static final EaseInQuintic EASE_IN_QUINTIC = new EaseInQuintic();
71
72
73 public static final EaseOutQuintic EASE_OUT_QUINTIC = new EaseOutQuintic();
74
75
76 public static final EaseInOutQuintic EASE_IN_OUT_QUINTIC = new EaseInOutQuintic();
77
78
79 public static final EaseInSine EASE_IN_SINE = new EaseInSine();
80
81
82 public static final EaseOutSine EASE_OUT_SINE = new EaseOutSine();
83
84
85 public static final EaseInOutSine EASE_IN_OUT_SINE = new EaseInOutSine();
86
87
88 public static final EaseInExponential EASE_IN_EXPONENTIAL = new EaseInExponential();
89
90
91 public static final EaseOutExponential EASE_OUT_EXPONENTIAL = new EaseOutExponential();
92
93
94 public static final EaseInOutExponential EASE_IN_OUT_EXPONENTIAL = new EaseInOutExponential();
95
96
97 public static final EaseInCircular EASE_IN_CIRCULAR = new EaseInCircular();
98
99
100 public static final EaseOutCircular EASE_OUT_CIRCULAR = new EaseOutCircular();
101
102
103 public static final EaseInOutCircular EASE_IN_OUT_CIRCULAR = new EaseInOutCircular();
104
105
106 public static final EaseInElastic EASE_IN_ELASTIC = new EaseInElastic();
107
108
109 public static final EaseOutElastic EASE_OUT_ELASTIC = new EaseOutElastic();
110
111
112 public static final EaseInOutElastic EASE_IN_OUT_ELASTIC = new EaseInOutElastic();
113
114
115 public static final EaseInBack EASE_IN_BACK = new EaseInBack();
116
117
118 public static final EaseOutBack EASE_OUT_BACK = new EaseOutBack();
119
120
121 public static final EaseInOutBack EASE_IN_OUT_BACK = new EaseInOutBack();
122
123
124 public static final EaseInBounce EASE_IN_BOUNCE = new EaseInBounce();
125
126
127 public static final EaseOutBounce EASE_OUT_BOUNCE = new EaseOutBounce();
128
129
130 public static final EaseInOutBounce EASE_IN_OUT_BOUNCE = new EaseInOutBounce();
131
132
133 private static final EasingFunction[] values = new EasingFunction[] { LINEAR, EASE_IN_QUADRATIC, EASE_OUT_QUADRATIC,
134 EASE_IN_OUT_QUADRATIC, EASE_IN_CUBIC, EASE_OUT_CUBIC, EASE_IN_OUT_CUBIC, EASE_IN_QUARTIC, EASE_OUT_QUARTIC, EASE_IN_OUT_QUARTIC,
135 EASE_IN_QUINTIC, EASE_OUT_QUINTIC, EASE_IN_OUT_QUINTIC, EASE_IN_SINE, EASE_OUT_SINE, EASE_IN_OUT_SINE, EASE_IN_EXPONENTIAL,
136 EASE_OUT_EXPONENTIAL, EASE_IN_OUT_EXPONENTIAL, EASE_IN_CIRCULAR, EASE_OUT_CIRCULAR, EASE_IN_OUT_CIRCULAR, EASE_IN_ELASTIC,
137 EASE_OUT_ELASTIC, EASE_IN_OUT_ELASTIC, EASE_IN_BACK, EASE_OUT_BACK, EASE_IN_OUT_BACK, EASE_IN_BOUNCE, EASE_OUT_BOUNCE,
138 EASE_IN_OUT_BOUNCE };
139
140
141 public static final List<EasingFunction> VALUES = Arrays.asList(values);
142
143
144 private static final Map<String, EasingFunction> KEYED_BY_NAME = new HashMap<String, EasingFunction>(32);
145
146 static
147 {
148 for (EasingFunction function : VALUES)
149 {
150 KEYED_BY_NAME.put(function.toString(), function);
151 }
152 }
153
154
155
156
157
158 private EasingFunctions()
159 {
160
161 }
162
163
164
165
166
167
168
169
170
171 public static EasingFunction valueOf(final String name)
172 {
173 return KEYED_BY_NAME.get(name);
174 }
175
176
177
178
179
180
181
182
183
184 public static CompositeEasingFunction compose(final EasingFunction g, final EasingFunction h)
185 {
186 return new CompositeEasingFunction(g, h);
187 }
188 }