package com.actionbarsherlock.internal.nineoldandroids.animation;
import android.animation.TimeInterpolator;
import android.view.animation.Interpolator;
public abstract class Keyframe implements Cloneable {
float mFraction;
Class mValueType;
private Interpolator mInterpolator = null;
boolean mHasValue = false;
public static Keyframe
ofInt(
float fraction,
int value) {
return new IntKeyframe(fraction, value);
}
public static Keyframe
ofInt(
float fraction) {
return new IntKeyframe(fraction);
}
public static Keyframe
ofFloat(
float fraction,
float value) {
return new FloatKeyframe(fraction, value);
}
public static Keyframe
ofFloat(
float fraction) {
return new FloatKeyframe(fraction);
}
public static Keyframe
ofObject(
float fraction, Object value) {
return new ObjectKeyframe(fraction, value);
}
public static Keyframe
ofObject(
float fraction) {
return new ObjectKeyframe(fraction, null);
}
return mHasValue;
}
public abstract void setValue(Object value);
return mFraction;
}
mFraction = fraction;
}
return mInterpolator;
}
mInterpolator = interpolator;
}
return mValueType;
}
@Override
public abstract Keyframe
clone();
Object mValue;
mFraction = fraction;
mValue = value;
mHasValue = (value != null);
mValueType = mHasValue ? value.getClass() : Object.class;
}
return mValue;
}
mValue = value;
mHasValue = (value != null);
}
@Override
public ObjectKeyframe
clone() {
ObjectKeyframe kfClone = new ObjectKeyframe(getFraction(), mValue);
kfClone.setInterpolator(getInterpolator());
return kfClone;
}
}
int mValue;
mFraction = fraction;
mValue = value;
mValueType = int.class;
mHasValue = true;
}
mFraction = fraction;
mValueType = int.class;
}
return mValue;
}
return mValue;
}
if (value != null && value.getClass() == Integer.class) {
mValue = ((Integer)value).intValue();
mHasValue = true;
}
}
@Override
public IntKeyframe
clone() {
IntKeyframe kfClone = new IntKeyframe(getFraction(), mValue);
kfClone.setInterpolator(getInterpolator());
return kfClone;
}
}
float mValue;
mFraction = fraction;
mValue = value;
mValueType = float.class;
mHasValue = true;
}
mFraction = fraction;
mValueType = float.class;
}
return mValue;
}
return mValue;
}
if (value != null && value.getClass() == Float.class) {
mValue = ((Float)value).floatValue();
mHasValue = true;
}
}
@Override
public FloatKeyframe
clone() {
FloatKeyframe kfClone = new FloatKeyframe(getFraction(), mValue);
kfClone.setInterpolator(getInterpolator());
return kfClone;
}
}
}