public SwtCanvas(final Composite composite, final int style, final GLData glData) { super(composite, style, glData); _passedGLData = clone(glData); setCurrent(); }
@Override public int getContentWidth() { return getClientArea().y; }
@Override public int getContentHeight() { return getClientArea().x; }
@MainThread public void draw(final CountDownLatch latch) { if (!_inited) { privateInit(); } if (!isDisposed() && isVisible()) { setCurrent(); if (_canvasRenderer.draw()) { swapBuffers(); _canvasRenderer.releaseCurrentContext(); } } latch.countDown(); }
@Test public void testMove1() throws Exception { control.addMouseListener(wrapper); control.addMouseMoveListener(wrapper); control.addMouseWheelListener(wrapper); expect(control.getSize()).andReturn(new Point(100, 100)).atLeastOnce();
@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 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; }
public void draw(final CountDownLatch latch) { if (!_inited) { init(); } if (!isDisposed() && isVisible()) { // draw our scene to FBO checkRTT(); _rtt.setBackgroundColor(_canvasRenderer.getRenderer().getBackgroundColor()); _rtt.render(_canvasRenderer.getScene(), _texList, Renderer.BUFFER_COLOR_AND_DEPTH); // now render our quad final Renderer renderer = _canvasRenderer.getRenderer(); // clear color buffer renderer.clearBuffers(Renderer.BUFFER_COLOR); // draw ortho quad, textured with our actual scene _quad.draw(renderer); // flush render buckets renderer.flushFrame(false); // Clean up card garbage such as textures, vbos, etc. ContextGarbageCollector.doRuntimeCleanup(renderer); // swap our swt managed back buffer swapBuffers(); } latch.countDown(); }
public SwtFboCanvas(final Composite composite, final int style, final DisplaySettings settings) { super(composite, style, toGLData(settings)); _settings = settings; addListener(SWT.Resize, event -> { final Rectangle clientArea = getClientArea(); for (final ICanvasListener l : _listeners) { l.onResize(clientArea.width, clientArea.height); } }); }
@MainThread public void init() { privateInit(); }
@MainThread public void init() { // tell our parent to lay us out so we have the right starting size. getParent().layout(); _quad = new Quad("fsq", 2, 2); _quad.setRenderMaterial("unlit/textured/fsq.yaml"); _quad.setModelBound(new BoundingBox()); _quad.getSceneHints().setLightCombineMode(LightCombineMode.Off); _quad.getSceneHints().setTextureCombineMode(TextureCombineMode.Replace); _quad.getSceneHints().setRenderBucketType(RenderBucketType.Skip); checkRTT(); _canvasRenderer.getCamera().apply(_canvasRenderer.getRenderer()); _inited = true; }
@MainThread public void draw(final CountDownLatch latch) { if (!_inited) { privateInit(); } if (!isDisposed() && isVisible()) { setCurrent(); if (_canvasRenderer.draw()) { swapBuffers(); _canvasRenderer.releaseCurrentContext(); } } latch.countDown(); }
@Test public void testButtons() throws Exception { control.addMouseListener(wrapper); control.addMouseMoveListener(wrapper); control.addMouseWheelListener(wrapper); expect(control.getSize()).andReturn(new Point(100, 100)).atLeastOnce();
@MainThread public void init() { privateInit(); }
@Override public int getContentWidth() { return getClientArea().y; }
@Override public int getContentHeight() { return getClientArea().x; }
private void checkRTT() { final Rectangle size = getClientArea(); int width = Math.max(1, size.width), height = Math.max(1, size.height);