Handle layer enabled state (#342)

This commit is contained in:
Andre Höpfner
2017-03-28 18:13:35 +02:00
committed by Emux
parent 18d8e18bdf
commit 9fff945978
3 changed files with 95 additions and 4 deletions

View File

@@ -22,12 +22,18 @@ import com.badlogic.gdx.Input.Buttons;
import com.badlogic.gdx.InputProcessor;
import org.oscim.layers.GenericLayer;
import org.oscim.layers.GroupLayer;
import org.oscim.layers.Layer;
import org.oscim.layers.TileGridLayer;
import org.oscim.layers.tile.buildings.BuildingLayer;
import org.oscim.map.Layers;
import org.oscim.map.Map;
import org.oscim.map.ViewController;
import org.oscim.theme.VtmThemes;
import org.oscim.utils.Easing;
import java.util.List;
public class InputHandler implements InputProcessor {
private ViewController mViewport;
@@ -145,10 +151,47 @@ public class InputHandler implements InputProcessor {
}
mMap.render();
break;
case Input.Keys.B:
toggleBuildingLayer(mMap.layers());
mMap.render();
break;
}
return false;
}
private boolean toggleBuildingLayer(Layers layers) {
//search building layer
for (Layer l : layers) {
if (l instanceof BuildingLayer) {
l.setEnabled(!l.isEnabled());
return true;
} else if (l instanceof GroupLayer) {
if (toggleBuildingLayer(((GroupLayer) l).layers)) {
return true;
}
}
}
return false;
}
private boolean toggleBuildingLayer(List<Layer> layers) {
for (Layer l : layers) {
if (l instanceof BuildingLayer) {
l.setEnabled(!l.isEnabled());
return true;
} else if (l instanceof GroupLayer) {
if (toggleBuildingLayer(((GroupLayer) l).layers)) {
return true;
}
}
}
return false;
}
;
@Override
public boolean keyUp(int keycode) {
switch (keycode) {