pub struct UiRoot {
pub id: String,
pub root: Widget,
pub layout_root: LayoutNode,
pub needs_layout: bool,
}Expand description
Top-level UI tree. Build it, call layout, then [render] each frame.
Fields§
§id: String§root: Widget§layout_root: LayoutNode§needs_layout: boolImplementations§
Source§impl UiRoot
impl UiRoot
pub fn new(id: impl Into<String>, root: Widget) -> UiRoot
Sourcepub fn layout(&mut self, screen_w: f32, screen_h: f32)
pub fn layout(&mut self, screen_w: f32, screen_h: f32)
Recalculate layout. Call after changing the tree or on window resize.
Sourcepub fn render(&self, ctx: &GfxContext)
pub fn render(&self, ctx: &GfxContext)
Render the UI tree via yog-gfx draw2d.
Must be called from on_hud_render.
Sourcepub fn tooltip_at(&self, mx: f32, my: f32) -> Option<&str>
pub fn tooltip_at(&self, mx: f32, my: f32) -> Option<&str>
The tooltip of the innermost widget at (mx, my) that has one.
Call after Self::layout.
Sourcepub fn render_tooltip(ctx: &GfxContext, text: &str, mx: f32, my: f32)
pub fn render_tooltip(ctx: &GfxContext, text: &str, mx: f32, my: f32)
Draws text as a vanilla tooltip next to the cursor at (mx, my),
kept inside the screen. Call after Self::render so it’s on top.
Sourcepub fn hit_test(&self, mx: f32, my: f32) -> Option<&LayoutNode>
pub fn hit_test(&self, mx: f32, my: f32) -> Option<&LayoutNode>
Find the deepest clickable widget at (mx, my) in screen coordinates.
Sourcepub fn find_rect(&self, id: &str) -> Option<Rect>
pub fn find_rect(&self, id: &str) -> Option<Rect>
Resolved rect of the (first) node tagged id — see layout::find_by_id.
Call after Self::layout.
Sourcepub fn find_node(&self, id: &str) -> Option<&LayoutNode>
pub fn find_node(&self, id: &str) -> Option<&LayoutNode>
Laid-out node of the (first) widget tagged id — rect plus scroll
state, see layout::find_node. Call after Self::layout.
Auto Trait Implementations§
impl Freeze for UiRoot
impl RefUnwindSafe for UiRoot
impl Send for UiRoot
impl Sync for UiRoot
impl Unpin for UiRoot
impl UnsafeUnpin for UiRoot
impl UnwindSafe for UiRoot
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more