Trait egui::widgets::Widget[][src]

#[must_use = "You should put this widget in an ui with `ui.add(widget);`"]pub trait Widget {
    fn ui(self, ui: &mut Ui) -> Response;
}

Anything implementing Widget can be added to a Ui with Ui::add.

Examples include [Button], [Label] and Slider.

|ui: &mut Ui| -> Response { … } also implemented Widget.

Required methods

fn ui(self, ui: &mut Ui) -> Response[src]

Allocate space, interact, paint, and return a Response.

Loading content...

Implementations on Foreign Types

impl Widget for &PaintStats[src]

impl Widget for &mut TessellationOptions[src]

Loading content...

Implementors

impl Widget for &Texture[src]

impl Widget for &mut FontDefinitions[src]

impl Widget for Plot[src]

impl Widget for Button[src]

impl Widget for Hyperlink[src]

impl Widget for Image[src]

impl Widget for ImageButton[src]

impl Widget for Label[src]

impl Widget for RadioButton[src]

impl Widget for SelectableLabel[src]

impl Widget for Separator[src]

impl<'a> Widget for Checkbox<'a>[src]

impl<'a> Widget for DragValue<'a>[src]

impl<'a> Widget for Slider<'a>[src]

impl<'t> Widget for TextEdit<'t>[src]

impl<F> Widget for F where
    F: FnOnce(&mut Ui) -> Response
[src]

This enables functions that return impl Widget, so that you can create a widget by just returning a lambda from a function.

For instance: ui.add(slider_vec2(&mut vec2)); with:

pub fn slider_vec2(value: &mut egui::Vec2) -> impl egui::Widget + '_ {
   move |ui: &mut egui::Ui| {
       ui.horizontal(|ui| {
           ui.add(egui::Slider::f32(&mut value.x, 0.0..=1.0).text("x"));
           ui.add(egui::Slider::f32(&mut value.y, 0.0..=1.0).text("y"));
       })
       .response
   }
}
Loading content...