[−][src]Struct egui::Response
The result of adding a widget to a Ui
.
This lets you know whether or not a widget has been clicked this frame. It also lets you easily show a tooltip on hover.
Fields
ctx: CtxRef
Used for optionally showing a tooltip and checking for more interactions.
layer_id: LayerId
Which layer the widget is part of.
id: Id
The Id
of the widget/area this response pertains.
rect: Rect
The area of the screen we are talking about.
sense: Sense
The senses (click and/or drag) that the widget was interested in (if any).
hovered: bool
The mouse is hovering above this.
clicked: bool
The mouse clicked this thing this frame.
double_clicked: bool
The thing was double-clicked.
active: bool
The mouse is interacting with this thing (e.g. dragging it).
has_kb_focus: bool
This widget has the keyboard focus (i.e. is receiving key pressed).
lost_kb_focus: bool
The widget had keyboard focus and lost it, perhaps because the user pressed enter. If you want to do an action when a user presses enter in a text field, use this.
if ui.text_edit_singleline(&mut my_text).lost_kb_focus { do_request(&my_text); }
Implementations
impl Response
[src]
pub fn on_hover_ui(self, add_contents: impl FnOnce(&mut Ui)) -> Self
[src]
Show this UI if the item was hovered (i.e. a tooltip). If you call this multiple times the tooltips will stack underneath the previous ones.
pub fn on_hover_text(self, text: impl Into<String>) -> Self
[src]
Show this text if the item was hovered (i.e. a tooltip). If you call this multiple times the tooltips will stack underneath the previous ones.
pub fn tooltip_text(self, text: impl Into<String>) -> Self
[src]
Deprecated 2020-10-01: use on_hover_text
instead.
pub fn interact(&self, sense: Sense) -> Self
[src]
Check for more interactions (e.g. sense clicks on a Response
returned from a label).
let response = ui.label("hello"); assert!(!response.clicked); // labels don't sense clicks let response = response.interact(egui::Sense::click()); if response.clicked { /* … */ }
pub fn scroll_to_me(&self, align: Align)
[src]
Move the scroll to this UI with the specified alignment.
egui::ScrollArea::auto_sized().show(ui, |ui| { for i in 0..1000 { let response = ui.button(format!("Button {}", i)); if response.clicked { response.scroll_to_me(Align::Center); } } });
impl Response
[src]
pub fn union(&self, other: Self) -> Self
[src]
A logical "or" operation.
For instance a.union(b).hovered
means "was either a or b hovered?".
Trait Implementations
impl BitOr<Response> for Response
[src]
To summarize the response from many widgets you can use this pattern:
use egui::*; fn draw_vec2(ui: &mut Ui, v: &mut Vec2) -> Response { ui.add(DragValue::f32(&mut v.x)) | ui.add(DragValue::f32(&mut v.y)) }
Now draw_vec2(ui, foo).hovered
is true if either DragValue
were hovered.
type Output = Self
The resulting type after applying the |
operator.
pub fn bitor(self, rhs: Self) -> Self
[src]
impl BitOrAssign<Response> for Response
[src]
To summarize the response from many widgets you can use this pattern:
let mut response = ui.add(widget_a); response |= ui.add(widget_b); response |= ui.add(widget_c); if response.active { ui.label("You are interacting with one of the widgets"); }
pub fn bitor_assign(&mut self, rhs: Self)
[src]
impl Clone for Response
[src]
impl Debug for Response
[src]
Auto Trait Implementations
impl !RefUnwindSafe for Response
[src]
impl Send for Response
[src]
impl Sync for Response
[src]
impl Unpin for Response
[src]
impl !UnwindSafe for Response
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,