Android Open Source - TorrentFreak-Reader Canvas Transformer Builder






From Project

Back to project page TorrentFreak-Reader.

License

The source code is released under:

GNU General Public License

If you think the Android project TorrentFreak-Reader 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 com.slidingmenu.lib;
/*  ww  w  .  ja v  a  2s .  c o m*/
import android.graphics.Canvas;
import android.view.animation.Interpolator;

import com.slidingmenu.lib.SlidingMenu.CanvasTransformer;

public class CanvasTransformerBuilder {

  private CanvasTransformer mTrans;

  private static Interpolator lin = new Interpolator() {
    public float getInterpolation(float t) {
      return t;
    }
  };

  private void initTransformer() {
    if (mTrans == null)
      mTrans = new CanvasTransformer() {
      public void transformCanvas(Canvas canvas, float percentOpen) {  }
    };
  }

  public CanvasTransformer zoom(final int openedX, final int closedX, 
      final int openedY, final int closedY, 
      final int px, final int py) {
    return zoom(openedX, closedX, openedY, closedY, px, py, lin);
  }

  public CanvasTransformer zoom(final int openedX, final int closedX, 
      final int openedY, final int closedY,
      final int px, final int py, final Interpolator interp) {
    initTransformer();
    mTrans = new CanvasTransformer() {
      public void transformCanvas(Canvas canvas, float percentOpen) {
        mTrans.transformCanvas(canvas, percentOpen);
        float f = interp.getInterpolation(percentOpen);
        canvas.scale((openedX - closedX) * f + closedX,
            (openedY - closedY) * f + closedY, px, py);
      }      
    };
    return mTrans;
  }

  public CanvasTransformer rotate(final int openedDeg, final int closedDeg, 
      final int px, final int py) {
    return rotate(openedDeg, closedDeg, px, py, lin);
  }

  public CanvasTransformer rotate(final int openedDeg, final int closedDeg, 
      final int px, final int py, final Interpolator interp) {
    initTransformer();
    mTrans = new CanvasTransformer() {
      public void transformCanvas(Canvas canvas, float percentOpen) {
        mTrans.transformCanvas(canvas, percentOpen);
        float f = interp.getInterpolation(percentOpen);
        canvas.rotate((openedDeg - closedDeg) * f + closedDeg, 
            px, py);
      }      
    };
    return mTrans;
  }

  public CanvasTransformer translate(final int openedX, final int closedX, 
      final int openedY, final int closedY) {
    return translate(openedX, closedX, openedY, closedY, lin);
  }

  public CanvasTransformer translate(final int openedX, final int closedX, 
      final int openedY, final int closedY, final Interpolator interp) {
    initTransformer();
    mTrans = new CanvasTransformer() {
      public void transformCanvas(Canvas canvas, float percentOpen) {
        mTrans.transformCanvas(canvas, percentOpen);
        float f = interp.getInterpolation(percentOpen);
        canvas.translate((openedX - closedX) * f + closedX,
            (openedY - closedY) * f + closedY);
      }      
    };
    return mTrans;
  }

  public CanvasTransformer concatTransformer(final CanvasTransformer t) {
    initTransformer();
    mTrans = new CanvasTransformer() {
      public void transformCanvas(Canvas canvas, float percentOpen) {
        mTrans.transformCanvas(canvas, percentOpen);
        t.transformCanvas(canvas, percentOpen);
      }      
    };
    return mTrans;
  }

}




Java Source Code List

com.slidingmenu.lib.CanvasTransformerBuilder.java
com.slidingmenu.lib.CustomViewAbove.java
com.slidingmenu.lib.CustomViewBehind.java
com.slidingmenu.lib.MenuInterface.java
com.slidingmenu.lib.SlidingMenu.java
com.slidingmenu.lib.app.SlidingActivityBase.java
com.slidingmenu.lib.app.SlidingActivityHelper.java
com.slidingmenu.lib.app.SlidingActivity.java
com.slidingmenu.lib.app.SlidingFragmentActivity.java
com.slidingmenu.lib.app.SlidingListActivity.java
com.slidingmenu.lib.app.SlidingPreferenceActivity.java
com.torrentfreak.reader.free.AboutActivity.java
com.torrentfreak.reader.free.ArticleActivity.java
com.torrentfreak.reader.free.LicensesActivity.java
com.torrentfreak.reader.free.MainActivity.java
com.torrentfreak.reader.free.SettingsActivity.java
com.torrentfreak.reader.free.adapters.ArticleFragmentAdapter.java
com.torrentfreak.reader.free.adapters.ArticleListAdapter.java
com.torrentfreak.reader.free.adapters.LicenseFragmentAdapter.java
com.torrentfreak.reader.free.adapters.SlidingMenuAdapter.java
com.torrentfreak.reader.free.adapters.items.LicenseItem.java
com.torrentfreak.reader.free.adapters.items.SlidingMenuItem.java
com.torrentfreak.reader.free.adapters.views.ArticleItemView.java
com.torrentfreak.reader.free.adapters.views.SlidingMenuItemView.java
com.torrentfreak.reader.free.articles.ArticleItem.java
com.torrentfreak.reader.free.articles.ArticleStorage.java
com.torrentfreak.reader.free.articles.providers.ArticleContentProvider.java
com.torrentfreak.reader.free.articles.providers.ArticleListProvider.java
com.torrentfreak.reader.free.articles.providers.CategoryListProvider.java
com.torrentfreak.reader.free.articles.providers.LatestNewsListProvider.java
com.torrentfreak.reader.free.articles.providers.exceptions.ArticleScrapeException.java
com.torrentfreak.reader.free.articles.tasks.ArticleContentHttpTask.java
com.torrentfreak.reader.free.categories.CategoryItem.java
com.torrentfreak.reader.free.categories.CategoryManager.java
com.torrentfreak.reader.free.categories.CategoryType.java
com.torrentfreak.reader.free.fragments.ArticleCommentsFragment.java
com.torrentfreak.reader.free.fragments.ArticleContentFragment.java
com.torrentfreak.reader.free.fragments.ArticleListFragment.java
com.torrentfreak.reader.free.fragments.LicenseFragment.java
com.torrentfreak.reader.free.fragments.SlidingMenuFragment.java
com.torrentfreak.reader.free.helpers.FontHelper.java
com.torrentfreak.reader.free.helpers.WeakReferenceHelper.java
com.torrentfreak.reader.free.widgets.StackWidgetActivity.java
com.torrentfreak.reader.free.widgets.StackWidgetProvider.java
com.torrentfreak.reader.free.widgets.StackWidgetService.java
com.torrentfreak.reader.free.widgets.items.StackWidgetItem.java