Feat: early mouse support
This commit is contained in:
@@ -8,6 +8,14 @@ use crate::page::Page;
|
||||
use crate::state::effects::FxId;
|
||||
use crate::state::{ColorScheme, Modal};
|
||||
|
||||
#[derive(Clone, Copy, PartialEq, Eq, Default)]
|
||||
pub enum MinimapMode {
|
||||
#[default]
|
||||
Hidden,
|
||||
Timed(Instant),
|
||||
Sticky,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Copy, Default, PartialEq, Eq)]
|
||||
pub enum FlashKind {
|
||||
#[default]
|
||||
@@ -49,7 +57,7 @@ pub struct UiState {
|
||||
pub show_title: bool,
|
||||
pub runtime_highlight: bool,
|
||||
pub show_completion: bool,
|
||||
pub minimap_until: Option<Instant>,
|
||||
pub minimap: MinimapMode,
|
||||
pub color_scheme: ColorScheme,
|
||||
pub hue_rotation: f32,
|
||||
pub effects: RefCell<EffectManager<FxId>>,
|
||||
@@ -81,7 +89,7 @@ impl Default for UiState {
|
||||
show_title: true,
|
||||
runtime_highlight: false,
|
||||
show_completion: true,
|
||||
minimap_until: None,
|
||||
minimap: MinimapMode::Hidden,
|
||||
color_scheme: ColorScheme::default(),
|
||||
hue_rotation: 0.0,
|
||||
effects: RefCell::new(EffectManager::default()),
|
||||
@@ -138,4 +146,16 @@ impl UiState {
|
||||
.map(|t| Instant::now() < t)
|
||||
.unwrap_or(false)
|
||||
}
|
||||
|
||||
pub fn show_minimap(&self) -> bool {
|
||||
match self.minimap {
|
||||
MinimapMode::Hidden => false,
|
||||
MinimapMode::Timed(until) => Instant::now() < until,
|
||||
MinimapMode::Sticky => true,
|
||||
}
|
||||
}
|
||||
|
||||
pub fn dismiss_minimap(&mut self) {
|
||||
self.minimap = MinimapMode::Hidden;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user