Enable free-floating VMU to allow for bigger size parameters

This commit is contained in:
TwistedUmbrella 2014-02-13 15:56:49 -05:00
parent bf5f59833a
commit da9faf7efb
3 changed files with 24 additions and 31 deletions

View File

@ -37,7 +37,6 @@ public class GL2JNIActivity extends Activity {
OnScreenMenu menu;
PopupWindow popUp;
PopupWindow vmuPop;
public static Activity mActivity;
MOGAInput moga = new MOGAInput();
private SharedPreferences prefs;
static String[] portId = { "_A", "_B", "_C", "_D" };
@ -64,10 +63,6 @@ public class GL2JNIActivity extends Activity {
ConfigureFragment.getCurrentConfiguration(prefs);
menu = new OnScreenMenu(GL2JNIActivity.this, prefs);
popUp = menu.createPopup();
if (prefs.getBoolean("vmu_always_on", false)) {
vmuPop = menu.generateVMU();
}
mActivity = GL2JNIActivity.this;
/*
* try { //int rID =
@ -291,8 +286,7 @@ public class GL2JNIActivity extends Activity {
JNIdc.setupMic(sip);
}
//setup vmu screen
JNIdc.setupVmu(menu.getVmuLcd());
vmuPop = menu.generateVMU();
}
private void runCompatibilityMode() {
@ -507,6 +501,18 @@ public class GL2JNIActivity extends Activity {
LayoutParams.WRAP_CONTENT);
}
public void toggleVMU(boolean show) {
if (vmuPop != null) {
if (!vmuPop.isShowing() && show) {
vmuPop.showAtLocation(mView, Gravity.TOP | Gravity.RIGHT, 20, 20);
vmuPop.update(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT);
} else if (!prefs.getBoolean("vmu_always_on", false) && !show) {
vmuPop.dismiss();
}
}
}
public void displayConfig(PopupWindow popUpConfig) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
popUpConfig.showAtLocation(mView, Gravity.BOTTOM, 0, 60);
@ -575,18 +581,13 @@ public class GL2JNIActivity extends Activity {
}
private boolean showMenu() {
if (prefs.getBoolean("vmu_always_on", false)) {
if (vmuPop != null && !vmuPop.isShowing()) {
vmuPop.showAtLocation(mView, Gravity.NO_GRAVITY, 20, 20);
vmuPop.update(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT);
}
}
if (!popUp.isShowing()) {
displayPopUp(popUp);
} else {
if (!menu.dismissPopUps()) {
if (!menu.dismissPopUps()) {
if (!popUp.isShowing()) {
displayPopUp(popUp);
toggleVMU(true);
} else {
popUp.dismiss();
toggleVMU(false);
}
}
return true;

View File

@ -30,7 +30,6 @@ public class OnScreenMenu {
private boolean widescreen;
private boolean limitframes;
private boolean audiodisabled;
private VmuLcd vmuLcd;
private Vector<PopupWindow> popups;
@ -51,14 +50,15 @@ public class OnScreenMenu {
}
public PopupWindow generateVMU() {
VmuLcd vmuLcd = new VmuLcd(mContext);
PopupWindow vmuPop = new PopupWindow(mContext);
int p = OnScreenMenu.getPixelsFromDp(60, mContext);
int p = OnScreenMenu.getPixelsFromDp(72, mContext);
LayoutParams params = new LayoutParams(p, p);
LinearLayout vlay = new LinearLayout(mContext);
vlay.setOrientation(LinearLayout.HORIZONTAL);
vmuLcd = new VmuLcd(mContext);
vlay.addView(vmuLcd, params);
vmuPop.setContentView(vlay);
JNIdc.setupVmu(vmuLcd);
return vmuPop;
}
@ -71,14 +71,10 @@ public class OnScreenMenu {
LinearLayout hlay = new LinearLayout(mContext);
hlay.setOrientation(LinearLayout.HORIZONTAL);
if (!prefs.getBoolean("vmu_always_on", false)) {
vmuLcd = new VmuLcd(mContext);
hlay.addView(vmuLcd, params);
}
hlay.addView(addbut(R.drawable.up, new OnClickListener() {
public void onClick(View v) {
mContext.toggleVMU(false);
popups.remove(popUp);
popUp.dismiss();
}
@ -338,8 +334,4 @@ public class OnScreenMenu {
return but;
}
public VmuLcd getVmuLcd(){
return vmuLcd;
}
}

View File

@ -21,7 +21,7 @@ public class VmuLcd extends View {
public VmuLcd(Context context) {
super(context);
scale = (float)OnScreenMenu.getPixelsFromDp(60, getContext()) / w;
scale = (float)OnScreenMenu.getPixelsFromDp(72, getContext()) / w;
Log.d("VmuLcd", "scale: "+scale);
}