Add support for Alt+Enter toggling fullscreen

This commit is contained in:
2025-12-16 10:34:42 +01:00
parent 380922fb18
commit 629ccb8c71
2 changed files with 45 additions and 0 deletions

View File

@@ -1,5 +1,6 @@
package be.seeseemelk.diceos.system;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.Pixmap;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
@@ -26,6 +27,14 @@ public class DisplayService implements OnStartup {
batch = new SpriteBatch();
}
public void toggleFullscreen() {
if (Gdx.graphics.isFullscreen()) {
Gdx.graphics.setWindowedMode(getWidth(), getHeight());
} else {
Gdx.graphics.setFullscreenMode(Gdx.graphics.getDisplayMode());
}
}
public int getWidth() {
return 640;
}

View File

@@ -0,0 +1,36 @@
package be.seeseemelk.diceos;
import be.seeseemelk.diceos.system.DisplayService;
import be.seeseemelk.diceos.system.OnStartup;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.Input;
import com.badlogic.gdx.InputAdapter;
import io.avaje.inject.Component;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@Component
@RequiredArgsConstructor
public class InputService implements OnStartup {
private final DisplayService displayService;
@Override
public void onStartup() {
Gdx.input.setInputProcessor(new InputAdapter() {
@Override
public boolean keyDown(int keycode) {
log.info("Key pressed: {}", keycode);
if (keycode == Input.Keys.ENTER && isAltDown()) {
displayService.toggleFullscreen();
}
return false;
}
});
}
public boolean isAltDown() {
return Gdx.input.isKeyPressed(com.badlogic.gdx.Input.Keys.ALT_LEFT) ||
Gdx.input.isKeyPressed(com.badlogic.gdx.Input.Keys.ALT_RIGHT);
}
}