summaryrefslogtreecommitdiff
path: root/org.fox.ttcomics/src/main/java/it/sephiroth/android/library/imagezoom/easing/Cubic.java
diff options
context:
space:
mode:
Diffstat (limited to 'org.fox.ttcomics/src/main/java/it/sephiroth/android/library/imagezoom/easing/Cubic.java')
-rw-r--r--org.fox.ttcomics/src/main/java/it/sephiroth/android/library/imagezoom/easing/Cubic.java20
1 files changed, 20 insertions, 0 deletions
diff --git a/org.fox.ttcomics/src/main/java/it/sephiroth/android/library/imagezoom/easing/Cubic.java b/org.fox.ttcomics/src/main/java/it/sephiroth/android/library/imagezoom/easing/Cubic.java
new file mode 100644
index 0000000..6f7e87d
--- /dev/null
+++ b/org.fox.ttcomics/src/main/java/it/sephiroth/android/library/imagezoom/easing/Cubic.java
@@ -0,0 +1,20 @@
+package it.sephiroth.android.library.imagezoom.easing;
+
+public class Cubic implements Easing {
+
+ @Override
+ public double easeOut( double time, double start, double end, double duration ) {
+ return end * ( ( time = time / duration - 1.0 ) * time * time + 1.0 ) + start;
+ }
+
+ @Override
+ public double easeIn( double time, double start, double end, double duration ) {
+ return end * ( time /= duration ) * time * time + start;
+ }
+
+ @Override
+ public double easeInOut( double time, double start, double end, double duration ) {
+ if ( ( time /= duration / 2.0 ) < 1.0 ) return end / 2.0 * time * time * time + start;
+ return end / 2.0 * ( ( time -= 2.0 ) * time * time + 2.0 ) + start;
+ }
+}