18f2ef8f2d70edcfa159195e2efd23f95ff1b5789Jorim Jaggipackage aurelienribon.tweenengine;
28f2ef8f2d70edcfa159195e2efd23f95ff1b5789Jorim Jaggi
38f2ef8f2d70edcfa159195e2efd23f95ff1b5789Jorim Jaggiimport aurelienribon.tweenengine.equations.Back;
48f2ef8f2d70edcfa159195e2efd23f95ff1b5789Jorim Jaggiimport aurelienribon.tweenengine.equations.Bounce;
58f2ef8f2d70edcfa159195e2efd23f95ff1b5789Jorim Jaggiimport aurelienribon.tweenengine.equations.Circ;
68f2ef8f2d70edcfa159195e2efd23f95ff1b5789Jorim Jaggiimport aurelienribon.tweenengine.equations.Cubic;
78f2ef8f2d70edcfa159195e2efd23f95ff1b5789Jorim Jaggiimport aurelienribon.tweenengine.equations.Elastic;
88f2ef8f2d70edcfa159195e2efd23f95ff1b5789Jorim Jaggiimport aurelienribon.tweenengine.equations.Expo;
98f2ef8f2d70edcfa159195e2efd23f95ff1b5789Jorim Jaggiimport aurelienribon.tweenengine.equations.Linear;
108f2ef8f2d70edcfa159195e2efd23f95ff1b5789Jorim Jaggiimport aurelienribon.tweenengine.equations.Quad;
118f2ef8f2d70edcfa159195e2efd23f95ff1b5789Jorim Jaggiimport aurelienribon.tweenengine.equations.Quart;
128f2ef8f2d70edcfa159195e2efd23f95ff1b5789Jorim Jaggiimport aurelienribon.tweenengine.equations.Quint;
138f2ef8f2d70edcfa159195e2efd23f95ff1b5789Jorim Jaggiimport aurelienribon.tweenengine.equations.Sine;
148f2ef8f2d70edcfa159195e2efd23f95ff1b5789Jorim Jaggi
158f2ef8f2d70edcfa159195e2efd23f95ff1b5789Jorim Jaggi/**
168f2ef8f2d70edcfa159195e2efd23f95ff1b5789Jorim Jaggi * Collection of miscellaneous utilities.
178f2ef8f2d70edcfa159195e2efd23f95ff1b5789Jorim Jaggi *
188f2ef8f2d70edcfa159195e2efd23f95ff1b5789Jorim Jaggi * @author Aurelien Ribon | http://www.aurelienribon.com/
198f2ef8f2d70edcfa159195e2efd23f95ff1b5789Jorim Jaggi */
208f2ef8f2d70edcfa159195e2efd23f95ff1b5789Jorim Jaggipublic class TweenUtils {
218f2ef8f2d70edcfa159195e2efd23f95ff1b5789Jorim Jaggi	private static TweenEquation[] easings;
228f2ef8f2d70edcfa159195e2efd23f95ff1b5789Jorim Jaggi
238f2ef8f2d70edcfa159195e2efd23f95ff1b5789Jorim Jaggi	/**
248f2ef8f2d70edcfa159195e2efd23f95ff1b5789Jorim Jaggi	 * Takes an easing name and gives you the corresponding TweenEquation.
258f2ef8f2d70edcfa159195e2efd23f95ff1b5789Jorim Jaggi	 * You probably won't need this, but tools will love that.
268f2ef8f2d70edcfa159195e2efd23f95ff1b5789Jorim Jaggi	 *
278f2ef8f2d70edcfa159195e2efd23f95ff1b5789Jorim Jaggi	 * @param easingName The name of an easing, like "Quad.INOUT".
288f2ef8f2d70edcfa159195e2efd23f95ff1b5789Jorim Jaggi	 * @return The parsed equation, or null if there is no match.
298f2ef8f2d70edcfa159195e2efd23f95ff1b5789Jorim Jaggi	 */
308f2ef8f2d70edcfa159195e2efd23f95ff1b5789Jorim Jaggi	public static TweenEquation parseEasing(String easingName) {
318f2ef8f2d70edcfa159195e2efd23f95ff1b5789Jorim Jaggi		if (easings == null) {
328f2ef8f2d70edcfa159195e2efd23f95ff1b5789Jorim Jaggi			easings = new TweenEquation[] {Linear.INOUT,
338f2ef8f2d70edcfa159195e2efd23f95ff1b5789Jorim Jaggi				Quad.IN, Quad.OUT, Quad.INOUT,
348f2ef8f2d70edcfa159195e2efd23f95ff1b5789Jorim Jaggi				Cubic.IN, Cubic.OUT, Cubic.INOUT,
358f2ef8f2d70edcfa159195e2efd23f95ff1b5789Jorim Jaggi				Quart.IN, Quart.OUT, Quart.INOUT,
368f2ef8f2d70edcfa159195e2efd23f95ff1b5789Jorim Jaggi				Quint.IN, Quint.OUT, Quint.INOUT,
378f2ef8f2d70edcfa159195e2efd23f95ff1b5789Jorim Jaggi				Circ.IN, Circ.OUT, Circ.INOUT,
388f2ef8f2d70edcfa159195e2efd23f95ff1b5789Jorim Jaggi				Sine.IN, Sine.OUT, Sine.INOUT,
398f2ef8f2d70edcfa159195e2efd23f95ff1b5789Jorim Jaggi				Expo.IN, Expo.OUT, Expo.INOUT,
408f2ef8f2d70edcfa159195e2efd23f95ff1b5789Jorim Jaggi				Back.IN, Back.OUT, Back.INOUT,
418f2ef8f2d70edcfa159195e2efd23f95ff1b5789Jorim Jaggi				Bounce.IN, Bounce.OUT, Bounce.INOUT,
428f2ef8f2d70edcfa159195e2efd23f95ff1b5789Jorim Jaggi				Elastic.IN, Elastic.OUT, Elastic.INOUT
438f2ef8f2d70edcfa159195e2efd23f95ff1b5789Jorim Jaggi			};
448f2ef8f2d70edcfa159195e2efd23f95ff1b5789Jorim Jaggi		}
458f2ef8f2d70edcfa159195e2efd23f95ff1b5789Jorim Jaggi
468f2ef8f2d70edcfa159195e2efd23f95ff1b5789Jorim Jaggi		for (int i=0; i<easings.length; i++) {
478f2ef8f2d70edcfa159195e2efd23f95ff1b5789Jorim Jaggi			if (easingName.equals(easings[i].toString()))
488f2ef8f2d70edcfa159195e2efd23f95ff1b5789Jorim Jaggi				return easings[i];
498f2ef8f2d70edcfa159195e2efd23f95ff1b5789Jorim Jaggi		}
508f2ef8f2d70edcfa159195e2efd23f95ff1b5789Jorim Jaggi
518f2ef8f2d70edcfa159195e2efd23f95ff1b5789Jorim Jaggi		return null;
528f2ef8f2d70edcfa159195e2efd23f95ff1b5789Jorim Jaggi	}
538f2ef8f2d70edcfa159195e2efd23f95ff1b5789Jorim Jaggi}
54