watch rework

This commit is contained in:
galister
2026-01-08 01:06:54 +09:00
parent 89e8d606a8
commit 4d1154cdcb
25 changed files with 376 additions and 730 deletions

View File

@@ -7,6 +7,7 @@ use glam::{Affine3A, Vec2, Vec3A, Vec3Swizzles};
use idmap_derive::IntegerId;
use smallvec::{SmallVec, smallvec};
use strum::AsRefStr;
use wlx_common::common::LeftRight;
use wlx_common::windowing::{OverlayWindowState, Positioning};
@@ -37,7 +38,7 @@ pub struct TrackedDevice {
}
#[repr(u8)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, IntegerId)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, IntegerId, AsRefStr)]
pub enum TrackedDeviceRole {
None,
Hmd,

View File

@@ -76,18 +76,26 @@ pub struct ModifyPanelTask {
pub command: ModifyPanelCommand,
}
pub enum ToggleMode {
EnsureOn,
EnsureOff,
Toggle,
}
pub type ModifyOverlayTask = dyn FnOnce(&mut AppState, &mut OverlayWindowConfig) + Send;
pub type CreateOverlayTask = dyn FnOnce(&mut AppState) -> Option<OverlayWindowConfig> + Send;
pub enum OverlayTask {
AddSet,
ToggleSet(usize),
SwitchSet(Option<usize>),
ToggleOverlay(OverlaySelector),
ToggleOverlay(OverlaySelector, ToggleMode),
ResetOverlay(OverlaySelector),
DeleteActiveSet,
ToggleEditMode,
ToggleDashboard,
ShowHide,
CleanupMirrors,
SettingsChanged,
Modify(OverlaySelector, Box<ModifyOverlayTask>),
Create(OverlaySelector, Box<CreateOverlayTask>),
ModifyPanel(ModifyPanelTask),