Bug 779366 - Part 2b: Remove ViewportMetrics' dependency on GeckoApp by passing DisplayMetrics. r=sriram

This commit is contained in:
Chris Peterson 2012-08-01 14:51:28 -07:00
parent 41d4ca6105
commit 8ddeeaaf87
3 changed files with 6 additions and 10 deletions

View File

@ -15,6 +15,7 @@ import android.graphics.BitmapFactory;
import android.graphics.Color;
import android.graphics.PointF;
import android.graphics.RectF;
import android.util.DisplayMetrics;
import android.view.GestureDetector;
/**
@ -65,9 +66,9 @@ public class LayerController {
public LayerController(Context context) {
mContext = context;
mForceRedraw = true;
mViewportMetrics = new ImmutableViewportMetrics(new ViewportMetrics());
DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();
mViewportMetrics = new ImmutableViewportMetrics(new ViewportMetrics(displayMetrics));
mPanZoomController = new PanZoomController(this);
mCheckerboardShouldShowChecks = true;
}

View File

@ -5,7 +5,6 @@
package org.mozilla.gecko.gfx;
import org.mozilla.gecko.GeckoApp;
import org.mozilla.gecko.util.FloatUtils;
import org.json.JSONException;
@ -27,9 +26,7 @@ public class ViewportMetrics {
private RectF mViewportRect;
private float mZoomFactor;
public ViewportMetrics() {
DisplayMetrics metrics = GeckoApp.mAppContext.getDisplayMetrics();
public ViewportMetrics(DisplayMetrics metrics) {
mPageRect = new RectF(0, 0, metrics.widthPixels, metrics.heightPixels);
mCssPageRect = new RectF(0, 0, metrics.widthPixels, metrics.heightPixels);
mViewportRect = new RectF(0, 0, metrics.widthPixels, metrics.heightPixels);
@ -59,7 +56,6 @@ public class ViewportMetrics {
mZoomFactor = viewport.zoomFactor;
}
public ViewportMetrics(JSONObject json) throws JSONException {
float x = (float)json.getDouble("x");
float y = (float)json.getDouble("y");
@ -178,7 +174,7 @@ public class ViewportMetrics {
* page size, the offset, and the zoom factor.
*/
public ViewportMetrics interpolate(ViewportMetrics to, float t) {
ViewportMetrics result = new ViewportMetrics();
ViewportMetrics result = new ViewportMetrics(this);
result.mPageRect = RectUtils.interpolate(mPageRect, to.mPageRect, t);
result.mCssPageRect = RectUtils.interpolate(mCssPageRect, to.mCssPageRect, t);
result.mZoomFactor = FloatUtils.interpolate(mZoomFactor, to.mZoomFactor, t);
@ -227,4 +223,3 @@ public class ViewportMetrics {
return buff.toString();
}
}

View File

@ -10,8 +10,8 @@ import org.mozilla.gecko.GeckoAppShell;
import org.mozilla.gecko.GeckoEvent;
import org.mozilla.gecko.GeckoEventListener;
import org.mozilla.gecko.gfx.LayerController;
import org.mozilla.gecko.gfx.ViewportMetrics;
import org.mozilla.gecko.gfx.PointUtils;
import org.mozilla.gecko.gfx.ViewportMetrics;
import org.mozilla.gecko.util.FloatUtils;
import org.json.JSONArray;