UIHud._logger.logp(Level.SEVERE, getClass().getName(), "draw(Renderer)", "Exception", e); } finally { r.getScissorUtils().clearClips();
@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.getScissorUtils().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.getScissorUtils().popClip(); } } }
@Override protected void drawComponent(final Renderer renderer) { _clipRectangleStore.set(getHudX() + getTotalLeft(), getHudY() + getTotalBottom() + horizontalScrollBar.getContentHeight(), getContentWidth() - verticalScrollBar.getContentWidth(), getContentHeight() - horizontalScrollBar.getContentHeight()); renderer.getScissorUtils().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.getScissorUtils().popClip(); horizontalScrollBar.onDraw(renderer); verticalScrollBar.onDraw(renderer); }
@Override public void deactivate() { if (_active == 1) { final ReadOnlyColorRGBA bgColor = _parentRenderer.getBackgroundColor(); GL11C.glClearColor(bgColor.getRed(), bgColor.getGreen(), bgColor.getBlue(), bgColor.getAlpha()); GL30C.glBindFramebuffer(GL30C.GL_FRAMEBUFFER, 0); ContextManager.getCurrentContext().popEnforcedStates(); ContextManager.getCurrentContext().popEnforcedMaterial(); if (_neededClip) { _parentRenderer.getScissorUtils().popClip(); } } _active--; }
_standin.setWorldRotation(getWorldRotation()); final boolean clipTest = renderer.getScissorUtils().isClipTestEnabled(); renderer.getScissorUtils().setClipTestEnabled(false); renderer.getScissorUtils().setClipTestEnabled(clipTest);
_neededClip = _parentRenderer.getScissorUtils().isClipTestEnabled(); if (_neededClip) { _parentRenderer.getScissorUtils().pushEmptyClip();
_clipRectangleStore.set(getHudX() + getTotalLeft(), getHudY() + getTotalBottom(), getContentWidth(), getContentHeight()); r.getScissorUtils().pushClip(_clipRectangleStore); r.getScissorUtils().popClip();