media/viewer: handle click-to-close interactions

Signed-off-by: William Casarin <jb55@jb55.com>
This commit is contained in:
William Casarin
2025-07-28 12:19:45 -07:00
parent 590ffa0680
commit 5c8ab0ce07

View File

@@ -396,7 +396,7 @@ fn fullscreen_media_viewer_ui(
// Close it? // Close it?
if ui.input(|i| i.key_pressed(egui::Key::Escape)) { if ui.input(|i| i.key_pressed(egui::Key::Escape)) {
options.set(AppOptions::FullscreenMedia, false); fullscreen_media_close(options, viewer_state);
return; return;
} }
@@ -405,10 +405,16 @@ fn fullscreen_media_viewer_ui(
.ui(img_cache, ui); .ui(img_cache, ui);
if resp.clicked() { if resp.clicked() {
options.set(AppOptions::FullscreenMedia, false); fullscreen_media_close(options, viewer_state);
} }
} }
/// Close the fullscreen media player. This also resets the scene_rect state
fn fullscreen_media_close(options: &mut AppOptions, state: &mut MediaViewerState) {
options.set(AppOptions::FullscreenMedia, false);
state.scene_rect = None;
}
/* /*
fn determine_key_storage_type() -> KeyStorageType { fn determine_key_storage_type() -> KeyStorageType {
#[cfg(target_os = "macos")] #[cfg(target_os = "macos")]