- tileWidth = tileset.getWidth()/tilesetCols;
- tileHeight = tileset.getHeight()/tilesetRows;
+ int loadedtileWidth = tileset.getWidth()/tilesetCols;
+ int loadedtileHeight = tileset.getHeight()/tilesetRows;
+
+ // 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;
+ }
- tile[k] = Bitmap.createBitmap(tileset, j*tileWidth, i*tileHeight, tileWidth, tileHeight, matrix, false);
+ tile[k] = Bitmap.createBitmap(tileset, j*loadedtileWidth, i*loadedtileHeight,
+ loadedtileWidth, loadedtileHeight, matrix, false);
- // Handle item selection
- switch (item.getItemId()) {
- case R.id.hint:
- this.postDelayed(new Runnable() { public void run() { onHintActivate(); } }, 100);
- return true;
- case R.id.undo:
- this.postDelayed(new Runnable() { public void run() { onUndoActivate(); } }, 100);
- return true;
- case R.id.clean:
- this.postDelayed(new Runnable() { public void run() { reset(); } }, 100);
- return true;
- case R.id.options:
- return true;
- case R.id.about:
- return true;
- default:
- return false;
- }
+ // Handle item selection
+ switch (item.getItemId()) {
+ case R.id.hint:
+ this.postDelayed(new Runnable() { public void run() { onHintActivate(); } }, 100);
+ return true;
+ case R.id.undo:
+ this.postDelayed(new Runnable() { public void run() { onUndoActivate(); } }, 100);
+ return true;
+ case R.id.clean:
+ this.postDelayed(new Runnable() { public void run() { reset(); } }, 100);
+ return true;
+ case R.id.options:
+ return true;
+ case R.id.about:
+ return true;
+ default:
+ return false;
+ }
// Double buffer dumping
// canvas.drawBitmap(buffer, 0, 0, null);
// Double buffer dumping
// canvas.drawBitmap(buffer, 0, 0, null);
- i<app.board.boardSize[0] &&
- j>=0 && j<app.board.boardSize[1] &&
- app.board.board[i][j]!=0) {
+ i<app.board.boardSize[0] &&
+ j>=0 && j<app.board.boardSize[1] &&
+ app.board.board[i][j]!=0) {