Fix layering in GUI API

This commit is contained in:
johni0702
2015-10-12 22:03:23 +02:00
parent 0b596f0e1f
commit ee7e118dfd
3 changed files with 21 additions and 19 deletions

View File

@@ -145,7 +145,7 @@ public abstract class AbstractGuiContainer<T extends AbstractGuiContainer<T>>
});
throw new ReportedException(crashReport);
}
if (backgroundColor != null) {
if (backgroundColor != null && renderInfo.getLayer() == 0) {
renderer.drawRect(0, 0, size.getWidth(), size.getHeight(), backgroundColor);
}
for (final Map.Entry<GuiElement, Pair<ReadablePoint, ReadableDimension>> e : layedOutElements.entrySet()) {
@@ -164,7 +164,8 @@ public abstract class AbstractGuiContainer<T extends AbstractGuiContainer<T>>
try {
OffsetGuiRenderer eRenderer = new OffsetGuiRenderer(renderer, ePosition, eSize);
eRenderer.startUsing();
e.getKey().draw(eRenderer, eSize, renderInfo.offsetMouse(ePosition.getX(), ePosition.getY()));
e.getKey().draw(eRenderer, eSize, renderInfo.offsetMouse(ePosition.getX(), ePosition.getY())
.layer(renderInfo.getLayer() - e.getKey().getLayer()));
eRenderer.stopUsing();
} catch (Exception ex) {
CrashReport crashReport = CrashReport.makeCrashReport(ex, "Rendering Gui");