summaryrefslogtreecommitdiff
path: root/src/press_state.rs
diff options
context:
space:
mode:
authorBen Bridle <bridle.benjamin@gmail.com>2023-10-10 14:56:04 +1300
committerBen Bridle <bridle.benjamin@gmail.com>2023-10-10 14:56:04 +1300
commita6e97019bd53e4478c846f8f636c18ecb53bece2 (patch)
tree69dada994e34cdfb4ddcef5a29c753f449407ec7 /src/press_state.rs
downloadphosphor-a6e97019bd53e4478c846f8f636c18ecb53bece2.zip
First commit, before upgrading winit to version 28.1
Diffstat (limited to 'src/press_state.rs')
-rw-r--r--src/press_state.rs26
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,
+ }
+ }
+}