fullscreen

This commit is contained in:
Sen 2025-03-18 11:20:11 +01:00
parent a78f873590
commit c5219ce100
2 changed files with 10 additions and 3 deletions

View file

@ -1976,7 +1976,7 @@ public class Game implements IThreadListener {
} }
public void full(boolean full) { public void full(boolean full) {
if(full != fullscreen && (!full || vidMode != null)) { if((full != fullscreen || full) && (!full || vidMode != null)) {
if(full) { if(full) {
Window.setFullscreen(vidMode.width, vidMode.height, vidMode.refresh); Window.setFullscreen(vidMode.width, vidMode.height, vidMode.refresh);
} }

View file

@ -4,6 +4,7 @@ import game.color.TextColor;
import game.gui.element.Dropdown; import game.gui.element.Dropdown;
import game.gui.element.Fill; import game.gui.element.Fill;
import game.gui.element.Slider; import game.gui.element.Slider;
import game.gui.element.Toggle;
import game.util.Formatter; import game.util.Formatter;
import game.window.DisplayMode; import game.window.DisplayMode;
import game.window.Window; import game.window.Window;
@ -32,13 +33,19 @@ public class GuiDisplay extends GuiOptions {
this.add(new Dropdown<DisplayMode>(30, 80, 440, 24, false, modes, modes[modes.length - 1], selected, new Dropdown.Callback<DisplayMode>() { this.add(new Dropdown<DisplayMode>(30, 80, 440, 24, false, modes, modes[modes.length - 1], selected, new Dropdown.Callback<DisplayMode>() {
public void use(Dropdown<DisplayMode> elem, DisplayMode value) { public void use(Dropdown<DisplayMode> elem, DisplayMode value) {
GuiDisplay.this.gm.vidMode = value; GuiDisplay.this.gm.vidMode = value;
GuiDisplay.this.gm.full(true);
} }
}, "Auflösung")); }, "Auflösung"));
} }
else { else {
this.add(new Fill(30, 80, 440, 24, TextColor.RED + "Auflösung: <XRandR kaputt :)>")); this.add(new Fill(30, 80, 440, 24, TextColor.RED + "Auflösung: <?>"));
} }
this.add(new Toggle(490, 80, 440, 24, false, GuiDisplay.this.gm.fullscreen, new Toggle.Callback() {
public void use(Toggle elem, boolean value) {
GuiDisplay.this.gm.full(value);
}
}, "Vollbild"));
this.add(new Slider(30, 120, 440, 24, 0, 0, 360 - 8, 0, (this.gm.sync < 0) ? (360 - 8) : (this.gm.sync != 0 ? ((this.gm.sync < 10) ? 1 : (this.gm.sync - 9)) : 0), new Slider.Callback() { this.add(new Slider(30, 120, 440, 24, 0, 0, 360 - 8, 0, (this.gm.sync < 0) ? (360 - 8) : (this.gm.sync != 0 ? ((this.gm.sync < 10) ? 1 : (this.gm.sync - 9)) : 0), new Slider.Callback() {
public void use(Slider elem, int value) { public void use(Slider elem, int value) {
GuiDisplay.this.gm.getVar("win_sync").parse("" + ((value > 0 && value < 360 - 8) ? (value + 9) : (value != 0 ? -1 : 0))); GuiDisplay.this.gm.getVar("win_sync").parse("" + ((value > 0 && value < 360 - 8) ? (value + 9) : (value != 0 ? -1 : 0)));