summaryrefslogtreecommitdiffstats
path: root/src/jogl/classes/jogamp/opengl/GLAutoDrawableBase.java
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2014-05-21 08:53:54 +0200
committerSven Gothel <[email protected]>2014-05-21 08:53:54 +0200
commitf9a00b91dcd146c72a50237b62270f33bd0da98e (patch)
treef4387da868608cea5066ce3a8cb9039a16b529de /src/jogl/classes/jogamp/opengl/GLAutoDrawableBase.java
parent0ffba122ea5c4b8cc247234ca9f48ccfcce833cd (diff)
Bug 742 HiDPI: [Core API Change] Distinguish window-units and pixel-units; Add HiDPI for AWT GLCanvas w/ OSX CALayer
Core API Change: To support HiDPI thoroughly in JOGL (NativeWindow, JOGL, NEWT) we need to separate window- and pixel units. NativeWindow and NativeSurface now have distinguished access methods for window units and pixel units. NativeWindow: Using window units - getWindowWidth() * NEW Method * - getWindowHeight() * NEW Method * - getX(), getY(), ... NativeSurface: Using pixel units - getWidth() -> getSurfaceWidth() * RENAMED * - getHeight() -> getSurfaceHeight() * RENAMED * GLDrawable: Using pixel units - getWidth() -> getSurfaceWidth() * RENAMED, aligned w/ NativeSurface * - getHeight() -> getSurfaceHeight() * RENAMED, aligned w/ NativeSurface * Above changes also removes API collision w/ other windowing TK, e.g. AWT's getWidth()/getHeight() in GLCanvas and the same method names in GLDrawable before this change. +++ Now preliminary 'working': - AWT GLCanvas - AWT GLJPanel Tested manually on OSX w/ and w/o HiDPI Retina: java com.jogamp.opengl.test.junit.jogl.demos.es2.awt.TestGearsES2AWT -manual -noanim -time 1000000 java com.jogamp.opengl.test.junit.jogl.demos.es2.awt.TestGearsES2GLJPanelAWT -manual -noanim -time 1000000 +++ TODO: - NEWT - Change Window.setSize(..) to use pixel units ? - OSX HiDPI support - Testing .. - API refinement
Diffstat (limited to 'src/jogl/classes/jogamp/opengl/GLAutoDrawableBase.java')
-rw-r--r--src/jogl/classes/jogamp/opengl/GLAutoDrawableBase.java14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/jogl/classes/jogamp/opengl/GLAutoDrawableBase.java b/src/jogl/classes/jogamp/opengl/GLAutoDrawableBase.java
index 7cd685d5a..de7653570 100644
--- a/src/jogl/classes/jogamp/opengl/GLAutoDrawableBase.java
+++ b/src/jogl/classes/jogamp/opengl/GLAutoDrawableBase.java
@@ -393,7 +393,7 @@ public abstract class GLAutoDrawableBase implements GLAutoDrawable, GLStateKeepe
public final void run() {
// Lock: Locked Surface/Window by display _and_ MakeCurrent/Release
if (sendReshape) {
- helper.reshape(GLAutoDrawableBase.this, 0, 0, getWidth(), getHeight());
+ helper.reshape(GLAutoDrawableBase.this, 0, 0, getSurfaceWidth(), getSurfaceHeight());
sendReshape = false;
}
helper.display(GLAutoDrawableBase.this);
@@ -412,7 +412,7 @@ public abstract class GLAutoDrawableBase implements GLAutoDrawable, GLStateKeepe
if( null == context ) {
boolean contextCreated = false;
final GLDrawableImpl _drawable = drawable;
- if ( null != _drawable && _drawable.isRealized() && 0<_drawable.getWidth()*_drawable.getHeight() ) {
+ if ( null != _drawable && _drawable.isRealized() && 0<_drawable.getSurfaceWidth()*_drawable.getSurfaceHeight() ) {
final GLContext[] shareWith = { null };
if( !helper.isSharedGLContextPending(shareWith) ) {
if( !restoreGLEventListenerState() ) {
@@ -669,7 +669,7 @@ public abstract class GLAutoDrawableBase implements GLAutoDrawable, GLStateKeepe
_lock.lock();
try {
final GLDrawable _drawable = drawable;
- if( null == _drawable || realized && ( 0 >= _drawable.getWidth() || 0 >= _drawable.getHeight() ) ) {
+ if( null == _drawable || realized && ( 0 >= _drawable.getSurfaceWidth() || 0 >= _drawable.getSurfaceHeight() ) ) {
return;
}
_drawable.setRealized(realized);
@@ -688,15 +688,15 @@ public abstract class GLAutoDrawableBase implements GLAutoDrawable, GLStateKeepe
}
@Override
- public int getWidth() {
+ public int getSurfaceWidth() {
final GLDrawable _drawable = drawable;
- return null != _drawable ? _drawable.getWidth() : 0;
+ return null != _drawable ? _drawable.getSurfaceWidth() : 0;
}
@Override
- public int getHeight() {
+ public int getSurfaceHeight() {
final GLDrawable _drawable = drawable;
- return null != _drawable ? _drawable.getHeight() : 0;
+ return null != _drawable ? _drawable.getSurfaceHeight() : 0;
}
@Override