X-Git-Url: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/FreeShisen/blobdiff_plain/42aa846accf450791edf0b254db044867179eb41..952b2e4dbd6df39b40e72e1be918812a5b2fb34a:/src/de/cwde/shisensho/ShisenShoView.java diff --git a/src/de/cwde/shisensho/ShisenShoView.java b/src/de/cwde/shisensho/ShisenShoView.java index 48d16cb..06162c1 100644 --- a/src/de/cwde/shisensho/ShisenShoView.java +++ b/src/de/cwde/shisensho/ShisenShoView.java @@ -11,6 +11,7 @@ import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Color; +import android.graphics.Matrix; import android.graphics.Paint; import android.graphics.Paint.Align; import android.graphics.Paint.Cap; @@ -85,13 +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: + // "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(scalex, scaley); + int k=0; for (int i=0; i=0 && - i=0 && j=0 && j=0 && i=0 && j=0 && j