if (!jawtWindow.getLock().isLocked()) jawtWindow.lockSurface();
AWTGraphicsConfiguration config = AWTGraphicsConfiguration.create(canvas.getGraphicsConfiguration(), glCaps, glCaps); if (jawtWindow instanceof X11JAWTWindow && jawtWindow.getLock().isLocked()) jawtWindow.unlockSurface();
public static AbstractGraphicsScreen createScreenDevice(final GraphicsDevice awtDevice, final int unitID) { return new AWTGraphicsScreen(new AWTGraphicsDevice(awtDevice, unitID)); }
@Override public final void attachSurfaceLayer(final long layerHandle) throws NativeWindowException { if( !isOffscreenLayerSurfaceEnabled() ) { throw new NativeWindowException("Not an offscreen layer surface"); } attachSurfaceLayerImpl(layerHandle); offscreenSurfaceLayer = layerHandle; appContextInfo.invokeOnAppContextThread(false /* waitUntilDone */, repaintTask, "Repaint"); } private final Runnable repaintTask = new Runnable() {
public static AbstractGraphicsScreen createDefault() { return new AWTGraphicsScreen(AWTGraphicsDevice.createDefault()); }
private final void layoutSurfaceLayerIfEnabled(final boolean visible) throws NativeWindowException { if( isOffscreenLayerSurfaceEnabled() && 0 != offscreenSurfaceLayer ) { layoutSurfaceLayerImpl(offscreenSurfaceLayer, visible); } }
@Override public final boolean isOffscreenLayerSurfaceEnabled() { final JAWTWindow _jawtWindow = jawtWindow; if(null != _jawtWindow) { return _jawtWindow.isOffscreenLayerSurfaceEnabled(); } return false; }
@Override public final int[] convertToWindowUnits(final int[] pixelUnitsAndResult) { pixelUnitsAndResult[0] /= getPixelScaleX(); pixelUnitsAndResult[1] /= getPixelScaleY(); return pixelUnitsAndResult; }
public AWTGraphicsScreen(final AWTGraphicsDevice device) { super(device, findScreenIndex(device.getGraphicsDevice())); }
@Override public final void setChosenCapabilities(final CapabilitiesImmutable caps) { ((MutableGraphicsConfiguration)getGraphicsConfiguration()).setChosenCapabilities(caps); config.setChosenCapabilities(caps); }
@Override public void draw() if (jawtWindow.getAWTComponent() != client.getCanvas())
@Override public WindowClosingMode setDefaultCloseOperation(final WindowClosingMode op) { return awtWindowClosingProtocol.setDefaultCloseOperation(op); }
@Override public GLCapabilitiesImmutable getRequestedGLCapabilities() { if( null == awtConfig ) { return capsReqUser; } return (GLCapabilitiesImmutable)awtConfig.getRequestedCapabilities(); }
@Override public void run(final Component c) { ((AWTPrintLifecycle)c).setupPrint(scaleMatX, scaleMatY, numSamples, tileWidth, tileHeight); } }; private final AWTMisc.ComponentAction releaseAction = new AWTMisc.ComponentAction() {
/** * Returns <code>true</code> if this instance has valid {@link sun.awt.AppContext} information, * i.e. {@link #getCachedThreadGroup()} returns not <code>null</code>. */ public final boolean isValid() { return null != getCachedThreadGroup(); }
@Override public void run(final Component c) { ((AWTPrintLifecycle)c).releasePrint(); } };
@Override public WindowClosingMode getDefaultCloseOperation() { return awtWindowClosingProtocol.getDefaultCloseOperation(); }
@Override public final boolean isOffscreenLayerSurfaceEnabled() { final JAWTWindow w = jawtWindow; return null != w && w.isOffscreenLayerSurfaceEnabled(); }
@Override public final int[] convertToPixelUnits(final int[] windowUnitsAndResult) { windowUnitsAndResult[0] *= getPixelScaleX(); windowUnitsAndResult[1] *= getPixelScaleY(); return windowUnitsAndResult; }
@Override public WindowClosingMode setDefaultCloseOperation(final WindowClosingMode op) { return awtWindowClosingProtocol.setDefaultCloseOperation(op); }