package roman10.tutorial.frameanimation;
import android.os.Parcel;
import android.os.Parcelable;
public class AnimationSettings implements Parcelable {
public int mDelay; // in milliseconds
public int mPlaybackTimes; // 0 for forever,
public Dimension mDim;
public int mColors;
public static final int GIF_DELAY_DEFAULT = 200;
public AnimationSettings() {
mDelay = GIF_DELAY_DEFAULT;
mPlaybackTimes = 0;
mDim = new Dimension(320, 240);
mColors = 256;
}
public static AnimationSettings newCopy(AnimationSettings pSettings) {
AnimationSettings newSettings = new AnimationSettings();
newSettings.mDelay = pSettings.mDelay;
newSettings.mPlaybackTimes = pSettings.mPlaybackTimes;
newSettings.mDim = new Dimension(pSettings.mDim.width, pSettings.mDim.height);
newSettings.mColors = pSettings.mColors;
return newSettings;
}
public AnimationSettings(Parcel parcel) {
readFromParcel(parcel);
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel parcel, int flags) {
parcel.writeInt(mDelay);
parcel.writeInt(mPlaybackTimes);
parcel.writeParcelable(mDim, flags);
parcel.writeInt(mColors);
}
private void readFromParcel(Parcel parcel) {
mDelay = parcel.readInt();
mPlaybackTimes = parcel.readInt();
mDim = parcel.readParcelable(Dimension.class.getClassLoader());
mColors = parcel.readInt();
}
public static final Parcelable.Creator CREATOR =
new Parcelable.Creator() {
public AnimationSettings createFromParcel(Parcel in) {
return new AnimationSettings(in);
}
public AnimationSettings[] newArray(int size) {
return new AnimationSettings[size];
}
};
}