@Override protected void deactivate() { if (_active == 1) { final ReadOnlyColorRGBA bgColor = _parentRenderer.getBackgroundColor(); GL11.glClearColor(bgColor.getRed(), bgColor.getGreen(), bgColor.getBlue(), bgColor.getAlpha()); EXTFramebufferObject.glBindFramebufferEXT(EXTFramebufferObject.GL_FRAMEBUFFER_EXT, 0); ContextManager.getCurrentContext().popEnforcedStates(); if (_neededClip) { _parentRenderer.popClip(); } } _active--; }
@Override protected void deactivate() { final GL gl = GLContext.getCurrentGL(); if (_active == 1) { final ReadOnlyColorRGBA bgColor = _parentRenderer.getBackgroundColor(); gl.glClearColor(bgColor.getRed(), bgColor.getGreen(), bgColor.getBlue(), bgColor.getAlpha()); gl.glBindFramebuffer(GL.GL_FRAMEBUFFER, 0); ContextManager.getCurrentContext().popEnforcedStates(); if (_neededClip) { _parentRenderer.popClip(); } } _active--; }
@Override protected void drawComponent(final Renderer renderer) { if (getNumberOfChildren() > 0) { // If asked, clip to just the internal region of this container. boolean needsPop = false; if (_doClip && getWorldRotation().isIdentity()) { _clipRectangleStore.set(getHudX() + getTotalLeft(), getHudY() + getTotalBottom(), getContentWidth(), getContentHeight()); renderer.pushClip(_clipRectangleStore); needsPop = true; } Spatial child; for (int i = 0, cSize = getNumberOfChildren(); i < cSize; i++) { child = getChild(i); if (child != null) { child.onDraw(renderer); } } if (needsPop) { renderer.popClip(); } } }
@Override protected void drawComponent(final Renderer renderer) { _clipRectangleStore.set(getHudX() + getTotalLeft(), getHudY() + getTotalBottom() + horizontalScrollBar.getContentHeight(), getContentWidth() - verticalScrollBar.getContentWidth(), getContentHeight() - horizontalScrollBar.getContentHeight()); renderer.pushClip(_clipRectangleStore); // temporary translate the view - this is a hack and there may be a better solution final int x = view.getLocalX(); final int y = view.getLocalY(); view.setLocalXY(x - offsetX, y - offsetY); view.updateWorldTransform(true); view.draw(renderer); view.setLocalXY(x, y); renderer.popClip(); horizontalScrollBar.onDraw(renderer); verticalScrollBar.onDraw(renderer); }