summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Bridle <ben@derelict.engineering>2024-07-31 16:07:10 +1200
committerBen Bridle <ben@derelict.engineering>2024-07-31 20:17:37 +1200
commit8824a2fdc6f046006945deb8e5ef7a7d5173c139 (patch)
tree973ad90546139715bbaaa0f7659766f520d6948e
parent3ab32debad4fcfc73df7c60ea46df619ca60a579 (diff)
downloadbedrock-pc-8824a2fdc6f046006945deb8e5ef7a7d5173c139.zip
Implement fullscreen mode
Pressing F11 toggles emulator fullscreen mode.
-rw-r--r--src/emulator.rs7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/emulator.rs b/src/emulator.rs
index b0f2d51..ce89002 100644
--- a/src/emulator.rs
+++ b/src/emulator.rs
@@ -20,6 +20,7 @@ pub struct BedrockEmulator {
initialising: bool,
sleeping: bool,
pixel_scale: u32,
+ fullscreen: bool,
start_of_process: Instant,
end_of_render: Instant,
debug_mark: Instant,
@@ -39,6 +40,7 @@ impl BedrockEmulator {
initialising: true,
sleeping: false,
pixel_scale: 3,
+ fullscreen: false,
start_of_process: Instant::now(),
end_of_render: Instant::now(),
debug_mark: Instant::now(),
@@ -113,6 +115,10 @@ impl WindowController for BedrockEmulator {
}
}
+ fn fullscreen(&self) -> bool {
+ self.fullscreen
+ }
+
fn is_cursor_visible(&self) -> bool {
let pos = self.vm.dev.input.pointer_position;
let dim = self.vm.dev.screen.dimensions;
@@ -185,6 +191,7 @@ impl WindowController for BedrockEmulator {
match input.key {
KeyCode::F5 => self.pixel_scale = max(1, self.pixel_scale - 1),
KeyCode::F6 => self.pixel_scale = min(8, self.pixel_scale + 1),
+ KeyCode::F11 => self.fullscreen = !self.fullscreen,
_ => (),
}
}