public SwtCanvas(final Composite composite, final int style, final GLData glData) { super(composite, style, glData); _passedGLData = clone(glData); setCurrent(); }
@MainThread private void privateInit() { // tell our parent to lay us out so we have the right starting size. getParent().layout(); final Rectangle size = getClientArea(); setCurrent(); final DisplaySettings settings = new DisplaySettings(Math.max(size.width, 1), Math.max(size.height, 1), 0, 0, _passedGLData.alphaSize, _passedGLData.depthSize, _passedGLData.stencilSize, _passedGLData.samples, false, _passedGLData.stereo); _canvasRenderer.init(settings, false); // false - do not do back buffer swap, swt will do that. _inited = true; }
@MainThread private void privateInit() { // tell our parent to lay us out so we have the right starting size. getParent().layout(); final Point size = getSize(); setCurrent(); final DisplaySettings settings = new DisplaySettings(Math.max(size.x, 1), Math.max(size.y, 1), 0, 0, _passedGLData.alphaSize, _passedGLData.depthSize, _passedGLData.stencilSize, _passedGLData.samples, false, _passedGLData.stereo); _canvasRenderer.init(settings, false); // false - do not do back buffer swap, swt will do that. _inited = true; }
public SwtCanvas(final Composite composite, final int style, final GLData glData) { super(composite, style, glData); _passedGLData = getGLData(); setCurrent(); addListener(SWT.Resize, event -> { final Rectangle clientArea = getClientArea(); for (final ICanvasListener l : _listeners) { l.onResize(clientArea.width, clientArea.height); } }); }
@MainThread public void draw(final CountDownLatch latch) { if (!_inited) { privateInit(); } if (!isDisposed() && isVisible()) { setCurrent(); if (_canvasRenderer.draw()) { swapBuffers(); _canvasRenderer.releaseCurrentContext(); } } latch.countDown(); }
@MainThread public void draw(final CountDownLatch latch) { if (!_inited) { privateInit(); } if (!isDisposed() && isVisible()) { setCurrent(); if (_canvasRenderer.draw()) { swapBuffers(); _canvasRenderer.releaseCurrentContext(); } } latch.countDown(); }