summaryrefslogblamecommitdiffstats
path: root/src/input/button_state.rs
blob: e9dc05d7b6a598bb32f9a9991cc6bb90a6065034 (plain) (tree)
1
2
3
4
5
6
7
8
9
                          




                                                                            

                                                                   
                              
            

                                      

             

                         




                                                                          


         
/// The state of a button.
///
/// If you are using [`winit`], consider enabling the `winit` feature to get
/// conversion implementations for free!
///
/// [`winit`]: https://docs.rs/winit/0.20.0-alpha3/winit/
#[derive(Debug, Hash, Ord, PartialOrd, PartialEq, Eq, Clone, Copy)]
pub enum ButtonState {
    /// The button is pressed.
    Pressed,

    /// The button is __not__ pressed.
    Released,
}

#[cfg(feature = "winit")]
impl From<winit::event::ElementState> for ButtonState {
    fn from(element_state: winit::event::ElementState) -> Self {
        match element_state {
            winit::event::ElementState::Pressed => ButtonState::Pressed,
            winit::event::ElementState::Released => ButtonState::Released,
        }
    }
}