diff options
author | Ben Bridle <ben@derelict.engineering> | 2024-07-31 16:07:10 +1200 |
---|---|---|
committer | Ben Bridle <ben@derelict.engineering> | 2024-07-31 20:17:37 +1200 |
commit | 8824a2fdc6f046006945deb8e5ef7a7d5173c139 (patch) | |
tree | 973ad90546139715bbaaa0f7659766f520d6948e | |
parent | 3ab32debad4fcfc73df7c60ea46df619ca60a579 (diff) | |
download | bedrock-pc-8824a2fdc6f046006945deb8e5ef7a7d5173c139.zip |
Implement fullscreen mode
Pressing F11 toggles emulator fullscreen mode.
-rw-r--r-- | src/emulator.rs | 7 |
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, _ => (), } } |