diff options
Diffstat (limited to 'src/it/sephiroth/android/library/imagezoom/easing/Cubic.java')
-rw-r--r-- | src/it/sephiroth/android/library/imagezoom/easing/Cubic.java | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/it/sephiroth/android/library/imagezoom/easing/Cubic.java b/src/it/sephiroth/android/library/imagezoom/easing/Cubic.java new file mode 100644 index 0000000..6f7e87d --- /dev/null +++ b/src/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; + } +} |