git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@7822 75d07b2b-3a1a-0410-a2c5-0572b91ccdca3.0
parent
235646f38f
commit
b2c7849355
@ -1,453 +1,469 @@ |
|||||||
/* |
/* |
||||||
* Copyright (c) 2009-2010 jMonkeyEngine |
* Copyright (c) 2009-2010 jMonkeyEngine |
||||||
* All rights reserved. |
* All rights reserved. |
||||||
* |
* |
||||||
* Redistribution and use in source and binary forms, with or without |
* Redistribution and use in source and binary forms, with or without |
||||||
* modification, are permitted provided that the following conditions are |
* modification, are permitted provided that the following conditions are |
||||||
* met: |
* met: |
||||||
* |
* |
||||||
* * Redistributions of source code must retain the above copyright |
* * Redistributions of source code must retain the above copyright |
||||||
* notice, this list of conditions and the following disclaimer. |
* notice, this list of conditions and the following disclaimer. |
||||||
* |
* |
||||||
* * Redistributions in binary form must reproduce the above copyright |
* * Redistributions in binary form must reproduce the above copyright |
||||||
* notice, this list of conditions and the following disclaimer in the |
* notice, this list of conditions and the following disclaimer in the |
||||||
* documentation and/or other materials provided with the distribution. |
* documentation and/or other materials provided with the distribution. |
||||||
* |
* |
||||||
* * Neither the name of 'jMonkeyEngine' nor the names of its contributors |
* * Neither the name of 'jMonkeyEngine' nor the names of its contributors |
||||||
* may be used to endorse or promote products derived from this software |
* may be used to endorse or promote products derived from this software |
||||||
* without specific prior written permission. |
* without specific prior written permission. |
||||||
* |
* |
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED |
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED |
||||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR |
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR |
||||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR |
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR |
||||||
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, |
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, |
||||||
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, |
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, |
||||||
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR |
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR |
||||||
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF |
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF |
||||||
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING |
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING |
||||||
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
||||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||||
*/ |
*/ |
||||||
package com.jme3.system; |
package com.jme3.system; |
||||||
|
|
||||||
import com.jme3.renderer.Renderer; |
import com.jme3.renderer.Renderer; |
||||||
import java.io.IOException; |
import java.io.IOException; |
||||||
import java.io.InputStream; |
import java.io.InputStream; |
||||||
import java.io.OutputStream; |
import java.io.OutputStream; |
||||||
import java.io.UnsupportedEncodingException; |
import java.io.UnsupportedEncodingException; |
||||||
import java.util.HashMap; |
import java.util.HashMap; |
||||||
import java.util.Map; |
import java.util.Map; |
||||||
import java.util.Properties; |
import java.util.Properties; |
||||||
import java.util.prefs.BackingStoreException; |
import java.util.prefs.BackingStoreException; |
||||||
import java.util.prefs.Preferences; |
import java.util.prefs.Preferences; |
||||||
|
|
||||||
public class AppSettings extends HashMap<String, Object> { |
public class AppSettings extends HashMap<String, Object> { |
||||||
|
|
||||||
private static final AppSettings defaults = new AppSettings(false); |
private static final AppSettings defaults = new AppSettings(false); |
||||||
public static final String LWJGL_OPENGL1 = "LWJGL-OPENGL1", |
public static final String LWJGL_OPENGL1 = "LWJGL-OPENGL1", |
||||||
LWJGL_OPENGL2 = "LWJGL-OpenGL2", |
LWJGL_OPENGL2 = "LWJGL-OpenGL2", |
||||||
LWJGL_OPENGL3 = "LWJGL-OpenGL3", |
LWJGL_OPENGL3 = "LWJGL-OpenGL3", |
||||||
LWJGL_OPENGL_ANY = "LWJGL-OpenGL-Any", |
LWJGL_OPENGL_ANY = "LWJGL-OpenGL-Any", |
||||||
JOGL = "JOGL", |
JOGL = "JOGL", |
||||||
NULL = "NULL"; |
NULL = "NULL"; |
||||||
public static final String LWJGL_OPENAL = "LWJGL"; |
public static final String LWJGL_OPENAL = "LWJGL"; |
||||||
private String settingsDialogImage = "/com/jme3/app/Monkey.png"; |
private String settingsDialogImage = "/com/jme3/app/Monkey.png"; |
||||||
|
|
||||||
static { |
static { |
||||||
defaults.put("Width", 640); |
defaults.put("Width", 640); |
||||||
defaults.put("Height", 480); |
defaults.put("Height", 480); |
||||||
defaults.put("BitsPerPixel", 24); |
defaults.put("BitsPerPixel", 24); |
||||||
defaults.put("Frequency", 60); |
defaults.put("Frequency", 60); |
||||||
defaults.put("DepthBits", 24); |
defaults.put("DepthBits", 24); |
||||||
defaults.put("StencilBits", 0); |
defaults.put("StencilBits", 0); |
||||||
defaults.put("Samples", 0); |
defaults.put("Samples", 0); |
||||||
defaults.put("Fullscreen", false); |
defaults.put("Fullscreen", false); |
||||||
defaults.put("Title", "jMonkey Engine 3.0"); |
defaults.put("Title", "jMonkey Engine 3.0"); |
||||||
defaults.put("Renderer", LWJGL_OPENGL2); |
defaults.put("Renderer", LWJGL_OPENGL2); |
||||||
defaults.put("AudioRenderer", LWJGL_OPENAL); |
defaults.put("AudioRenderer", LWJGL_OPENAL); |
||||||
defaults.put("DisableJoysticks", true); |
defaults.put("DisableJoysticks", true); |
||||||
defaults.put("UseInput", true); |
defaults.put("UseInput", true); |
||||||
defaults.put("VSync", false); |
defaults.put("VSync", false); |
||||||
defaults.put("FrameRate", -1); |
defaults.put("FrameRate", -1); |
||||||
// defaults.put("Icons", null);
|
// defaults.put("Icons", null);
|
||||||
|
|
||||||
// disable these settings to benchmark speed
|
// disable these settings to benchmark speed
|
||||||
// defaults.put("VSync", true);
|
// defaults.put("VSync", true);
|
||||||
// defaults.put("FrameRate", 60);
|
// defaults.put("FrameRate", 60);
|
||||||
} |
} |
||||||
|
|
||||||
/** |
/** |
||||||
* Create Application settings |
* Create Application settings |
||||||
* use loadDefault=true, to load jME default values. |
* use loadDefault=true, to load jME default values. |
||||||
* use false if you want to change some settings but you would like the application to remind other settings from previous launches |
* use false if you want to change some settings but you would like the application to remind other settings from previous launches |
||||||
* @param loadDefaults |
* @param loadDefaults |
||||||
*/ |
*/ |
||||||
public AppSettings(boolean loadDefaults) { |
public AppSettings(boolean loadDefaults) { |
||||||
if (loadDefaults) { |
if (loadDefaults) { |
||||||
putAll(defaults); |
putAll(defaults); |
||||||
} |
} |
||||||
} |
} |
||||||
|
|
||||||
public void copyFrom(AppSettings other) { |
public void copyFrom(AppSettings other) { |
||||||
this.putAll(other); |
this.putAll(other); |
||||||
} |
} |
||||||
|
|
||||||
public void mergeFrom(AppSettings other) { |
public void mergeFrom(AppSettings other) { |
||||||
for (String key : other.keySet()) { |
for (String key : other.keySet()) { |
||||||
if (get(key) == null) { |
if (get(key) == null) { |
||||||
put(key, other.get(key)); |
put(key, other.get(key)); |
||||||
} |
} |
||||||
} |
} |
||||||
} |
} |
||||||
|
|
||||||
public void load(InputStream in) throws IOException { |
public void load(InputStream in) throws IOException { |
||||||
Properties props = new Properties(); |
Properties props = new Properties(); |
||||||
props.load(in); |
props.load(in); |
||||||
for (Map.Entry<Object, Object> entry : props.entrySet()) { |
for (Map.Entry<Object, Object> entry : props.entrySet()) { |
||||||
String key = (String) entry.getKey(); |
String key = (String) entry.getKey(); |
||||||
String val = (String) entry.getValue(); |
String val = (String) entry.getValue(); |
||||||
if (val != null) { |
if (val != null) { |
||||||
val = val.trim(); |
val = val.trim(); |
||||||
} |
} |
||||||
if (key.endsWith("(int)")) { |
if (key.endsWith("(int)")) { |
||||||
key = key.substring(0, key.length() - 5); |
key = key.substring(0, key.length() - 5); |
||||||
int iVal = Integer.parseInt(val); |
int iVal = Integer.parseInt(val); |
||||||
putInteger(key, iVal); |
putInteger(key, iVal); |
||||||
} else if (key.endsWith("(string)")) { |
} else if (key.endsWith("(string)")) { |
||||||
putString(key.substring(0, key.length() - 8), val); |
putString(key.substring(0, key.length() - 8), val); |
||||||
} else if (key.endsWith("(bool)")) { |
} else if (key.endsWith("(bool)")) { |
||||||
boolean bVal = Boolean.parseBoolean(val); |
boolean bVal = Boolean.parseBoolean(val); |
||||||
putBoolean(key.substring(0, key.length() - 6), bVal); |
putBoolean(key.substring(0, key.length() - 6), bVal); |
||||||
} else { |
} else { |
||||||
throw new IOException("Cannot parse key: " + key); |
throw new IOException("Cannot parse key: " + key); |
||||||
} |
} |
||||||
} |
} |
||||||
} |
} |
||||||
|
|
||||||
public void save(OutputStream out) throws IOException { |
public void save(OutputStream out) throws IOException { |
||||||
Properties props = new Properties(); |
Properties props = new Properties(); |
||||||
for (Map.Entry<String, Object> entry : entrySet()) { |
for (Map.Entry<String, Object> entry : entrySet()) { |
||||||
Object val = entry.getValue(); |
Object val = entry.getValue(); |
||||||
String type; |
String type; |
||||||
if (val instanceof Integer) { |
if (val instanceof Integer) { |
||||||
type = "(int)"; |
type = "(int)"; |
||||||
} else if (val instanceof String) { |
} else if (val instanceof String) { |
||||||
type = "(string)"; |
type = "(string)"; |
||||||
} else if (val instanceof Boolean) { |
} else if (val instanceof Boolean) { |
||||||
type = "(bool)"; |
type = "(bool)"; |
||||||
} else { |
} else { |
||||||
throw new UnsupportedEncodingException(); |
throw new UnsupportedEncodingException(); |
||||||
} |
} |
||||||
props.setProperty(entry.getKey() + type, val.toString()); |
props.setProperty(entry.getKey() + type, val.toString()); |
||||||
} |
} |
||||||
props.store(out, "jME3 AppSettings"); |
props.store(out, "jME3 AppSettings"); |
||||||
} |
} |
||||||
|
|
||||||
public void load(String preferencesKey) throws BackingStoreException { |
public void load(String preferencesKey) throws BackingStoreException { |
||||||
Preferences prefs = Preferences.userRoot().node(preferencesKey); |
Preferences prefs = Preferences.userRoot().node(preferencesKey); |
||||||
String[] keys = prefs.keys(); |
String[] keys = prefs.keys(); |
||||||
if (keys != null) { |
if (keys != null) { |
||||||
for (String key : keys) { |
for (String key : keys) { |
||||||
Object defaultValue = defaults.get(key); |
Object defaultValue = defaults.get(key); |
||||||
if (defaultValue instanceof Integer) { |
if (defaultValue instanceof Integer) { |
||||||
put(key, prefs.getInt(key, (Integer) defaultValue)); |
put(key, prefs.getInt(key, (Integer) defaultValue)); |
||||||
} else if (defaultValue instanceof String) { |
} else if (defaultValue instanceof String) { |
||||||
put(key, prefs.get(key, (String) defaultValue)); |
put(key, prefs.get(key, (String) defaultValue)); |
||||||
} else if (defaultValue instanceof Boolean) { |
} else if (defaultValue instanceof Boolean) { |
||||||
put(key, prefs.getBoolean(key, (Boolean) defaultValue)); |
put(key, prefs.getBoolean(key, (Boolean) defaultValue)); |
||||||
} |
} |
||||||
} |
} |
||||||
} |
} |
||||||
} |
} |
||||||
|
|
||||||
public void save(String preferencesKey) throws BackingStoreException { |
public void save(String preferencesKey) throws BackingStoreException { |
||||||
Preferences prefs = Preferences.userRoot().node(preferencesKey); |
Preferences prefs = Preferences.userRoot().node(preferencesKey); |
||||||
for (String key : keySet()) { |
for (String key : keySet()) { |
||||||
prefs.put(key, get(key).toString()); |
prefs.put(key, get(key).toString()); |
||||||
} |
} |
||||||
} |
} |
||||||
|
|
||||||
public int getInteger(String key) { |
public int getInteger(String key) { |
||||||
Integer i = (Integer) get(key); |
Integer i = (Integer) get(key); |
||||||
if (i == null) { |
if (i == null) { |
||||||
return 0; |
return 0; |
||||||
} |
} |
||||||
|
|
||||||
return i.intValue(); |
return i.intValue(); |
||||||
} |
} |
||||||
|
|
||||||
public boolean getBoolean(String key) { |
public boolean getBoolean(String key) { |
||||||
Boolean b = (Boolean) get(key); |
Boolean b = (Boolean) get(key); |
||||||
if (b == null) { |
if (b == null) { |
||||||
return false; |
return false; |
||||||
} |
} |
||||||
|
|
||||||
return b.booleanValue(); |
return b.booleanValue(); |
||||||
} |
} |
||||||
|
|
||||||
public String getString(String key) { |
public String getString(String key) { |
||||||
String s = (String) get(key); |
String s = (String) get(key); |
||||||
if (s == null) { |
if (s == null) { |
||||||
return null; |
return null; |
||||||
} |
} |
||||||
|
|
||||||
return s; |
return s; |
||||||
} |
} |
||||||
|
|
||||||
public void putInteger(String key, int value) { |
public void putInteger(String key, int value) { |
||||||
put(key, Integer.valueOf(value)); |
put(key, Integer.valueOf(value)); |
||||||
} |
} |
||||||
|
|
||||||
public void putBoolean(String key, boolean value) { |
public void putBoolean(String key, boolean value) { |
||||||
put(key, Boolean.valueOf(value)); |
put(key, Boolean.valueOf(value)); |
||||||
} |
} |
||||||
|
|
||||||
public void putString(String key, String value) { |
public void putString(String key, String value) { |
||||||
put(key, value); |
put(key, value); |
||||||
} |
} |
||||||
|
|
||||||
/** |
/** |
||||||
* @param frameRate The frame-rate is the upper limit on how high |
* @param frameRate The frame-rate is the upper limit on how high |
||||||
* the application's frames-per-second can go. |
* the application's frames-per-second can go. |
||||||
* (Default: -1 no frame rate limit imposed) |
* (Default: -1 no frame rate limit imposed) |
||||||
*/ |
*/ |
||||||
public void setFrameRate(int frameRate) { |
public void setFrameRate(int frameRate) { |
||||||
putInteger("FrameRate", frameRate); |
putInteger("FrameRate", frameRate); |
||||||
} |
} |
||||||
|
|
||||||
/** |
/** |
||||||
* @param use If true, the application will initialize and use input. |
* @param use If true, the application will initialize and use input. |
||||||
* Set to false for headless applications that do not require keyboard |
* Set to false for headless applications that do not require keyboard |
||||||
* or mouse input. |
* or mouse input. |
||||||
* (Default: true) |
* (Default: true) |
||||||
*/ |
*/ |
||||||
public void setUseInput(boolean use) { |
public void setUseInput(boolean use) { |
||||||
putBoolean("UseInput", use); |
putBoolean("UseInput", use); |
||||||
} |
} |
||||||
|
|
||||||
/** |
/** |
||||||
* @param use If true, the application will initialize and use joystick |
* @param use If true, the application will initialize and use joystick |
||||||
* input. Set to false if no joystick input is desired. |
* input. Set to false if no joystick input is desired. |
||||||
* (Default: false) |
* (Default: false) |
||||||
*/ |
*/ |
||||||
public void setUseJoysticks(boolean use) { |
public void setUseJoysticks(boolean use) { |
||||||
putBoolean("DisableJoysticks", !use); |
putBoolean("DisableJoysticks", !use); |
||||||
} |
} |
||||||
|
|
||||||
/** |
/** |
||||||
* Set the graphics renderer to use, one of:<br> |
* Set the graphics renderer to use, one of:<br> |
||||||
* <ul> |
* <ul> |
||||||
* <li>AppSettings.LWJGL_OPENGL1 - Force OpenGL1.1 compatability</li> |
* <li>AppSettings.LWJGL_OPENGL1 - Force OpenGL1.1 compatability</li> |
||||||
* <li>AppSettings.LWJGL_OPENGL2 - Force OpenGL2 compatability</li> |
* <li>AppSettings.LWJGL_OPENGL2 - Force OpenGL2 compatability</li> |
||||||
* <li>AppSettings.LWJGL_OPENGL3 - Force OpenGL3.3 compatability</li> |
* <li>AppSettings.LWJGL_OPENGL3 - Force OpenGL3.3 compatability</li> |
||||||
* <li>AppSettings.LWJGL_OPENGL_ANY - Choose an appropriate |
* <li>AppSettings.LWJGL_OPENGL_ANY - Choose an appropriate |
||||||
* OpenGL version based on system capabilities</li> |
* OpenGL version based on system capabilities</li> |
||||||
* <li>null - Disable graphics rendering</li> |
* <li>null - Disable graphics rendering</li> |
||||||
* </ul> |
* </ul> |
||||||
* @param renderer The renderer to set |
* @param renderer The renderer to set |
||||||
* (Default: AppSettings.LWJGL_OPENGL2) |
* (Default: AppSettings.LWJGL_OPENGL2) |
||||||
*/ |
*/ |
||||||
public void setRenderer(String renderer) { |
public void setRenderer(String renderer) { |
||||||
putString("Renderer", renderer); |
putString("Renderer", renderer); |
||||||
} |
} |
||||||
|
|
||||||
/** |
/** |
||||||
* Set a custom graphics renderer to use. The class should implement |
* Set a custom graphics renderer to use. The class should implement |
||||||
* the {@link Renderer} interface. |
* the {@link Renderer} interface. |
||||||
* @param clazz The custom graphics renderer class. |
* @param clazz The custom graphics renderer class. |
||||||
* (Default: not set) |
* (Default: not set) |
||||||
*/ |
*/ |
||||||
public void setCustomRenderer(Class clazz){ |
public void setCustomRenderer(Class clazz){ |
||||||
put("Renderer", "CUSTOM" + clazz.getName()); |
put("Renderer", "CUSTOM" + clazz.getName()); |
||||||
} |
} |
||||||
|
|
||||||
/** |
/** |
||||||
* Set the audio renderer to use. One of:<br> |
* Set the audio renderer to use. One of:<br> |
||||||
* <ul> |
* <ul> |
||||||
* <li>AppSettings.LWJGL_OPENAL - Default for LWJGL</li> |
* <li>AppSettings.LWJGL_OPENAL - Default for LWJGL</li> |
||||||
* <li>null - Disable audio</li> |
* <li>null - Disable audio</li> |
||||||
* </ul> |
* </ul> |
||||||
* @param audioRenderer |
* @param audioRenderer |
||||||
* (Default: LWJGL) |
* (Default: LWJGL) |
||||||
*/ |
*/ |
||||||
public void setAudioRenderer(String audioRenderer) { |
public void setAudioRenderer(String audioRenderer) { |
||||||
putString("AudioRenderer", audioRenderer); |
putString("AudioRenderer", audioRenderer); |
||||||
} |
} |
||||||
|
|
||||||
/** |
/** |
||||||
* @param value the width for the rendering display. |
* @param value the width for the rendering display. |
||||||
* (Default: 640) |
* (Default: 640) |
||||||
*/ |
*/ |
||||||
public void setWidth(int value) { |
public void setWidth(int value) { |
||||||
putInteger("Width", value); |
putInteger("Width", value); |
||||||
} |
} |
||||||
|
|
||||||
/** |
/** |
||||||
* @param value the height for the rendering display. |
* @param value the height for the rendering display. |
||||||
* (Default: 480) |
* (Default: 480) |
||||||
*/ |
*/ |
||||||
public void setHeight(int value) { |
public void setHeight(int value) { |
||||||
putInteger("Height", value); |
putInteger("Height", value); |
||||||
} |
} |
||||||
|
|
||||||
/** |
/** |
||||||
* Set the resolution for the rendering display |
* Set the resolution for the rendering display |
||||||
* @param width The width |
* @param width The width |
||||||
* @param height The height |
* @param height The height |
||||||
* (Default: 640x480) |
* (Default: 640x480) |
||||||
*/ |
*/ |
||||||
public void setResolution(int width, int height) { |
public void setResolution(int width, int height) { |
||||||
setWidth(width); |
setWidth(width); |
||||||
setHeight(height); |
setHeight(height); |
||||||
} |
} |
||||||
|
|
||||||
/** |
/** |
||||||
* Set the frequency, also known as refresh rate, for the |
* Set the frequency, also known as refresh rate, for the |
||||||
* rendering display. |
* rendering display. |
||||||
* @param value The frequency |
* @param value The frequency |
||||||
* (Default: 60) |
* (Default: 60) |
||||||
*/ |
*/ |
||||||
public void setFrequency(int value) { |
public void setFrequency(int value) { |
||||||
putInteger("Frequency", value); |
putInteger("Frequency", value); |
||||||
} |
} |
||||||
|
|
||||||
/** |
/** |
||||||
* Set the bits per pixel for the display. Appropriate |
* Set the bits per pixel for the display. Appropriate |
||||||
* values are 16 for RGB565 color format, or 24 for RGB8 color format. |
* values are 16 for RGB565 color format, or 24 for RGB8 color format. |
||||||
* |
* |
||||||
* @param value The bits per pixel to set |
* @param value The bits per pixel to set |
||||||
* (Default: 24) |
* (Default: 24) |
||||||
*/ |
*/ |
||||||
public void setBitsPerPixel(int value) { |
public void setBitsPerPixel(int value) { |
||||||
putInteger("BitsPerPixel", value); |
putInteger("BitsPerPixel", value); |
||||||
} |
} |
||||||
|
|
||||||
/** |
/** |
||||||
* Set the number of samples per pixel. A value of 1 indicates |
* Set the number of samples per pixel. A value of 1 indicates |
||||||
* each pixel should be single-sampled, higher values indicate |
* each pixel should be single-sampled, higher values indicate |
||||||
* a pixel should be multi-sampled. |
* a pixel should be multi-sampled. |
||||||
* |
* |
||||||
* @param value The number of samples |
* @param value The number of samples |
||||||
* (Default: 1) |
* (Default: 1) |
||||||
*/ |
*/ |
||||||
public void setSamples(int value) { |
public void setSamples(int value) { |
||||||
putInteger("Samples", value); |
putInteger("Samples", value); |
||||||
} |
} |
||||||
|
|
||||||
/** |
/** |
||||||
* @param title The title of the rendering display |
* @param title The title of the rendering display |
||||||
* (Default: jMonkeyEngine 3.0) |
* (Default: jMonkeyEngine 3.0) |
||||||
*/ |
*/ |
||||||
public void setTitle(String title) { |
public void setTitle(String title) { |
||||||
putString("Title", title); |
putString("Title", title); |
||||||
} |
} |
||||||
|
|
||||||
/** |
/** |
||||||
* @param value true to enable full-screen rendering, false to render in a window |
* @param value true to enable full-screen rendering, false to render in a window |
||||||
* (Default: false) |
* (Default: false) |
||||||
*/ |
*/ |
||||||
public void setFullscreen(boolean value) { |
public void setFullscreen(boolean value) { |
||||||
putBoolean("Fullscreen", value); |
putBoolean("Fullscreen", value); |
||||||
} |
} |
||||||
|
|
||||||
/** |
/** |
||||||
* Set to true to enable vertical-synchronization, limiting and synchronizing |
* Set to true to enable vertical-synchronization, limiting and synchronizing |
||||||
* every frame rendered to the monitor's refresh rate. |
* every frame rendered to the monitor's refresh rate. |
||||||
* @param value |
* @param value |
||||||
* (Default: false) |
* (Default: false) |
||||||
*/ |
*/ |
||||||
public void setVSync(boolean value) { |
public void setVSync(boolean value) { |
||||||
putBoolean("VSync", value); |
putBoolean("VSync", value); |
||||||
} |
} |
||||||
|
|
||||||
/** |
/** |
||||||
* Sets the application icons to be used, with the most preferred first. |
* Enable 3D stereo. |
||||||
* For Windows you should supply at least one 16x16 icon and one 32x32. The former is used for the title/task bar, |
* <p>This feature requires hardware support from the GPU driver. |
||||||
* the latter for the alt-tab icon. |
* See: http://en.wikipedia.org/wiki/Quad_buffering<br>
|
||||||
* Linux (and similar platforms) expect one 32x32 icon. |
* Once enabled, filters or scene processors that handle 3D stereo rendering |
||||||
* Mac OS X should be supplied one 128x128 icon. |
* could use this feature to render using hardware 3D stereo.</p> |
||||||
* <br/> |
* (Default: false) |
||||||
* The icon is used for the settings window, and the LWJGL render window. Not currently supported for JOGL. |
*/ |
||||||
* Note that a bug in Java 6 (bug ID 6445278, currently hidden but available in Google cache) currently prevents |
public void setStereo3D(boolean value){ |
||||||
* the icon working for alt-tab on the settings dialog in Windows. |
putBoolean("Stereo3D", value); |
||||||
* |
} |
||||||
* @param value An array of BufferedImages to use as icons. |
|
||||||
* (Default: not set) |
/** |
||||||
*/ |
* Sets the application icons to be used, with the most preferred first. |
||||||
public void setIcons(Object[] value) { |
* For Windows you should supply at least one 16x16 icon and one 32x32. The former is used for the title/task bar, |
||||||
put("Icons", value); |
* the latter for the alt-tab icon. |
||||||
} |
* Linux (and similar platforms) expect one 32x32 icon. |
||||||
|
* Mac OS X should be supplied one 128x128 icon. |
||||||
public int getFrameRate() { |
* <br/> |
||||||
return getInteger("FrameRate"); |
* The icon is used for the settings window, and the LWJGL render window. Not currently supported for JOGL. |
||||||
} |
* Note that a bug in Java 6 (bug ID 6445278, currently hidden but available in Google cache) currently prevents |
||||||
|
* the icon working for alt-tab on the settings dialog in Windows. |
||||||
public boolean useInput() { |
* |
||||||
return getBoolean("UseInput"); |
* @param value An array of BufferedImages to use as icons. |
||||||
} |
* (Default: not set) |
||||||
|
*/ |
||||||
public String getRenderer() { |
public void setIcons(Object[] value) { |
||||||
return getString("Renderer"); |
put("Icons", value); |
||||||
} |
} |
||||||
|
|
||||||
public int getWidth() { |
public int getFrameRate() { |
||||||
return getInteger("Width"); |
return getInteger("FrameRate"); |
||||||
} |
} |
||||||
|
|
||||||
public int getHeight() { |
public boolean useInput() { |
||||||
return getInteger("Height"); |
return getBoolean("UseInput"); |
||||||
} |
} |
||||||
|
|
||||||
public int getBitsPerPixel() { |
public String getRenderer() { |
||||||
return getInteger("BitsPerPixel"); |
return getString("Renderer"); |
||||||
} |
} |
||||||
|
|
||||||
public int getFrequency() { |
public int getWidth() { |
||||||
return getInteger("Frequency"); |
return getInteger("Width"); |
||||||
} |
} |
||||||
|
|
||||||
public int getDepthBits() { |
public int getHeight() { |
||||||
return getInteger("DepthBits"); |
return getInteger("Height"); |
||||||
} |
} |
||||||
|
|
||||||
public int getStencilBits() { |
public int getBitsPerPixel() { |
||||||
return getInteger("StencilBits"); |
return getInteger("BitsPerPixel"); |
||||||
} |
} |
||||||
|
|
||||||
public int getSamples() { |
public int getFrequency() { |
||||||
return getInteger("Samples"); |
return getInteger("Frequency"); |
||||||
} |
} |
||||||
|
|
||||||
public String getTitle() { |
public int getDepthBits() { |
||||||
return getString("Title"); |
return getInteger("DepthBits"); |
||||||
} |
} |
||||||
|
|
||||||
public boolean isVSync() { |
public int getStencilBits() { |
||||||
return getBoolean("VSync"); |
return getInteger("StencilBits"); |
||||||
} |
} |
||||||
|
|
||||||
public boolean isFullscreen() { |
public int getSamples() { |
||||||
return getBoolean("Fullscreen"); |
return getInteger("Samples"); |
||||||
} |
} |
||||||
|
|
||||||
public boolean useJoysticks() { |
public String getTitle() { |
||||||
return !getBoolean("DisableJoysticks"); |
return getString("Title"); |
||||||
} |
} |
||||||
|
|
||||||
public String getAudioRenderer() { |
public boolean isVSync() { |
||||||
return getString("AudioRenderer"); |
return getBoolean("VSync"); |
||||||
} |
} |
||||||
|
|
||||||
public Object[] getIcons() { |
public boolean isFullscreen() { |
||||||
return (Object[]) get("Icons"); |
return getBoolean("Fullscreen"); |
||||||
} |
} |
||||||
|
|
||||||
public void setSettingsDialogImage(String path) { |
public boolean useJoysticks() { |
||||||
settingsDialogImage = path; |
return !getBoolean("DisableJoysticks"); |
||||||
} |
} |
||||||
|
|
||||||
public String getSettingsDialogImage() { |
public String getAudioRenderer() { |
||||||
return settingsDialogImage; |
return getString("AudioRenderer"); |
||||||
} |
} |
||||||
} |
|
||||||
|
public boolean useStereo3D(){ |
||||||
|
return getBoolean("Stereo3D"); |
||||||
|
} |
||||||
|
|
||||||
|
public Object[] getIcons() { |
||||||
|
return (Object[]) get("Icons"); |
||||||
|
} |
||||||
|
|
||||||
|
public void setSettingsDialogImage(String path) { |
||||||
|
settingsDialogImage = path; |
||||||
|
} |
||||||
|
|
||||||
|
public String getSettingsDialogImage() { |
||||||
|
return settingsDialogImage; |
||||||
|
} |
||||||
|
} |
||||||
|
Loading…
Reference in new issue