summaryrefslogtreecommitdiff
path: root/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/ComposedTileLayer.java
diff options
context:
space:
mode:
Diffstat (limited to 'android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/ComposedTileLayer.java')
-rw-r--r--android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/ComposedTileLayer.java29
1 files changed, 13 insertions, 16 deletions
diff --git a/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/ComposedTileLayer.java b/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/ComposedTileLayer.java
index 95942850cf13..221cd8dcbbea 100644
--- a/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/ComposedTileLayer.java
+++ b/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/ComposedTileLayer.java
@@ -91,7 +91,7 @@ public abstract class ComposedTileLayer extends Layer {
}
}
- private RectF roundToTileSize(RectF input, IntSize tileSize) {
+ protected RectF roundToTileSize(RectF input, IntSize tileSize) {
float minX = ((int) (input.left / tileSize.width)) * tileSize.width;
float minY = ((int) (input.top / tileSize.height)) * tileSize.height;
float maxX = ((int) (input.right / tileSize.width) + 1) * tileSize.width;
@@ -99,7 +99,7 @@ public abstract class ComposedTileLayer extends Layer {
return new RectF(minX, minY, maxX, maxY);
}
- private RectF inflate(RectF rect, IntSize inflateSize) {
+ protected RectF inflate(RectF rect, IntSize inflateSize) {
RectF newRect = new RectF(rect);
newRect.left -= inflateSize.width;
newRect.left = newRect.left < 0.0f ? 0.0f : newRect.left;
@@ -113,35 +113,34 @@ public abstract class ComposedTileLayer extends Layer {
return newRect;
}
- private RectF normalizeRect(RectF rect, float factor) {
+ protected RectF normalizeRect(RectF rect, float sourceFactor, float targetFactor) {
RectF normalizedRect = new RectF(
- rect.left / factor,
- rect.top / factor,
- rect.right / factor,
- rect.bottom / factor);
+ (rect.left / sourceFactor) * targetFactor,
+ (rect.top / sourceFactor) * targetFactor,
+ (rect.right / sourceFactor) * targetFactor,
+ (rect.bottom / sourceFactor) * targetFactor);
return normalizedRect;
}
- public void reevaluateTiles(ImmutableViewportMetrics viewportMetrics) {
- RectF newCurrentViewPort = inflate(roundToTileSize(viewportMetrics.getViewport(), tileSize), tileSize);
+ public void reevaluateTiles(ImmutableViewportMetrics viewportMetrics, DisplayPortMetrics mDisplayPort) {
+ RectF newCurrentViewPort = getViewPort(viewportMetrics);
float newZoom = viewportMetrics.zoomFactor;
if (!currentViewport.equals(newCurrentViewPort) || currentZoom != newZoom) {
currentViewport = newCurrentViewPort;
currentZoom = newZoom;
- RectF normalizedRect = normalizeRect(currentViewport, currentZoom);
- RectF normalizedPageRect = normalizeRect(viewportMetrics.getPageRect(), currentZoom);
-
- Log.i(LOGTAG, "reevaluateTiles " + normalizedRect + " " + normalizedPageRect);
-
clearMarkedTiles();
addNewTiles(viewportMetrics);
markTiles(viewportMetrics);
}
}
+ protected abstract RectF getViewPort(ImmutableViewportMetrics viewportMetrics);
+
+ protected abstract float getZoom(ImmutableViewportMetrics viewportMetrics);
+
private void addNewTiles(ImmutableViewportMetrics viewportMetrics) {
float zoom = getZoom(viewportMetrics);
@@ -166,8 +165,6 @@ public abstract class ComposedTileLayer extends Layer {
}
}
- protected abstract float getZoom(ImmutableViewportMetrics viewportMetrics);
-
private void clearMarkedTiles() {
List<SubTile> tilesToRemove = new ArrayList<SubTile>();
for (SubTile tile : tiles) {