Android Open Source - slider Tile From Project Back to project page slider .
License The source code is released under:
Apache License
If you think the Android project slider listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
Java Source Code package de.devisnik.android.sliding.tile;
/ * w w w . j a v a 2 s . c o m * /
import android.graphics.Canvas;
import android.graphics.Rect;
import de.devisnik.sliding.IPiece;
import de.devisnik.sliding.Point;
import de.devisnik.sliding.animation.IShiftable;
public class Tile implements IShiftable {
private final IPiece itsPiece;
private final Point itsPosition;
private final IPieceDrawer itsDrawer;
private boolean itsHidden;
private boolean mDirty = true;
private final Rect mDirtyRegion;
public Tile(final IPiece piece, final IPieceDrawer drawer) {
itsPiece = piece;
itsDrawer = drawer;
itsPosition = Point.times(piece.getPosition(), getSize());
mDirtyRegion = new Rect(itsPosition.x, itsPosition.y, itsPosition.x + itsDrawer.getTileSize().x, itsPosition.y
+ itsDrawer.getTileSize().y);
}
@Override
public Point getSize() {
return itsDrawer.getTileSize();
}
public void setHidden(final boolean value) {
itsHidden = value;
}
@Override
public void shift(final Point delta) {
itsPosition.add(delta);
shiftRect(delta);
if (delta.x != 0 || delta.y != 0)
mDirty = true;
}
private void shiftRect(final Point delta) {
mDirtyRegion.union(mDirtyRegion.left + delta.x, mDirtyRegion.top + delta.y);
mDirtyRegion.union(mDirtyRegion.right + delta.x, mDirtyRegion.bottom + delta.y);
}
public boolean isDirty() {
return mDirty;
}
public void draw(final Canvas canvas) {
mDirtyRegion.set(itsPosition.x, itsPosition.y, itsPosition.x + itsDrawer.getTileSize().x, itsPosition.y
+ itsDrawer.getTileSize().y);
if (itsHidden)
return ;
canvas.save();
canvas.translate(itsPosition.x, itsPosition.y);
itsDrawer.drawTile(itsPiece, canvas, null);
canvas.restore();
mDirty = false;
}
public Rect getDirtyRegion() {
return mDirtyRegion;
}
}
Java Source Code List de.devisnik.android.sliding.ARandom.java de.devisnik.android.sliding.FPSCounter.java de.devisnik.android.sliding.FrameDrawer.java de.devisnik.android.sliding.ISpeed.java de.devisnik.android.sliding.ImageCache.java de.devisnik.android.sliding.ImageFactory.java de.devisnik.android.sliding.Logger.java de.devisnik.android.sliding.OpenActivity.java de.devisnik.android.sliding.OpenPreviewActivity.java de.devisnik.android.sliding.PropertiesBuilder.java de.devisnik.android.sliding.RenderHandler.java de.devisnik.android.sliding.Replayer.java de.devisnik.android.sliding.Settings.java de.devisnik.android.sliding.SlidingPreferences.java de.devisnik.android.sliding.SlidingWallpaper.java de.devisnik.android.sliding.SpeedFactory.java de.devisnik.android.sliding.SummaryUpdater.java de.devisnik.android.sliding.tile.BitmapCachingPieceDrawer.java de.devisnik.android.sliding.tile.CachingPieceDrawer.java de.devisnik.android.sliding.tile.IPieceDrawer.java de.devisnik.android.sliding.tile.ImagePieceDrawer.java de.devisnik.android.sliding.tile.NumberPieceDrawer.java de.devisnik.android.sliding.tile.PieceDrawerFactory.java de.devisnik.android.sliding.tile.TileShifter.java de.devisnik.android.sliding.tile.TileStore.java de.devisnik.android.sliding.tile.Tile.java de.devisnik.sliding.FrameFactory.java de.devisnik.sliding.FrameScrambler.java de.devisnik.sliding.FromHomeShiftingEvent.java de.devisnik.sliding.IFrameListener.java de.devisnik.sliding.IFrame.java de.devisnik.sliding.IHole.java de.devisnik.sliding.IMove.java de.devisnik.sliding.IPiece.java de.devisnik.sliding.IRandom.java de.devisnik.sliding.IRobotFrame.java de.devisnik.sliding.IShifterListener.java de.devisnik.sliding.MoveFactory.java de.devisnik.sliding.Point.java de.devisnik.sliding.ShiftingEvent.java de.devisnik.sliding.ToHomeShiftingEvent.java de.devisnik.sliding.animation.AccelerateDecelerateInterpolator.java de.devisnik.sliding.animation.AnimationRunner.java de.devisnik.sliding.animation.Animation.java de.devisnik.sliding.animation.IInterpolator.java de.devisnik.sliding.animation.IMovement.java de.devisnik.sliding.animation.IShiftable.java de.devisnik.sliding.animation.LinearInterpolator.java de.devisnik.sliding.animation.MetaShiftable.java de.devisnik.sliding.animation.ShiftAnimation.java de.devisnik.sliding.animation.Translation.java de.devisnik.sliding.impl.Frame.java de.devisnik.sliding.impl.Hole.java de.devisnik.sliding.impl.Move.java de.devisnik.sliding.impl.PieceIterator.java de.devisnik.sliding.impl.Piece.java de.devisnik.sliding.impl.RobotFrame.java de.devisnik.sliding.impl.Scrambler.java