diff options
author | Ben Bridle <bridle.benjamin@gmail.com> | 2023-10-10 14:56:04 +1300 |
---|---|---|
committer | Ben Bridle <bridle.benjamin@gmail.com> | 2023-10-10 14:56:04 +1300 |
commit | a6e97019bd53e4478c846f8f636c18ecb53bece2 (patch) | |
tree | 69dada994e34cdfb4ddcef5a29c753f449407ec7 /src/press_state.rs | |
download | phosphor-a6e97019bd53e4478c846f8f636c18ecb53bece2.zip |
First commit, before upgrading winit to version 28.1
Diffstat (limited to 'src/press_state.rs')
-rw-r--r-- | src/press_state.rs | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/press_state.rs b/src/press_state.rs new file mode 100644 index 0000000..5136d66 --- /dev/null +++ b/src/press_state.rs @@ -0,0 +1,26 @@ +use winit::event::ElementState; + +/// Denotes whether an event was a press event or a release event. +#[derive(Clone, Copy, PartialEq, Debug)] +pub enum PressState { + Pressed, + Released, +} + +impl PressState { + pub fn is_pressed(&self) -> bool { + *self == Self::Pressed + } + pub fn is_released(&self) -> bool { + *self == Self::Released + } +} + +impl From<ElementState> for PressState { + fn from(value: ElementState) -> Self { + match value { + ElementState::Pressed => PressState::Pressed, + ElementState::Released => PressState::Released, + } + } +} |