refactor and document Map
- merge Layers into Map - change UpdateEvent to Map.UpdateListener - make updateLayers protected
This commit is contained in:
@@ -19,8 +19,6 @@ import java.net.URL;
|
||||
import org.oscim.backend.canvas.Bitmap;
|
||||
import org.oscim.core.MapPosition;
|
||||
import org.oscim.core.Tile;
|
||||
import org.oscim.event.MapEvent;
|
||||
import org.oscim.event.UpdateEvent;
|
||||
import org.oscim.gdx.client.GwtBitmap;
|
||||
import org.oscim.layers.tile.TileLayer;
|
||||
import org.oscim.layers.tile.bitmap.TileSource.FadeStep;
|
||||
@@ -50,66 +48,33 @@ public class BitmapTileLayer extends TileLayer<TileLoader> {
|
||||
mFade = mTileSource.getFadeSteps();
|
||||
}
|
||||
|
||||
// @Override
|
||||
// public void onUpdate(MapPosition pos, boolean changed, boolean clear) {
|
||||
// super.onUpdate(pos, changed, clear);
|
||||
//
|
||||
// if (mFade == null) {
|
||||
// mRenderLayer.setBitmapAlpha(1);
|
||||
// return;
|
||||
// }
|
||||
//
|
||||
// float alpha = 0;
|
||||
// for (FadeStep f : mFade) {
|
||||
// if (pos.scale < f.scaleStart || pos.scale > f.scaleEnd)
|
||||
// continue;
|
||||
//
|
||||
// if (f.alphaStart == f.alphaEnd) {
|
||||
// alpha = f.alphaStart;
|
||||
// break;
|
||||
// }
|
||||
// double range = f.scaleEnd / f.scaleStart;
|
||||
// float a = (float)((range - (pos.scale / f.scaleStart)) / range);
|
||||
// a = FastMath.clamp(a, 0, 1);
|
||||
// // interpolate alpha between start and end
|
||||
// alpha = a * f.alphaStart + (1 - a) * f.alphaEnd;
|
||||
// break;
|
||||
// }
|
||||
//
|
||||
// mRenderLayer.setBitmapAlpha(alpha);
|
||||
// }
|
||||
|
||||
@Override
|
||||
public void handleEvent(MapEvent event) {
|
||||
super.handleEvent(event);
|
||||
public void onMapUpdate(MapPosition pos, boolean changed, boolean clear) {
|
||||
super.onMapUpdate(pos, changed, clear);
|
||||
|
||||
if (event instanceof UpdateEvent) {
|
||||
if (mFade == null) {
|
||||
mRenderLayer.setBitmapAlpha(1);
|
||||
return;
|
||||
}
|
||||
|
||||
if (mFade == null) {
|
||||
mRenderLayer.setBitmapAlpha(1);
|
||||
return;
|
||||
}
|
||||
MapPosition pos = mMap.getMapPosition();
|
||||
float alpha = 0;
|
||||
for (FadeStep f : mFade) {
|
||||
if (pos.scale < f.scaleStart || pos.scale > f.scaleEnd)
|
||||
continue;
|
||||
|
||||
float alpha = 0;
|
||||
for (FadeStep f : mFade) {
|
||||
if (pos.scale < f.scaleStart || pos.scale > f.scaleEnd)
|
||||
continue;
|
||||
|
||||
if (f.alphaStart == f.alphaEnd) {
|
||||
alpha = f.alphaStart;
|
||||
break;
|
||||
}
|
||||
double range = f.scaleEnd / f.scaleStart;
|
||||
float a = (float) ((range - (pos.scale / f.scaleStart)) / range);
|
||||
a = FastMath.clamp(a, 0, 1);
|
||||
// interpolate alpha between start and end
|
||||
alpha = a * f.alphaStart + (1 - a) * f.alphaEnd;
|
||||
if (f.alphaStart == f.alphaEnd) {
|
||||
alpha = f.alphaStart;
|
||||
break;
|
||||
}
|
||||
|
||||
mRenderLayer.setBitmapAlpha(alpha);
|
||||
double range = f.scaleEnd / f.scaleStart;
|
||||
float a = (float) ((range - (pos.scale / f.scaleStart)) / range);
|
||||
a = FastMath.clamp(a, 0, 1);
|
||||
// interpolate alpha between start and end
|
||||
alpha = a * f.alphaStart + (1 - a) * f.alphaEnd;
|
||||
break;
|
||||
}
|
||||
|
||||
mRenderLayer.setBitmapAlpha(alpha);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user