Create iced_core and iced_native
This commit is contained in:
parent
b83a4b42dd
commit
b9e0f74948
81 changed files with 2576 additions and 2709 deletions
32
native/src/input/mouse/button.rs
Normal file
32
native/src/input/mouse/button.rs
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
/// The button of a mouse.
|
||||
///
|
||||
/// 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, PartialEq, Eq, Clone, Copy)]
|
||||
pub enum Button {
|
||||
/// The left mouse button.
|
||||
Left,
|
||||
|
||||
/// The right mouse button.
|
||||
Right,
|
||||
|
||||
/// The middle (wheel) button.
|
||||
Middle,
|
||||
|
||||
/// Some other button.
|
||||
Other(u8),
|
||||
}
|
||||
|
||||
#[cfg(feature = "winit")]
|
||||
impl From<winit::event::MouseButton> for super::Button {
|
||||
fn from(mouse_button: winit::event::MouseButton) -> Self {
|
||||
match mouse_button {
|
||||
winit::event::MouseButton::Left => Button::Left,
|
||||
winit::event::MouseButton::Right => Button::Right,
|
||||
winit::event::MouseButton::Middle => Button::Middle,
|
||||
winit::event::MouseButton::Other(other) => Button::Other(other),
|
||||
}
|
||||
}
|
||||
}
|
||||
44
native/src/input/mouse/event.rs
Normal file
44
native/src/input/mouse/event.rs
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
use super::Button;
|
||||
use crate::input::ButtonState;
|
||||
|
||||
/// A mouse event.
|
||||
///
|
||||
/// _**Note:** This type is largely incomplete! If you need to track
|
||||
/// additional events, feel free to [open an issue] and share your use case!_
|
||||
///
|
||||
/// [open an issue]: https://github.com/hecrj/iced/issues
|
||||
#[derive(Debug, Clone, Copy, PartialEq)]
|
||||
pub enum Event {
|
||||
/// The mouse cursor entered the window.
|
||||
CursorEntered,
|
||||
|
||||
/// The mouse cursor left the window.
|
||||
CursorLeft,
|
||||
|
||||
/// The mouse cursor was moved
|
||||
CursorMoved {
|
||||
/// The X coordinate of the mouse position
|
||||
x: f32,
|
||||
|
||||
/// The Y coordinate of the mouse position
|
||||
y: f32,
|
||||
},
|
||||
|
||||
/// A mouse button was pressed or released.
|
||||
Input {
|
||||
/// The state of the button
|
||||
state: ButtonState,
|
||||
|
||||
/// The button identifier
|
||||
button: Button,
|
||||
},
|
||||
|
||||
/// The mouse wheel was scrolled.
|
||||
WheelScrolled {
|
||||
/// The number of horizontal lines scrolled
|
||||
delta_x: f32,
|
||||
|
||||
/// The number of vertical lines scrolled
|
||||
delta_y: f32,
|
||||
},
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue