@Override public boolean isRealized() { final GLDrawable _drawable = drawable; return (_drawable != null) ? _drawable.isRealized() : false; }
@Override public final boolean isRealized() { final GLDrawable _drawable = drawable; return null != _drawable ? _drawable.isRealized() : false; }
@Override public boolean isRealized() { final GLDrawable _drawable = drawable; return ( null != _drawable ) ? _drawable.isRealized() : false; }
private final void setRealizedImpl(final boolean realized) { final RecursiveLock _lock = lock; _lock.lock(); try { final GLDrawable _drawable = drawable; if( null == _drawable || realized == _drawable.isRealized() || realized && ( 0 >= _drawable.getSurfaceWidth() || 0 >= _drawable.getSurfaceHeight() ) ) { return; } _drawable.setRealized(realized); if( realized && _drawable.isRealized() ) { sendReshape=true; // ensure a reshape is being send .. } } finally { _lock.unlock(); } } private final Runnable realizeOnEDTAction = new Runnable() {
/** Default implementation to handle repaint events from the windowing system */ protected final void defaultWindowRepaintOp() { final GLDrawable _drawable = drawable; if( null != _drawable && _drawable.isRealized() ) { if( !_drawable.getNativeSurface().isSurfaceLockedByOtherThread() && !helper.isAnimatorAnimatingOnOtherThread() ) { display(); } } }
private boolean validateGLDrawable() { if( Beans.isDesignTime() || !isDisplayable() ) { return false; // early out! } final GLDrawable _drawable = drawable; if ( null != _drawable ) { boolean res = _drawable.isRealized(); if( !res ) { // re-try drawable creation if( 0 >= _drawable.getSurfaceWidth() || 0 >= _drawable.getSurfaceHeight() ) { return false; // early out! } setRealized(true); res = _drawable.isRealized(); if(DEBUG) { System.err.println(getThreadName()+": Realized Drawable: isRealized "+res+", "+_drawable.toString()); // Thread.dumpStack(); } } if( res && null == context ) { // re-try context creation res = createContextImpl(_drawable); // pending creation. } return res; } return false; }
@Override public final void setRealized(final boolean realized) { final RecursiveLock _lock = getUpstreamLock(); _lock.lock(); try { final GLDrawable _drawable = drawable; if( null == _drawable || realized && ( 0 >= _drawable.getSurfaceWidth() || 0 >= _drawable.getSurfaceHeight() ) ) { return; } _drawable.setRealized(realized); if( realized && _drawable.isRealized() ) { sendReshape=true; // ensure a reshape is being send .. } } finally { _lock.unlock(); } }
@Override public void run() { // Make the window visible to realize the OpenGL surface. _joglAwtCanvas.setVisible(true); // Force the realization _joglAwtCanvas.display(); if (_joglAwtCanvas.getDelegatedDrawable().isRealized()) { // Request the focus here as it cannot work when the window is not visible _joglAwtCanvas.requestFocus(); // The OpenGL context has been created after the realization of the surface _joglAwtCanvas.getCanvasRenderer().setContext(_joglAwtCanvas.getContext()); // As the canvas renderer knows the OpenGL context, it can be initialized _joglAwtCanvas.getCanvasRenderer().init(_settings, true); } } }