Subclass all popup menus to reduce clutter in GL2JNIView
This commit is contained in:
parent
7cd08c13ed
commit
e70b71828c
|
@ -6,6 +6,7 @@ import android.content.Intent;
|
|||
import android.content.res.Configuration;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.view.Gravity;
|
||||
import android.view.KeyEvent;
|
||||
import android.view.View;
|
||||
|
@ -22,10 +23,11 @@ import android.widget.Toast;
|
|||
public class EditVJoyActivity extends Activity {
|
||||
GL2JNIView mView;
|
||||
GL2JNIViewV6 mView6;
|
||||
OnScreenMenu menu;
|
||||
PopupWindow popUp;
|
||||
LayoutParams params;
|
||||
|
||||
private static float[][] vjoy_d_cached;
|
||||
public static float[][] vjoy_d_cached;
|
||||
|
||||
View addbut(int x, OnClickListener ocl) {
|
||||
ImageButton but = new ImageButton(this);
|
||||
|
@ -37,54 +39,13 @@ public class EditVJoyActivity extends Activity {
|
|||
return but;
|
||||
}
|
||||
|
||||
void createPopup() {
|
||||
popUp = new PopupWindow(this);
|
||||
int p = GL2JNIActivity.getPixelsFromDp(60, this);
|
||||
params = new LayoutParams(p, p);
|
||||
|
||||
LinearLayout hlay = new LinearLayout(this);
|
||||
|
||||
hlay.setOrientation(LinearLayout.HORIZONTAL);
|
||||
|
||||
hlay.addView(addbut(R.drawable.apply, new OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
Intent inte = new Intent(EditVJoyActivity.this, MainActivity.class);
|
||||
startActivity(inte);
|
||||
EditVJoyActivity.this.finish();
|
||||
}
|
||||
}), params);
|
||||
|
||||
hlay.addView(addbut(R.drawable.reset, new OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
// Reset VJoy positions and scale
|
||||
if (MainActivity.force_gpu) {
|
||||
mView6.resetCustomVjoyValues();
|
||||
} else {
|
||||
mView.resetCustomVjoyValues();
|
||||
}
|
||||
popUp.dismiss();
|
||||
}
|
||||
}), params);
|
||||
|
||||
hlay.addView(addbut(R.drawable.close, new OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
if (MainActivity.force_gpu) {
|
||||
mView6.restoreCustomVjoyValues(vjoy_d_cached);
|
||||
} else {
|
||||
mView.restoreCustomVjoyValues(vjoy_d_cached);
|
||||
}
|
||||
popUp.dismiss();
|
||||
}
|
||||
}), params);
|
||||
|
||||
popUp.setContentView(hlay);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle icicle) {
|
||||
requestWindowFeature(Window.FEATURE_NO_TITLE);
|
||||
|
||||
createPopup();
|
||||
menu = new OnScreenMenu(this);
|
||||
menu.setGLView(mView, mView6);
|
||||
popUp = menu.createPopup();
|
||||
|
||||
// Call parent onCreate()
|
||||
super.onCreate(icicle);
|
||||
|
|
|
@ -1,33 +1,25 @@
|
|||
package com.reicast.emulator;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
|
||||
import tv.ouya.console.api.OuyaController;
|
||||
import android.annotation.TargetApi;
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.content.res.Configuration;
|
||||
import android.net.Uri;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.os.Environment;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.util.Log;
|
||||
import android.view.Gravity;
|
||||
import android.view.InputDevice;
|
||||
import android.view.KeyEvent;
|
||||
import android.view.MotionEvent;
|
||||
import android.view.View;
|
||||
import android.view.View.OnClickListener;
|
||||
import android.view.ViewGroup.LayoutParams;
|
||||
import android.view.Window;
|
||||
import android.widget.ImageButton;
|
||||
import android.widget.ImageView.ScaleType;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.PopupWindow;
|
||||
import android.widget.Toast;
|
||||
|
||||
|
@ -35,8 +27,8 @@ import android.widget.Toast;
|
|||
public class GL2JNIActivity extends Activity {
|
||||
GL2JNIView mView;
|
||||
GL2JNIViewV6 mView6;
|
||||
OnScreenMenu menu;
|
||||
PopupWindow popUp;
|
||||
LayoutParams params;
|
||||
MOGAInput moga = new MOGAInput();
|
||||
private SharedPreferences prefs;
|
||||
static String[] portId = { "_A", "_B", "_C", "_D" };
|
||||
|
@ -46,232 +38,23 @@ public class GL2JNIActivity extends Activity {
|
|||
int[] name = { -1, -1, -1, -1 };
|
||||
float[] globalLS_X = new float[4], globalLS_Y = new float[4],
|
||||
previousLS_X = new float[4], previousLS_Y = new float[4];
|
||||
|
||||
private File sdcard = Environment.getExternalStorageDirectory();
|
||||
private String home_directory = sdcard + "/dc";
|
||||
private int frameskip;
|
||||
private boolean widescreen;
|
||||
private boolean limitframes;
|
||||
|
||||
public static HashMap<Integer, String> deviceId_deviceDescriptor = new HashMap<Integer, String>();
|
||||
public static HashMap<String, Integer> deviceDescriptor_PlayerNum = new HashMap<String, Integer>();
|
||||
|
||||
int map[][];
|
||||
|
||||
public static int getPixelsFromDp(float dps, Context context) {
|
||||
return (int) (dps * context.getResources().getDisplayMetrics().density + 0.5f);
|
||||
}
|
||||
|
||||
View addbut(int x, OnClickListener ocl) {
|
||||
ImageButton but = new ImageButton(this);
|
||||
|
||||
but.setImageResource(x);
|
||||
but.setScaleType(ScaleType.FIT_CENTER);
|
||||
but.setOnClickListener(ocl);
|
||||
|
||||
return but;
|
||||
}
|
||||
|
||||
static byte[] syms;
|
||||
|
||||
void createPopup() {
|
||||
popUp = new PopupWindow(this);
|
||||
// LinearLayout layout = new LinearLayout(this);
|
||||
|
||||
// tv = new TextView(this);
|
||||
int p = getPixelsFromDp(60, this);
|
||||
params = new LayoutParams(p, p);
|
||||
|
||||
// layout.setOrientation(LinearLayout.VERTICAL);
|
||||
// tv.setText("Hi this is a sample text for popup window");
|
||||
// layout.addView(tv, params);
|
||||
|
||||
LinearLayout hlay = new LinearLayout(this);
|
||||
|
||||
hlay.setOrientation(LinearLayout.HORIZONTAL);
|
||||
|
||||
hlay.addView(addbut(R.drawable.close, new OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
Intent inte = new Intent(GL2JNIActivity.this,
|
||||
MainActivity.class);
|
||||
startActivity(inte);
|
||||
GL2JNIActivity.this.finish();
|
||||
}
|
||||
}), params);
|
||||
|
||||
if(prefs.getBoolean("debug_profling_tools", false)){
|
||||
|
||||
hlay.addView(addbut(R.drawable.clear_cache, new OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
JNIdc.send(0, 0); //Killing texture cache
|
||||
popUp.dismiss();
|
||||
}
|
||||
}), params);
|
||||
|
||||
hlay.addView(addbut(R.drawable.profiler, new OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
JNIdc.send(1, 3000); //sample_Start(param);
|
||||
popUp.dismiss();
|
||||
}
|
||||
}), params);
|
||||
|
||||
hlay.addView(addbut(R.drawable.profiler, new OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
JNIdc.send(1, 0); //sample_Start(param);
|
||||
popUp.dismiss();
|
||||
}
|
||||
}), params);
|
||||
|
||||
// hlay.addView(addbut(R.drawable.disk_unknown, new OnClickListener() {
|
||||
// public void onClick(View v) {
|
||||
// JNIdc.send(0, 1); //settings.pvr.ta_skip
|
||||
// popUp.dismiss();
|
||||
// }
|
||||
// }), params);
|
||||
|
||||
hlay.addView(addbut(R.drawable.print_stats, new OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
JNIdc.send(0, 2);
|
||||
popUp.dismiss(); //print_stats=true;
|
||||
}
|
||||
}), params);
|
||||
}
|
||||
hlay.addView(addbut(R.drawable.vmu_swap, new OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
JNIdc.vmuSwap();
|
||||
popUp.dismiss();
|
||||
}
|
||||
}), params);
|
||||
|
||||
hlay.addView(addbut(R.drawable.config, new OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
displayConfigPopup();
|
||||
popUp.dismiss();
|
||||
}
|
||||
}), params);
|
||||
|
||||
// layout.addView(hlay,params);
|
||||
popUp.setContentView(hlay);
|
||||
}
|
||||
|
||||
void displayConfigPopup() {
|
||||
final PopupWindow popUpConfig = new PopupWindow(this);
|
||||
// LinearLayout layout = new LinearLayout(this);
|
||||
|
||||
// tv = new TextView(this);
|
||||
int p = getPixelsFromDp(60, this);
|
||||
LayoutParams configParams = new LayoutParams(p, p);
|
||||
|
||||
// layout.setOrientation(LinearLayout.VERTICAL);
|
||||
// tv.setText("Hi this is a sample text for popup window");
|
||||
// layout.addView(tv, params);
|
||||
|
||||
LinearLayout hlay = new LinearLayout(this);
|
||||
|
||||
hlay.setOrientation(LinearLayout.HORIZONTAL);
|
||||
|
||||
hlay.addView(addbut(R.drawable.close, new OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
popUpConfig.dismiss();
|
||||
}
|
||||
}), configParams);
|
||||
View fullscreen;
|
||||
if (!widescreen) {
|
||||
fullscreen = addbut(R.drawable.widescreen, new OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
JNIdc.widescreen(1);
|
||||
popUpConfig.dismiss();
|
||||
widescreen = true;
|
||||
}
|
||||
});
|
||||
} else {
|
||||
fullscreen = addbut(R.drawable.normal_view, new OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
JNIdc.widescreen(0);
|
||||
popUpConfig.dismiss();
|
||||
widescreen = false;
|
||||
}
|
||||
});
|
||||
}
|
||||
hlay.addView(fullscreen, params);
|
||||
View frames_up = addbut(R.drawable.frames_up, new OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
frameskip++;
|
||||
JNIdc.frameskip(frameskip);
|
||||
popUpConfig.dismiss();
|
||||
displayConfigPopup();
|
||||
|
||||
}
|
||||
});
|
||||
hlay.addView(frames_up, params);
|
||||
if (frameskip >= 5) {
|
||||
frames_up.setEnabled(false);
|
||||
}
|
||||
View frames_down = addbut(R.drawable.frames_down, new OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
frameskip--;
|
||||
JNIdc.frameskip(frameskip);
|
||||
popUpConfig.dismiss();
|
||||
displayConfigPopup();
|
||||
}
|
||||
});
|
||||
hlay.addView(frames_down, params);
|
||||
if (frameskip <= 0) {
|
||||
frames_down.setEnabled(false);
|
||||
}
|
||||
View framelimit;
|
||||
if (!limitframes) {
|
||||
framelimit = addbut(R.drawable.frames_limit_on, new OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
JNIdc.limitfps(1);
|
||||
popUpConfig.dismiss();
|
||||
limitframes = true;
|
||||
}
|
||||
});
|
||||
} else {
|
||||
framelimit = addbut(R.drawable.frames_limit_off, new OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
JNIdc.limitfps(0);
|
||||
popUpConfig.dismiss();
|
||||
limitframes = false;
|
||||
}
|
||||
});
|
||||
}
|
||||
hlay.addView(framelimit, params);
|
||||
hlay.addView(addbut(R.drawable.up, new OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
popUpConfig.dismiss();
|
||||
if (MainActivity.force_gpu) {
|
||||
popUp.showAtLocation(mView6, Gravity.BOTTOM, 0, 0);
|
||||
} else {
|
||||
popUp.showAtLocation(mView, Gravity.BOTTOM, 0, 0);
|
||||
}
|
||||
popUp.update(LayoutParams.WRAP_CONTENT,
|
||||
LayoutParams.WRAP_CONTENT);
|
||||
}
|
||||
}), configParams);
|
||||
|
||||
// layout.addView(hlay,params);
|
||||
popUpConfig.setContentView(hlay);
|
||||
if (popUp.isShowing()) {
|
||||
popUp.dismiss();
|
||||
}
|
||||
if (MainActivity.force_gpu) {
|
||||
popUpConfig.showAtLocation(mView6, Gravity.BOTTOM, 0, 0);
|
||||
} else {
|
||||
popUpConfig.showAtLocation(mView, Gravity.BOTTOM, 0, 0);
|
||||
}
|
||||
popUpConfig.update(LayoutParams.WRAP_CONTENT,
|
||||
LayoutParams.WRAP_CONTENT);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle icicle) {
|
||||
requestWindowFeature(Window.FEATURE_NO_TITLE);
|
||||
moga.onCreate(this);
|
||||
|
||||
prefs = PreferenceManager.getDefaultSharedPreferences(this);
|
||||
createPopup();
|
||||
menu = new OnScreenMenu(this, prefs);
|
||||
menu.setGLView(mView, mView6);
|
||||
popUp = menu.createPopup();
|
||||
/*
|
||||
* try { //int rID =
|
||||
* getResources().getIdentifier("fortyonepost.com.lfas:raw/syms.map",
|
||||
|
@ -281,10 +64,7 @@ public class GL2JNIActivity extends Activity {
|
|||
* syms = new byte[(int) is.available()]; is.read(syms); is.close(); }
|
||||
* catch (IOException e) { e.getMessage(); e.printStackTrace(); }
|
||||
*/
|
||||
home_directory = prefs.getString("home_directory", home_directory);
|
||||
ConfigureFragment.getCurrentConfiguration(home_directory);
|
||||
widescreen = ConfigureFragment.widescreen;
|
||||
frameskip = ConfigureFragment.frameskip;
|
||||
|
||||
|
||||
String fileName = null;
|
||||
|
||||
|
|
|
@ -0,0 +1,295 @@
|
|||
package com.reicast.emulator;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.os.Environment;
|
||||
import android.view.Gravity;
|
||||
import android.view.View;
|
||||
import android.view.View.OnClickListener;
|
||||
import android.view.ViewGroup.LayoutParams;
|
||||
import android.widget.ImageButton;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.PopupWindow;
|
||||
import android.widget.ImageView.ScaleType;
|
||||
|
||||
public class OnScreenMenu {
|
||||
|
||||
private Context mContext;
|
||||
private SharedPreferences prefs;
|
||||
LayoutParams params;
|
||||
private int frameskip;
|
||||
private boolean widescreen;
|
||||
private boolean limitframes;
|
||||
|
||||
GL2JNIView mView;
|
||||
GL2JNIViewV6 mView6;
|
||||
|
||||
private File sdcard = Environment.getExternalStorageDirectory();
|
||||
private String home_directory = sdcard + "/dc";
|
||||
|
||||
public OnScreenMenu(Context mContext, SharedPreferences prefs) {
|
||||
this.mContext = mContext;
|
||||
this.prefs = prefs;
|
||||
home_directory = prefs.getString("home_directory", home_directory);
|
||||
ConfigureFragment.getCurrentConfiguration(home_directory);
|
||||
widescreen = ConfigureFragment.widescreen;
|
||||
frameskip = ConfigureFragment.frameskip;
|
||||
}
|
||||
|
||||
public OnScreenMenu(Context mContext) {
|
||||
this.mContext = mContext;
|
||||
}
|
||||
|
||||
public void setGLView(GL2JNIView mView, GL2JNIViewV6 mView6) {
|
||||
this.mView = mView;
|
||||
this.mView6 = mView6;
|
||||
}
|
||||
|
||||
PopupWindow createPopup() {
|
||||
final PopupWindow popUp = new PopupWindow(mContext);
|
||||
|
||||
int p = getPixelsFromDp(60, mContext);
|
||||
params = new LayoutParams(p, p);
|
||||
|
||||
LinearLayout hlay = new LinearLayout(mContext);
|
||||
|
||||
hlay.setOrientation(LinearLayout.HORIZONTAL);
|
||||
|
||||
hlay.addView(addbut(R.drawable.close, new OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
Intent inte = new Intent(mContext,
|
||||
MainActivity.class);
|
||||
mContext.startActivity(inte);
|
||||
((Activity) mContext).finish();
|
||||
}
|
||||
}), params);
|
||||
|
||||
if(prefs.getBoolean("debug_profling_tools", false)){
|
||||
|
||||
hlay.addView(addbut(R.drawable.clear_cache, new OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
JNIdc.send(0, 0); //Killing texture cache
|
||||
popUp.dismiss();
|
||||
}
|
||||
}), params);
|
||||
|
||||
hlay.addView(addbut(R.drawable.profiler, new OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
JNIdc.send(1, 3000); //sample_Start(param);
|
||||
popUp.dismiss();
|
||||
}
|
||||
}), params);
|
||||
|
||||
hlay.addView(addbut(R.drawable.profiler, new OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
JNIdc.send(1, 0); //sample_Start(param);
|
||||
popUp.dismiss();
|
||||
}
|
||||
}), params);
|
||||
|
||||
// hlay.addView(addbut(R.drawable.disk_unknown, new OnClickListener() {
|
||||
// public void onClick(View v) {
|
||||
// JNIdc.send(0, 1); //settings.pvr.ta_skip
|
||||
// popUp.dismiss();
|
||||
// }
|
||||
// }), params);
|
||||
|
||||
hlay.addView(addbut(R.drawable.print_stats, new OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
JNIdc.send(0, 2);
|
||||
popUp.dismiss(); //print_stats=true;
|
||||
}
|
||||
}), params);
|
||||
}
|
||||
hlay.addView(addbut(R.drawable.vmu_swap, new OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
JNIdc.vmuSwap();
|
||||
popUp.dismiss();
|
||||
}
|
||||
}), params);
|
||||
|
||||
hlay.addView(addbut(R.drawable.config, new OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
displayConfigPopup(popUp);
|
||||
popUp.dismiss();
|
||||
}
|
||||
}), params);
|
||||
|
||||
// layout.addView(hlay,params);
|
||||
popUp.setContentView(hlay);
|
||||
return popUp;
|
||||
}
|
||||
|
||||
PopupWindow createVjoyPopup() {
|
||||
final PopupWindow popUp = new PopupWindow(mContext);
|
||||
int p = getPixelsFromDp(60, mContext);
|
||||
params = new LayoutParams(p, p);
|
||||
|
||||
LinearLayout hlay = new LinearLayout(mContext);
|
||||
|
||||
hlay.setOrientation(LinearLayout.HORIZONTAL);
|
||||
|
||||
hlay.addView(addbut(R.drawable.apply, new OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
Intent inte = new Intent(mContext, MainActivity.class);
|
||||
mContext.startActivity(inte);
|
||||
((Activity) mContext).finish();
|
||||
}
|
||||
}), params);
|
||||
|
||||
hlay.addView(addbut(R.drawable.reset, new OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
// Reset VJoy positions and scale
|
||||
if (MainActivity.force_gpu) {
|
||||
mView6.resetCustomVjoyValues();
|
||||
} else {
|
||||
mView.resetCustomVjoyValues();
|
||||
}
|
||||
popUp.dismiss();
|
||||
}
|
||||
}), params);
|
||||
|
||||
hlay.addView(addbut(R.drawable.close, new OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
if (MainActivity.force_gpu) {
|
||||
mView6.restoreCustomVjoyValues(EditVJoyActivity.vjoy_d_cached);
|
||||
} else {
|
||||
mView.restoreCustomVjoyValues(EditVJoyActivity.vjoy_d_cached);
|
||||
}
|
||||
popUp.dismiss();
|
||||
}
|
||||
}), params);
|
||||
|
||||
popUp.setContentView(hlay);
|
||||
return popUp;
|
||||
}
|
||||
|
||||
void displayConfigPopup(final PopupWindow popUp) {
|
||||
final PopupWindow popUpConfig = new PopupWindow(mContext);
|
||||
// LinearLayout layout = new LinearLayout(this);
|
||||
|
||||
// tv = new TextView(this);
|
||||
int p = getPixelsFromDp(60, mContext);
|
||||
LayoutParams configParams = new LayoutParams(p, p);
|
||||
|
||||
// layout.setOrientation(LinearLayout.VERTICAL);
|
||||
// tv.setText("Hi this is a sample text for popup window");
|
||||
// layout.addView(tv, params);
|
||||
|
||||
LinearLayout hlay = new LinearLayout(mContext);
|
||||
|
||||
hlay.setOrientation(LinearLayout.HORIZONTAL);
|
||||
|
||||
hlay.addView(addbut(R.drawable.close, new OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
popUpConfig.dismiss();
|
||||
}
|
||||
}), configParams);
|
||||
View fullscreen;
|
||||
if (!widescreen) {
|
||||
fullscreen = addbut(R.drawable.widescreen, new OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
JNIdc.widescreen(1);
|
||||
popUpConfig.dismiss();
|
||||
widescreen = true;
|
||||
}
|
||||
});
|
||||
} else {
|
||||
fullscreen = addbut(R.drawable.normal_view, new OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
JNIdc.widescreen(0);
|
||||
popUpConfig.dismiss();
|
||||
widescreen = false;
|
||||
}
|
||||
});
|
||||
}
|
||||
hlay.addView(fullscreen, params);
|
||||
View frames_up = addbut(R.drawable.frames_up, new OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
frameskip++;
|
||||
JNIdc.frameskip(frameskip);
|
||||
popUpConfig.dismiss();
|
||||
displayConfigPopup(popUp);
|
||||
|
||||
}
|
||||
});
|
||||
hlay.addView(frames_up, params);
|
||||
if (frameskip >= 5) {
|
||||
frames_up.setEnabled(false);
|
||||
}
|
||||
View frames_down = addbut(R.drawable.frames_down, new OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
frameskip--;
|
||||
JNIdc.frameskip(frameskip);
|
||||
popUpConfig.dismiss();
|
||||
displayConfigPopup(popUp);
|
||||
}
|
||||
});
|
||||
hlay.addView(frames_down, params);
|
||||
if (frameskip <= 0) {
|
||||
frames_down.setEnabled(false);
|
||||
}
|
||||
View framelimit;
|
||||
if (!limitframes) {
|
||||
framelimit = addbut(R.drawable.frames_limit_on, new OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
JNIdc.limitfps(1);
|
||||
popUpConfig.dismiss();
|
||||
limitframes = true;
|
||||
}
|
||||
});
|
||||
} else {
|
||||
framelimit = addbut(R.drawable.frames_limit_off, new OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
JNIdc.limitfps(0);
|
||||
popUpConfig.dismiss();
|
||||
limitframes = false;
|
||||
}
|
||||
});
|
||||
}
|
||||
hlay.addView(framelimit, params);
|
||||
hlay.addView(addbut(R.drawable.up, new OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
popUpConfig.dismiss();
|
||||
if (MainActivity.force_gpu) {
|
||||
popUp.showAtLocation(mView6, Gravity.BOTTOM, 0, 0);
|
||||
} else {
|
||||
popUp.showAtLocation(mView, Gravity.BOTTOM, 0, 0);
|
||||
}
|
||||
popUp.update(LayoutParams.WRAP_CONTENT,
|
||||
LayoutParams.WRAP_CONTENT);
|
||||
}
|
||||
}), configParams);
|
||||
|
||||
// layout.addView(hlay,params);
|
||||
popUpConfig.setContentView(hlay);
|
||||
if (popUp.isShowing()) {
|
||||
popUp.dismiss();
|
||||
}
|
||||
if (MainActivity.force_gpu) {
|
||||
popUpConfig.showAtLocation(mView6, Gravity.BOTTOM, 0, 0);
|
||||
} else {
|
||||
popUpConfig.showAtLocation(mView, Gravity.BOTTOM, 0, 0);
|
||||
}
|
||||
popUpConfig.update(LayoutParams.WRAP_CONTENT,
|
||||
LayoutParams.WRAP_CONTENT);
|
||||
}
|
||||
|
||||
public static int getPixelsFromDp(float dps, Context context) {
|
||||
return (int) (dps * context.getResources().getDisplayMetrics().density + 0.5f);
|
||||
}
|
||||
|
||||
View addbut(int x, OnClickListener ocl) {
|
||||
ImageButton but = new ImageButton(mContext);
|
||||
|
||||
but.setImageResource(x);
|
||||
but.setScaleType(ScaleType.FIT_CENTER);
|
||||
but.setOnClickListener(ocl);
|
||||
|
||||
return but;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue