diff options
author | 2020-12-15 06:13:19 +0100 | |
---|---|---|
committer | 2020-12-15 06:13:19 +0100 | |
commit | 09110a93b06ae33af6870b4aded8637748cecace (patch) | |
tree | 64f4d9a4dde51ef44ea47f94c2079e5346df4c6c /native/src/widget/button.rs | |
parent | a42b3c6998274e75fd10f5ff3cecbdb37b9e3895 (diff) | |
parent | 36bdc0be1a0f959c84c18286b85c1ab51be330e6 (diff) | |
download | iced-09110a93b06ae33af6870b4aded8637748cecace.tar.gz iced-09110a93b06ae33af6870b4aded8637748cecace.tar.bz2 iced-09110a93b06ae33af6870b4aded8637748cecace.zip |
Merge branch 'ios-support-wip' into feature/touch-support
Diffstat (limited to 'native/src/widget/button.rs')
-rw-r--r-- | native/src/widget/button.rs | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/native/src/widget/button.rs b/native/src/widget/button.rs index dca20e13..7d5eb30c 100644 --- a/native/src/widget/button.rs +++ b/native/src/widget/button.rs @@ -4,6 +4,7 @@ use crate::event::{self, Event}; use crate::layout; use crate::mouse; +use crate::touch::{self, Touch}; use crate::{ Clipboard, Element, Hasher, Layout, Length, Point, Rectangle, Widget, }; @@ -164,7 +165,11 @@ where _clipboard: Option<&dyn Clipboard>, ) -> event::Status { match event { - Event::Mouse(mouse::Event::ButtonPressed(mouse::Button::Left)) => { + Event::Mouse(mouse::Event::ButtonPressed(mouse::Button::Left)) + | Event::Touch(Touch { + phase: touch::Phase::Started, + .. + }) => { if self.on_press.is_some() { let bounds = layout.bounds(); @@ -175,7 +180,11 @@ where } } } - Event::Mouse(mouse::Event::ButtonReleased(mouse::Button::Left)) => { + Event::Mouse(mouse::Event::ButtonReleased(mouse::Button::Left)) + | Event::Touch(Touch { + phase: touch::Phase::Ended, + .. + }) => { if let Some(on_press) = self.on_press.clone() { let bounds = layout.bounds(); @@ -190,6 +199,12 @@ where } } } + Event::Touch(Touch { + phase: touch::Phase::Canceled, + .. + }) => { + self.state.is_pressed = false; + } _ => {} } |