From: gitknilch Date: Thu, 28 Feb 2013 17:06:38 +0000 (+0100) Subject: add scaling. X-Git-Url: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/FreeShisen/commitdiff_plain/952b2e4dbd6df39b40e72e1be918812a5b2fb34a add scaling. Signed-off-by: gitknilch --- diff --git a/src/de/cwde/shisensho/ShisenShoView.java b/src/de/cwde/shisensho/ShisenShoView.java index 4ff8306..06162c1 100644 --- a/src/de/cwde/shisensho/ShisenShoView.java +++ b/src/de/cwde/shisensho/ShisenShoView.java @@ -86,20 +86,28 @@ class ShisenShoView extends SurfaceView implements SurfaceHolder.Callback { // The tile set has 4 rows x 9 columns tilesetRows = 4; tilesetCols = 9; - tileWidth = tileset.getWidth()/tilesetCols; - tileHeight = tileset.getHeight()/tilesetRows; + int loadedtileWidth = tileset.getWidth()/tilesetCols; + int loadedtileHeight = tileset.getHeight()/tilesetRows; tile = new Bitmap[tilesetRows*tilesetCols]; - // align to screen + // align to screen: + // "large" is 16x6, and we want to have a nice border, so we use 17x7 and + // choose the lowest scale so everything fits + float scalex = ((float) screenWidth/17) / loadedtileWidth; + float scaley = ((float) screenHeight/7) / loadedtileHeight; + if (scaley < scalex) { + scalex = scaley; + } else { + scaley = scalex; + } Matrix matrix = new Matrix(); - matrix.setScale(1.0f, 1.0f); // FIXME! - - // TODO: go on. + matrix.setScale(scalex, scaley); int k=0; for (int i=0; i