modules/graphics/src/main/java/com/sun/glass/ui/Application.java
Print this page
@@ -619,27 +619,30 @@
return new MenuItem(title, callback, shortcutKey, shortcutModifiers, pixels);
}
public abstract Pixels createPixels(int width, int height, ByteBuffer data);
public abstract Pixels createPixels(int width, int height, IntBuffer data);
- public abstract Pixels createPixels(int width, int height, IntBuffer data, float scale);
+ public abstract Pixels createPixels(int width, int height, IntBuffer data, float scalex, float scaley);
protected abstract int staticPixels_getNativeFormat();
/* utility method called from native code */
- static Pixels createPixels(int width, int height, int[] data, float scale) {
- return Application.GetApplication().createPixels(width, height, IntBuffer.wrap(data), scale);
+ static Pixels createPixels(int width, int height, int[] data, float scalex, float scaley) {
+ return Application.GetApplication().createPixels(width, height, IntBuffer.wrap(data), scalex, scaley);
}
/* utility method called from native code */
static float getScaleFactor(final int x, final int y, final int w, final int h) {
float scale = 0.0f;
// Find the maximum scale for screens this area overlaps
for (Screen s : Screen.getScreens()) {
final int sx = s.getX(), sy = s.getY(), sw = s.getWidth(), sh = s.getHeight();
if (x < (sx + sw) && (x + w) > sx && y < (sy + sh) && (y + h) > sy) {
- if (scale < s.getRenderScale()) {
- scale = s.getRenderScale();
+ if (scale < s.getRecommendedOutputScaleX()) {
+ scale = s.getRecommendedOutputScaleX();
+ }
+ if (scale < s.getRecommendedOutputScaleY()) {
+ scale = s.getRecommendedOutputScaleY();
}
}
}
return scale == 0.0f ? 1.0f : scale;
}