Proper name/impl for "borderless windowed" on Windows

This commit is contained in:
Anuken
2021-07-30 14:27:46 -04:00
parent d855840fe2
commit a7cc6185ad
4 changed files with 21 additions and 5 deletions

View File

@@ -876,6 +876,8 @@ setting.seconds = {0} seconds
setting.milliseconds = {0} milliseconds setting.milliseconds = {0} milliseconds
setting.fullscreen.name = Fullscreen setting.fullscreen.name = Fullscreen
setting.borderlesswindow.name = Borderless Window setting.borderlesswindow.name = Borderless Window
setting.borderlesswindow.name.windows = Borderless Fullscreen
setting.borderlesswindow.description = Restart may be required to apply changes.
setting.fps.name = Show FPS & Ping setting.fps.name = Show FPS & Ping
setting.smoothcamera.name = Smooth Camera setting.smoothcamera.name = Smooth Camera
setting.vsync.name = VSync setting.vsync.name = VSync

View File

@@ -369,6 +369,12 @@ public class SettingsMenuDialog extends Dialog{
if(!mobile){ if(!mobile){
graphics.checkPref("vsync", true, b -> Core.graphics.setVSync(b)); graphics.checkPref("vsync", true, b -> Core.graphics.setVSync(b));
graphics.checkPref("fullscreen", false, b -> { graphics.checkPref("fullscreen", false, b -> {
if(b && settings.getBool("borderlesswindow")){
Core.graphics.setWindowedMode(Core.graphics.getWidth(), Core.graphics.getHeight());
settings.put("borderlesswindow", false);
graphics.rebuild();
}
if(b){ if(b){
Core.graphics.setFullscreenMode(Core.graphics.getDisplayMode()); Core.graphics.setFullscreenMode(Core.graphics.getDisplayMode());
}else{ }else{
@@ -376,7 +382,14 @@ public class SettingsMenuDialog extends Dialog{
} }
}); });
graphics.checkPref("borderlesswindow", false, b -> Core.graphics.setUndecorated(b)); graphics.checkPref("borderlesswindow", false, b -> {
if(b && settings.getBool("fullscreen")){
Core.graphics.setWindowedMode(Core.graphics.getWidth(), Core.graphics.getHeight());
settings.put("fullscreen", false);
graphics.rebuild();
}
Core.graphics.setBorderless(b);
});
Core.graphics.setVSync(Core.settings.getBool("vsync")); Core.graphics.setVSync(Core.settings.getBool("vsync"));
if(Core.settings.getBool("fullscreen")){ if(Core.settings.getBool("fullscreen")){
@@ -384,7 +397,7 @@ public class SettingsMenuDialog extends Dialog{
} }
if(Core.settings.getBool("borderlesswindow")){ if(Core.settings.getBool("borderlesswindow")){
Core.app.post(() -> Core.graphics.setUndecorated(true)); Core.app.post(() -> Core.graphics.setBorderless(true));
} }
}else if(!ios){ }else if(!ios){
graphics.checkPref("landscape", false, b -> { graphics.checkPref("landscape", false, b -> {
@@ -612,7 +625,8 @@ public class SettingsMenuDialog extends Dialog{
Setting(String name){ Setting(String name){
this.name = name; this.name = name;
title = bundle.get("setting." + name + ".name"); String winkey = "setting." + name + ".name.windows";
title = OS.isWindows && bundle.has(winkey) ? bundle.get(winkey) : bundle.get("setting." + name + ".name");
description = bundle.getOrNull("setting." + name + ".description"); description = bundle.getOrNull("setting." + name + ".description");
} }

View File

@@ -8,4 +8,4 @@ kapt.include.compile.classpath=false
kotlin.stdlib.default.dependency=false kotlin.stdlib.default.dependency=false
#needed for android compilation #needed for android compilation
android.useAndroidX=true android.useAndroidX=true
archash=0923799dd6adf2626b72cc30fc880425ea7eb3e0 archash=e83b7b1c440763e585bcc3871b21e8dc89cf5a07

View File

@@ -154,7 +154,7 @@ public class FakeGraphics extends Graphics{
} }
@Override @Override
public void setUndecorated(boolean undecorated){ public void setBorderless(boolean undecorated){
} }