From a90f7fcb987f667a80038a5e72f379abbd59d932 Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Sat, 5 Oct 2019 03:58:23 +0200 Subject: Move `MouseCursor` to `iced_wgpu` --- native/src/element.rs | 2 +- native/src/lib.rs | 5 +---- native/src/mouse_cursor.rs | 35 ----------------------------------- native/src/widget/image.rs | 2 +- native/src/widget/row.rs | 4 +--- native/src/widget/slider.rs | 2 +- wgpu/src/mouse_cursor.rs | 35 +++++++++++++++++++++++++++++++++++ 7 files changed, 40 insertions(+), 45 deletions(-) delete mode 100644 native/src/mouse_cursor.rs create mode 100644 wgpu/src/mouse_cursor.rs diff --git a/native/src/element.rs b/native/src/element.rs index 4ea2379f..8d14070a 100644 --- a/native/src/element.rs +++ b/native/src/element.rs @@ -103,7 +103,7 @@ where /// # /// # mod iced_wgpu { /// # use iced_native::{ - /// # button, row, Button, MouseCursor, Node, Point, Rectangle, Style, Layout, Row + /// # button, row, Button, Node, Point, Rectangle, Style, Layout, Row /// # }; /// # pub struct Renderer; /// # diff --git a/native/src/lib.rs b/native/src/lib.rs index f6b6f807..6067f49d 100644 --- a/native/src/lib.rs +++ b/native/src/lib.rs @@ -77,8 +77,7 @@ //! # //! # mod iced_wgpu { //! # use iced_native::{ -//! # button, text, Button, Text, -//! # MouseCursor, Node, Point, Rectangle, Style, Color, Layout +//! # button, text, Button, Text, Node, Point, Rectangle, Style, Color, Layout //! # }; //! # //! # pub struct Renderer {} @@ -207,7 +206,6 @@ mod element; mod event; mod hasher; mod layout; -mod mouse_cursor; mod node; mod style; mod user_interface; @@ -223,7 +221,6 @@ pub use element::Element; pub use event::Event; pub use hasher::Hasher; pub use layout::Layout; -pub use mouse_cursor::MouseCursor; pub use node::Node; pub use renderer::Renderer; pub use style::Style; diff --git a/native/src/mouse_cursor.rs b/native/src/mouse_cursor.rs deleted file mode 100644 index 4ef6361a..00000000 --- a/native/src/mouse_cursor.rs +++ /dev/null @@ -1,35 +0,0 @@ -/// The state of the mouse cursor. -#[derive(Debug, Eq, PartialEq, Clone, Copy)] -pub enum MouseCursor { - /// The cursor is out of the bounds of the user interface. - OutOfBounds, - - /// The cursor is over a non-interactive widget. - Idle, - - /// The cursor is over a clickable widget. - Pointer, - - /// The cursor is over a busy widget. - Working, - - /// The cursor is over a grabbable widget. - Grab, - - /// The cursor is grabbing a widget. - Grabbing, -} - -#[cfg(feature = "winit")] -impl From for winit::window::CursorIcon { - fn from(mouse_cursor: MouseCursor) -> winit::window::CursorIcon { - match mouse_cursor { - MouseCursor::OutOfBounds => winit::window::CursorIcon::Default, - MouseCursor::Idle => winit::window::CursorIcon::Default, - MouseCursor::Pointer => winit::window::CursorIcon::Hand, - MouseCursor::Working => winit::window::CursorIcon::Progress, - MouseCursor::Grab => winit::window::CursorIcon::Grab, - MouseCursor::Grabbing => winit::window::CursorIcon::Grabbing, - } - } -} diff --git a/native/src/widget/image.rs b/native/src/widget/image.rs index 5b224158..2bce36c2 100644 --- a/native/src/widget/image.rs +++ b/native/src/widget/image.rs @@ -1,6 +1,6 @@ //! Display images in your user interface. -use crate::{Element, Hasher, Layout, MouseCursor, Node, Point, Widget}; +use crate::{Element, Hasher, Layout, Node, Point, Widget}; use std::hash::Hash; diff --git a/native/src/widget/row.rs b/native/src/widget/row.rs index 04fc8163..9d023210 100644 --- a/native/src/widget/row.rs +++ b/native/src/widget/row.rs @@ -1,8 +1,6 @@ use std::hash::Hash; -use crate::{ - Element, Event, Hasher, Layout, MouseCursor, Node, Point, Style, Widget, -}; +use crate::{Element, Event, Hasher, Layout, Node, Point, Style, Widget}; /// A container that distributes its contents horizontally. pub type Row<'a, Message, Renderer> = diff --git a/native/src/widget/slider.rs b/native/src/widget/slider.rs index cd36c4b9..77095cb7 100644 --- a/native/src/widget/slider.rs +++ b/native/src/widget/slider.rs @@ -7,7 +7,7 @@ use std::hash::Hash; use crate::input::{mouse, ButtonState}; -use crate::{Element, Event, Hasher, Layout, MouseCursor, Node, Point, Widget}; +use crate::{Element, Event, Hasher, Layout, Node, Point, Widget}; pub use iced_core::slider::*; diff --git a/wgpu/src/mouse_cursor.rs b/wgpu/src/mouse_cursor.rs new file mode 100644 index 00000000..4ef6361a --- /dev/null +++ b/wgpu/src/mouse_cursor.rs @@ -0,0 +1,35 @@ +/// The state of the mouse cursor. +#[derive(Debug, Eq, PartialEq, Clone, Copy)] +pub enum MouseCursor { + /// The cursor is out of the bounds of the user interface. + OutOfBounds, + + /// The cursor is over a non-interactive widget. + Idle, + + /// The cursor is over a clickable widget. + Pointer, + + /// The cursor is over a busy widget. + Working, + + /// The cursor is over a grabbable widget. + Grab, + + /// The cursor is grabbing a widget. + Grabbing, +} + +#[cfg(feature = "winit")] +impl From for winit::window::CursorIcon { + fn from(mouse_cursor: MouseCursor) -> winit::window::CursorIcon { + match mouse_cursor { + MouseCursor::OutOfBounds => winit::window::CursorIcon::Default, + MouseCursor::Idle => winit::window::CursorIcon::Default, + MouseCursor::Pointer => winit::window::CursorIcon::Hand, + MouseCursor::Working => winit::window::CursorIcon::Progress, + MouseCursor::Grab => winit::window::CursorIcon::Grab, + MouseCursor::Grabbing => winit::window::CursorIcon::Grabbing, + } + } +} -- cgit