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 ww.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