mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-09 19:35:51 +00:00
Bug 779366 - Part 2b: Remove ViewportMetrics' dependency on GeckoApp by passing DisplayMetrics. r=sriram
This commit is contained in:
parent
41d4ca6105
commit
8ddeeaaf87
@ -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;
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user