pub struct UiBuilder {
pub id_salt: Option<Id>,
pub ui_stack_info: UiStackInfo,
pub layer_id: Option<LayerId>,
pub max_rect: Option<Rect>,
pub layout: Option<Layout>,
pub disabled: bool,
pub invisible: bool,
pub sizing_pass: bool,
pub style: Option<Arc<Style>>,
pub sense: Option<Sense>,
}
Expand description
Build a Ui
as the child of another Ui
.
By default, everything is inherited from the parent,
except for max_rect
which by default is set to
the parent Ui::available_rect_before_wrap
.
Fields§
§id_salt: Option<Id>
§ui_stack_info: UiStackInfo
§layer_id: Option<LayerId>
§max_rect: Option<Rect>
§layout: Option<Layout>
§disabled: bool
§invisible: bool
§sizing_pass: bool
§style: Option<Arc<Style>>
§sense: Option<Sense>
Implementations§
Source§impl UiBuilder
impl UiBuilder
pub fn new() -> Self
Sourcepub fn ui_stack_info(self, ui_stack_info: UiStackInfo) -> Self
pub fn ui_stack_info(self, ui_stack_info: UiStackInfo) -> Self
Provide some information about the new Ui
being built.
Sourcepub fn max_rect(self, max_rect: Rect) -> Self
pub fn max_rect(self, max_rect: Rect) -> Self
Set the max rectangle, within which widgets will go.
New widgets will try to fit within this rectangle.
Text labels will wrap to fit within max_rect
.
Separator lines will span the max_rect
.
If a new widget doesn’t fit within the max_rect
then the
Ui
will make room for it by expanding both min_rect
and
If not set, this will be set to the parent
Ui::available_rect_before_wrap
.
Sourcepub fn layout(self, layout: Layout) -> Self
pub fn layout(self, layout: Layout) -> Self
Override the layout.
Will otherwise be inherited from the parent.
Sourcepub fn disabled(self) -> Self
pub fn disabled(self) -> Self
Make the new Ui
disabled, i.e. grayed-out and non-interactive.
Note that if the parent Ui
is disabled, the child will always be disabled.
Sourcepub fn invisible(self) -> Self
pub fn invisible(self) -> Self
Make the contents invisible.
Will also disable the Ui
(see Self::disabled
).
If the parent Ui
is invisible, the child will always be invisible.
Sourcepub fn sizing_pass(self) -> Self
pub fn sizing_pass(self) -> Self
Set to true in special cases where we do one frame where we size up the contents of the Ui, without actually showing it.
If the sizing_pass
flag is set on the parent,
the child will inherit it automatically.
Sourcepub fn style(self, style: impl Into<Arc<Style>>) -> Self
pub fn style(self, style: impl Into<Arc<Style>>) -> Self
Override the style.
Otherwise will inherit the style of the parent.
Sourcepub fn sense(self, sense: Sense) -> Self
pub fn sense(self, sense: Sense) -> Self
Set if you want sense clicks and/or drags. Default is Sense::hover
.
The sense will be registered below the Senses of any widgets contained in this Ui
, so
if the user clicks a button contained within this Ui
, that button will receive the click
instead.
The response can be read early with Ui::response
.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for UiBuilder
impl !RefUnwindSafe for UiBuilder
impl Send for UiBuilder
impl Sync for UiBuilder
impl Unpin for UiBuilder
impl !UnwindSafe for UiBuilder
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more