diff options
Diffstat (limited to 'src/window.rs')
-rw-r--r-- | src/window.rs | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/window.rs b/src/window.rs index 70c9c02..f031af5 100644 --- a/src/window.rs +++ b/src/window.rs @@ -18,11 +18,21 @@ fn to_physical_size(dimensions: Dimensions, scale: u32) -> PhysicalSize<u32> { } +#[derive(Copy, Clone, Debug, PartialEq)] +pub enum PointerState { + In, + Out, + PendingOut, +} + + pub(crate) struct PhosphorWindow { pub winit: Rc<Window>, pub program: Box<dyn WindowProgram>, pub requests: EventQueue<Request>, pub pointer: Option<Position>, + pub pointer_state: PointerState, + pub mouse_buttons: [bool; 5], pub marked_for_destruction: bool, pub size_bounds: SizeBounds, // logical dimensions @@ -79,6 +89,8 @@ impl PhosphorWindow { program: builder.program, requests: EventQueue::new(), pointer: None, + pointer_state: PointerState::Out, + mouse_buttons: [false; 5], marked_for_destruction: false, size_bounds, |