Fix `InputState::any_touches` and add `InputState::has_touch_screen` (#4247)
Add `InputState::has_touch_screen` to query if there ever has been any touches (which is what `any_touches` used to return).
This commit is contained in:
parent
a15e6c2122
commit
bc5ce77819
|
|
@ -485,6 +485,11 @@ impl InputState {
|
|||
|
||||
/// True if there currently are any fingers touching egui.
|
||||
pub fn any_touches(&self) -> bool {
|
||||
self.touch_states.values().any(|t| t.any_touches())
|
||||
}
|
||||
|
||||
/// True if we have ever received a touch event.
|
||||
pub fn has_touch_screen(&self) -> bool {
|
||||
!self.touch_states.is_empty()
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -177,6 +177,11 @@ impl TouchState {
|
|||
}
|
||||
}
|
||||
|
||||
/// Are there currently any fingers touching the surface?
|
||||
pub fn any_touches(&self) -> bool {
|
||||
!self.active_touches.is_empty()
|
||||
}
|
||||
|
||||
pub fn info(&self) -> Option<MultiTouchInfo> {
|
||||
self.gesture_state.as_ref().map(|state| {
|
||||
// state.previous can be `None` when the number of simultaneous touches has just
|
||||
|
|
|
|||
|
|
@ -128,7 +128,7 @@ impl Label {
|
|||
// dragging select text, or scroll the enclosing [`ScrollArea`] (if any)?
|
||||
// Since currently copying selected text in not supported on `eframe` web,
|
||||
// we prioritize touch-scrolling:
|
||||
let allow_drag_to_select = ui.input(|i| !i.any_touches());
|
||||
let allow_drag_to_select = ui.input(|i| !i.has_touch_screen());
|
||||
|
||||
let mut select_sense = if allow_drag_to_select {
|
||||
Sense::click_and_drag()
|
||||
|
|
|
|||
|
|
@ -527,7 +527,7 @@ impl<'t> TextEdit<'t> {
|
|||
// Since currently copying selected text in not supported on `eframe` web,
|
||||
// we prioritize touch-scrolling:
|
||||
let allow_drag_to_select =
|
||||
ui.input(|i| !i.any_touches()) || ui.memory(|mem| mem.has_focus(id));
|
||||
ui.input(|i| !i.has_touch_screen()) || ui.memory(|mem| mem.has_focus(id));
|
||||
|
||||
let sense = if interactive {
|
||||
if allow_drag_to_select {
|
||||
|
|
|
|||
Loading…
Reference in New Issue