"Android: Displaying Levels At Optimum Zoom" helper functions for GameDevAlgorithms
public int getTileWidth() {
return dpToPixel(Constants.TILE_WIDTH);
}
public int getTileHeight() {
return dpToPixel(Constants.TILE_HEIGHT);
}
public int dpToPixel(float dp) {
Resources resources = context.getResources();
DisplayMetrics metrics = resources.getDisplayMetrics();
float px = dp * ((float) metrics.densityDpi / DisplayMetrics.DENSITY_DEFAULT);
return (int) px;
}
public static Pair<Integer, Integer> getMaxXY(List<Tile> tiles) {
int maxX = 0;
int maxY = 0;
for (Tile tile : tiles) {
if (tile.getX() > maxX) {
maxX = tile.getX();
}
if (tile.getY() > maxY) {
maxY = tile.getY();
}
}
return new Pair<>(maxX, maxY);
}