modules/graphics/src/main/java/com/sun/glass/ui/mac/MacWindow.java
Print this page
*** 44,82 ****
_initIDs();
}
protected MacWindow(Window owner, Screen screen, int styleMask) {
super(owner, screen, styleMask);
- setPlatformScale(screen.getUIScale());
- setRenderScale(screen.getRenderScale());
}
protected MacWindow(long parent) {
super(parent);
}
@Override
protected void setScreen(Screen screen) {
// SceneState will be called to update with new scale values
// before we return from super.setScreen()...
- setRenderScale(screen.getUIScale());
- setRenderScale(screen.getRenderScale());
super.setScreen(screen);
! }
!
! @Override
! public float getOutputScale() {
! return getRenderScale();
}
@Override native protected long _createWindow(long ownerPtr, long screenPtr, int mask);
@Override native protected long _createChildWindow(long parent);
@Override native protected boolean _close(long ptr);
@Override native protected boolean _setView(long ptr, View view);
@Override native protected boolean _setMenubar(long ptr, long menubarPtr);
@Override native protected boolean _minimize(long ptr, boolean minimize);
@Override native protected boolean _maximize(long ptr, boolean maximize, boolean wasMaximized);
! @Override native protected void _setBounds(long ptr, int x, int y, boolean xSet, boolean ySet, int w, int h, int cw, int ch, float xGravity, float yGravity);
@Override native protected boolean _setVisible(long ptr, boolean visible);
@Override native protected boolean _setResizable(long ptr, boolean resizable);
native private boolean _requestFocus(long ptr);
@Override protected boolean _requestFocus(long ptr, int event) {
--- 44,91 ----
_initIDs();
}
protected MacWindow(Window owner, Screen screen, int styleMask) {
super(owner, screen, styleMask);
}
protected MacWindow(long parent) {
super(parent);
}
@Override
protected void setScreen(Screen screen) {
// SceneState will be called to update with new scale values
// before we return from super.setScreen()...
super.setScreen(screen);
! notifyScaleChanged(1.0f, 1.0f,
! screen.getRecommendedOutputScaleX(),
! screen.getRecommendedOutputScaleY());
}
@Override native protected long _createWindow(long ownerPtr, long screenPtr, int mask);
@Override native protected long _createChildWindow(long parent);
@Override native protected boolean _close(long ptr);
@Override native protected boolean _setView(long ptr, View view);
@Override native protected boolean _setMenubar(long ptr, long menubarPtr);
@Override native protected boolean _minimize(long ptr, boolean minimize);
@Override native protected boolean _maximize(long ptr, boolean maximize, boolean wasMaximized);
! @Override protected void _setBounds(long ptr,
! int x, int y, boolean xSet, boolean ySet,
! int w, int h, int cw, int ch,
! float xGravity, float yGravity)
! {
! float sx = getPlatformScaleX();
! float sy = getPlatformScaleY();
! if (xSet) x = Math.round( x / sx);
! if (ySet) y = Math.round( y / sy);
! if ( w > 0) w = Math.round( w / sx);
! if ( h > 0) h = Math.round( h / sy);
! if (cw > 0) cw = Math.round(cw / sx);
! if (ch > 0) ch = Math.round(ch / sy);
! _setBounds2(ptr, x, y, xSet, ySet, w, h, cw, ch, xGravity, yGravity);
! }
! native protected void _setBounds2(long ptr, int x, int y, boolean xSet, boolean ySet, int w, int h, int cw, int ch, float xGravity, float yGravity);
@Override native protected boolean _setVisible(long ptr, boolean visible);
@Override native protected boolean _setResizable(long ptr, boolean resizable);
native private boolean _requestFocus(long ptr);
@Override protected boolean _requestFocus(long ptr, int event) {
*** 107,116 ****
--- 116,132 ----
@Override native protected int _getEmbeddedX(long ptr);
@Override native protected int _getEmbeddedY(long ptr);
@Override
+ protected void notifyResize(int type, int width, int height) {
+ width = Math.round( width * getPlatformScaleX());
+ height = Math.round(height * getPlatformScaleY());
+ super.notifyResize(type, width, height);
+ }
+
+ @Override
protected void _setCursor(long ptr, Cursor cursor) {
((MacCursor)cursor).set();
}
@Override