Create visible parameter in GUI

This commit is contained in:
2021-03-19 21:04:27 +01:00
parent 1191c6cdc3
commit c28b9f3d00
2 changed files with 34 additions and 0 deletions

View File

@@ -26,6 +26,14 @@ public interface GUI extends Renderable, Disposable, KeyEventHandler {
Window inflateWindow(String widgetUid);
boolean isVisible();
void setVisible(boolean visible);
void show();
void hide();
Widget getRoot();
void setRoot(Widget root);

View File

@@ -47,6 +47,8 @@ public class NanoVGGUI implements GUI {
private final Set<String> loadedFonts = new HashSet<>();
private final Map<String, NanoVGImage> loadedImages = new HashMap<>();
private boolean visible = true;
public void init(Screen screen) {
nvg = nvgCreate(NVG_ANTIALIAS | NVG_STENCIL_STROKES);
@@ -59,6 +61,10 @@ public class NanoVGGUI implements GUI {
@Override
public void render(Screen screen, Camera camera, ShaderManager shaderManager) {
if (!visible) {
return;
}
nvgBeginFrame(nvg, screen.getWidth(), screen.getHeight(), 1);
screenWidget.draw(screen, this);
@@ -80,6 +86,26 @@ public class NanoVGGUI implements GUI {
return inflater.inflateWindow(is, context, this);
}
@Override
public boolean isVisible() {
return visible;
}
@Override
public void setVisible(boolean visible) {
this.visible = visible;
}
@Override
public void show() {
this.visible = true;
}
@Override
public void hide() {
this.visible = false;
}
@Override
public Widget getRoot() {
return screenWidget.getRoot();