< prev index next >
src/java.desktop/share/classes/sun/java2d/marlin/MarlinProperties.java
Print this page
@@ -66,35 +66,46 @@
}
/**
* Return the log(2) corresponding to subpixel on x-axis (
*
- * @return 1 (2 subpixels) < initial pixel size < 4 (256 subpixels)
+ * @return 0 (1 subpixels) < initial pixel size < 8 (256 subpixels)
* (3 by default ie 8 subpixels)
*/
public static int getSubPixel_Log2_X() {
- return getInteger("sun.java2d.renderer.subPixel_log2_X", 3, 1, 8);
+ return getInteger("sun.java2d.renderer.subPixel_log2_X", 3, 0, 8);
}
/**
* Return the log(2) corresponding to subpixel on y-axis (
*
- * @return 1 (2 subpixels) < initial pixel size < 8 (256 subpixels)
+ * @return 0 (1 subpixels) < initial pixel size < 8 (256 subpixels)
* (3 by default ie 8 subpixels)
*/
public static int getSubPixel_Log2_Y() {
- return getInteger("sun.java2d.renderer.subPixel_log2_Y", 3, 1, 8);
+ return getInteger("sun.java2d.renderer.subPixel_log2_Y", 3, 0, 8);
}
/**
* Return the log(2) corresponding to the square tile size in pixels
*
* @return 3 (8x8 pixels) < tile size < 8 (256x256 pixels)
* (5 by default ie 32x32 pixels)
*/
public static int getTileSize_Log2() {
- return getInteger("sun.java2d.renderer.tileSize_log2", 5, 3, 8);
+ return getInteger("sun.java2d.renderer.tileSize_log2", 5, 3, 10);
+ }
+
+ /**
+ * Return the log(2) corresponding to the tile width in pixels
+ *
+ * @return 3 (8 pixels) < tile with < 8 (256 pixels)
+ * (by default is given by the square tile size)
+ */
+ public static int getTileWidth_Log2() {
+ final int tileSize = getTileSize_Log2();
+ return getInteger("sun.java2d.renderer.tileWidth_log2", tileSize, 3, 10);
}
/**
* Return the log(2) corresponding to the block size in pixels
*
@@ -164,10 +175,24 @@
public static boolean isLogUnsafeMalloc() {
return getBoolean("sun.java2d.renderer.logUnsafeMalloc", "false");
}
+ // quality settings
+
+ public static float getCubicDecD2() {
+ return getFloat("sun.java2d.renderer.cubic_dec_d2", 1.0f, 0.01f, 4.0f);
+ }
+
+ public static float getCubicIncD1() {
+ return getFloat("sun.java2d.renderer.cubic_inc_d1", 0.4f, 0.01f, 2.0f);
+ }
+
+ public static float getQuadDecD2() {
+ return getFloat("sun.java2d.renderer.quad_dec_d2", 0.5f, 0.01f, 4.0f);
+ }
+
// system property utilities
static boolean getBoolean(final String key, final String def) {
return Boolean.valueOf(AccessController.doPrivileged(
new GetPropertyAction(key, def)));
}
@@ -198,6 +223,35 @@
static int align(final int val, final int norm) {
final int ceil = FloatMath.ceil_int( ((float)val) / norm);
return ceil * norm;
}
+
+ public static double getDouble(final String key, final double def,
+ final double min, final double max)
+ {
+ double value = def;
+ final String property = AccessController.doPrivileged(
+ new GetPropertyAction(key));
+
+ if (property != null) {
+ try {
+ value = Double.parseDouble(property);
+ } catch (NumberFormatException nfe) {
+ logInfo("Invalid value for " + key + " = " + property + " !");
+ }
+ }
+ // check for invalid values
+ if (value < min || value > max) {
+ logInfo("Invalid value for " + key + " = " + value
+ + "; expect value in range[" + min + ", " + max + "] !");
+ value = def;
+ }
+ return value;
+ }
+
+ public static float getFloat(final String key, final float def,
+ final float min, final float max)
+ {
+ return (float)getDouble(key, def, min, max);
+ }
}
< prev index next >