Android Open Source - salaya-tram-map Zoomer






From Project

Back to project page salaya-tram-map.

License

The source code is released under:

Unless otherwise noted, this software is Copyright 2011 Pawit Pornkitprasan and is licensed under the Simplified BSD License. Copyright 2011 Pawit Pornkitprasan. All rights reserved. Red...

If you think the Android project salaya-tram-map 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 org.dyndns.pawitp.salayatrammap.map;
//  w  w  w  .  j  av  a 2s. co m
import android.view.animation.AnimationUtils;

// Inspired by Scroller
public class Zoomer {
  
  private static final int DURATION = 250;
  private static final float DURATION_RECIPROCAL = (float) 1/DURATION;
  
  private boolean mFinished = true;
  private long mStartTime;
  private float mPivotX;
  private float mPivotY;
  
  private float mCurrScale;
  private float mStartScale;
  private float mDestScale;
  private float mDeltaScale;
  
  boolean compute() {
    if (mFinished == true) {
      return false;
    }
    
    int timePassed = (int)(AnimationUtils.currentAnimationTimeMillis() - mStartTime);
    if (timePassed < DURATION) {
      float x = timePassed * DURATION_RECIPROCAL;
      
      mCurrScale = mStartScale + x * mDeltaScale;
    }
    else {
      mCurrScale = mDestScale;
      mFinished = true;
    }
    
    return true;
  }
  
  float getPivotX() {
    return mPivotX;
  }
  
  float getPivotY() {
    return mPivotY;
  }
  
  float getCurrScale() {
    return mCurrScale;
  }
  
  void zoomTo(float startScale, float destScale, float pivotX, float pivotY) {
    mFinished = false;
    mStartTime = AnimationUtils.currentAnimationTimeMillis();
    mStartScale = startScale;
    mDestScale = destScale;
    mDeltaScale = destScale - startScale;
    mPivotX = pivotX;
    mPivotY = pivotY;
  }
}




Java Source Code List

org.dyndns.pawitp.salayatrammap.MainActivity.java
org.dyndns.pawitp.salayatrammap.MiscWidgetBroadcastReceiver.java
org.dyndns.pawitp.salayatrammap.TramScheduleWidgetProvider.java
org.dyndns.pawitp.salayatrammap.Utils.java
org.dyndns.pawitp.salayatrammap.map.MapView.java
org.dyndns.pawitp.salayatrammap.map.NoStopMatchedException.java
org.dyndns.pawitp.salayatrammap.map.SearchSuggestionProvider.java
org.dyndns.pawitp.salayatrammap.map.TramDbHelper.java
org.dyndns.pawitp.salayatrammap.map.Zoomer.java
org.dyndns.pawitp.salayatrammap.schedule.NoMoreTramException.java
org.dyndns.pawitp.salayatrammap.schedule.NoTramLeftException.java
org.dyndns.pawitp.salayatrammap.schedule.TramCarSchedule.java
org.dyndns.pawitp.salayatrammap.schedule.TramException.java
org.dyndns.pawitp.salayatrammap.schedule.TramsSchedule.java