From 31f4ebb48931db321d1a111594f534f21555187d Mon Sep 17 00:00:00 2001
From: BogDan Vatra <bogdan@kde.org>
Date: Mon, 29 Dec 2014 14:47:49 +0200
Subject: [PATCH 03/11] Add scaleRatio variable.
This variable is needed to scale up the GUI. It's just a temporary
solution until GUI will support DPI.
---
.../qtcreator/android/src/com/play0ad/Activity.java | 3 +++
.../android/src/org/libsdl/app/SDLActivity.java | 20 ++++++++++----------
2 files changed, 13 insertions(+), 10 deletions(-)
diff --git a/build/android/qtcreator/android/src/com/play0ad/Activity.java b/build/android/qtcreator/android/src/com/play0ad/Activity.java
index 456a0f6..9d5dca2 100644
a
|
b
|
public class Activity extends SDLActivity {
|
70 | 70 | w = metrics.heightPixels; |
71 | 71 | h = metrics.widthPixels; |
72 | 72 | } |
| 73 | scaleRatio = 0.5f; |
| 74 | w *= scaleRatio; |
| 75 | h *= scaleRatio; |
73 | 76 | Native.setenv("ANDROID_SCREEN_WIDTH", Integer.toString(w), true); |
74 | 77 | Native.setenv("ANDROID_SCREEN_HEIGHT", Integer.toString(h), true); |
75 | 78 | |
diff --git a/build/android/qtcreator/android/src/org/libsdl/app/SDLActivity.java b/build/android/qtcreator/android/src/org/libsdl/app/SDLActivity.java
index 5c3d342..f6641cb 100644
a
|
b
|
|
1 | 1 | package org.libsdl.app; |
2 | 2 | |
3 | | import java.io.*; |
4 | 3 | import java.util.ArrayList; |
5 | 4 | import java.util.Arrays; |
6 | 5 | import java.util.Collections; |
… |
… |
import android.view.inputmethod.EditorInfo;
|
15 | 14 | import android.view.inputmethod.InputConnection; |
16 | 15 | import android.view.inputmethod.InputMethodManager; |
17 | 16 | import android.widget.AbsoluteLayout; |
18 | | import android.net.*; |
19 | 17 | import android.os.*; |
20 | 18 | import android.util.Log; |
21 | 19 | import android.graphics.*; |
… |
… |
public class SDLActivity extends Activity {
|
39 | 37 | protected static View mTextEdit; |
40 | 38 | protected static ViewGroup mLayout; |
41 | 39 | protected static SDLJoystickHandler mJoystickHandler; |
42 | | |
| 40 | protected static float scaleRatio = 1.0f; |
43 | 41 | // This is what SDL runs in. It invokes SDL_main(), eventually |
44 | 42 | protected static Thread mSDLThread; |
45 | 43 | |
… |
… |
public class SDLActivity extends Activity {
|
92 | 90 | } |
93 | 91 | |
94 | 92 | mLayout = new AbsoluteLayout(this); |
95 | | mLayout.addView(mSurface); |
96 | | |
| 93 | AbsoluteLayout.LayoutParams params = new AbsoluteLayout.LayoutParams(AbsoluteLayout.LayoutParams.MATCH_PARENT, AbsoluteLayout.LayoutParams.MATCH_PARENT, 0, 0); |
| 94 | mLayout.addView(mSurface, params); |
97 | 95 | setContentView(mLayout); |
98 | 96 | } |
99 | 97 | |
… |
… |
class SDLSurface extends SurfaceView implements SurfaceHolder.Callback,
|
547 | 545 | } |
548 | 546 | |
549 | 547 | // Some arbitrary defaults to avoid a potential division by zero |
550 | | mWidth = 1.0f; |
551 | | mHeight = 1.0f; |
| 548 | mWidth = SDLActivity.scaleRatio; |
| 549 | mHeight = SDLActivity.scaleRatio; |
552 | 550 | } |
553 | 551 | |
554 | 552 | public Surface getNativeSurface() { |
… |
… |
class SDLSurface extends SurfaceView implements SurfaceHolder.Callback,
|
558 | 556 | // Called when we have a valid drawing surface |
559 | 557 | @Override |
560 | 558 | public void surfaceCreated(SurfaceHolder holder) { |
561 | | Log.v("SDL", "surfaceCreated()"); |
| 559 | Log.v("SDL", "surfaceCreated() w=" + getWidth() + " h=" + getHeight()); |
562 | 560 | holder.setType(SurfaceHolder.SURFACE_TYPE_GPU); |
| 561 | if (SDLActivity.scaleRatio != 1.0) |
| 562 | holder.setFixedSize((int) (getWidth() * SDLActivity.scaleRatio), (int) (getHeight() * SDLActivity.scaleRatio)); |
563 | 563 | } |
564 | 564 | |
565 | 565 | // Called when we lose the surface |
… |
… |
class SDLSurface extends SurfaceView implements SurfaceHolder.Callback,
|
623 | 623 | break; |
624 | 624 | } |
625 | 625 | |
626 | | mWidth = width; |
627 | | mHeight = height; |
| 626 | mWidth = width / SDLActivity.scaleRatio; |
| 627 | mHeight = height / SDLActivity.scaleRatio; |
628 | 628 | SDLActivity.onNativeResize(width, height, sdlFormat); |
629 | 629 | Log.v("SDL", "Window size:" + width + "x"+height); |
630 | 630 | |