summaryrefslogtreecommitdiffstats
path: root/native/src/input/mouse
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2020-04-30 05:04:45 +0200
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2020-04-30 05:04:45 +0200
commitbb9ccc4f62ceea08dc1ef0c6c4d3d219897e44a1 (patch)
tree5741bbfd344137f88deb8d87584cc70fb0a9f80b /native/src/input/mouse
parent137664ca88a9bf2398380fd1c04b00c62c868383 (diff)
downloadiced-bb9ccc4f62ceea08dc1ef0c6c4d3d219897e44a1.tar.gz
iced-bb9ccc4f62ceea08dc1ef0c6c4d3d219897e44a1.tar.bz2
iced-bb9ccc4f62ceea08dc1ef0c6c4d3d219897e44a1.zip
Remove inconsistent `input` module in `iced_native`
Diffstat (limited to 'native/src/input/mouse')
-rw-r--r--native/src/input/mouse/click.rs76
1 files changed, 0 insertions, 76 deletions
diff --git a/native/src/input/mouse/click.rs b/native/src/input/mouse/click.rs
deleted file mode 100644
index d27bc67e..00000000
--- a/native/src/input/mouse/click.rs
+++ /dev/null
@@ -1,76 +0,0 @@
-//! Track mouse clicks.
-use crate::Point;
-use std::time::Instant;
-
-/// A mouse click.
-#[derive(Debug, Clone, Copy)]
-pub struct Click {
- kind: Kind,
- position: Point,
- time: Instant,
-}
-
-/// The kind of mouse click.
-#[derive(Debug, Clone, Copy)]
-pub enum Kind {
- /// A single click
- Single,
-
- /// A double click
- Double,
-
- /// A triple click
- Triple,
-}
-
-impl Kind {
- fn next(&self) -> Kind {
- match self {
- Kind::Single => Kind::Double,
- Kind::Double => Kind::Triple,
- Kind::Triple => Kind::Double,
- }
- }
-}
-
-impl Click {
- /// Creates a new [`Click`] with the given position and previous last
- /// [`Click`].
- ///
- /// [`Click`]: struct.Click.html
- pub fn new(position: Point, previous: Option<Click>) -> Click {
- let time = Instant::now();
-
- let kind = if let Some(previous) = previous {
- if previous.is_consecutive(position, time) {
- previous.kind.next()
- } else {
- Kind::Single
- }
- } else {
- Kind::Single
- };
-
- Click {
- kind,
- position,
- time,
- }
- }
-
- /// Returns the [`Kind`] of [`Click`].
- ///
- /// [`Kind`]: enum.Kind.html
- /// [`Click`]: struct.Click.html
- pub fn kind(&self) -> Kind {
- self.kind
- }
-
- fn is_consecutive(&self, new_position: Point, time: Instant) -> bool {
- self.position == new_position
- && time
- .checked_duration_since(self.time)
- .map(|duration| duration.as_millis() <= 300)
- .unwrap_or(false)
- }
-}