pub trait AtomExt<'a> {
// Required methods
fn atom_size(self, size: Vec2) -> Atom<'a>;
fn atom_grow(self, grow: bool) -> Atom<'a>;
fn atom_shrink(self, shrink: bool) -> Atom<'a>;
fn atom_max_size(self, max_size: Vec2) -> Atom<'a>;
fn atom_max_width(self, max_width: f32) -> Atom<'a>;
fn atom_max_height(self, max_height: f32) -> Atom<'a>;
// Provided method
fn atom_max_height_font_size(self, ui: &Ui) -> Atom<'a>
where Self: Sized { ... }
}
Expand description
A trait for conveniently building Atom
s.
The functions are prefixed with atom_
to avoid conflicts with e.g. crate::RichText::size
.
Required Methods§
Sourcefn atom_size(self, size: Vec2) -> Atom<'a>
fn atom_size(self, size: Vec2) -> Atom<'a>
Set the atom to a fixed size.
If Atom::grow
is true
, this will be the minimum width.
If Atom::shrink
is true
, this will be the maximum width.
If both are true, the width will have no effect.
Self::atom_max_size
will limit size.
See crate::AtomKind
docs to see how the size affects the different types.
Sourcefn atom_grow(self, grow: bool) -> Atom<'a>
fn atom_grow(self, grow: bool) -> Atom<'a>
Grow this atom to the available space.
This will affect the size of the Atom
in the main direction. Since
crate::AtomLayout
today only supports horizontal layout, it will affect the width.
You can also combine this with Self::atom_shrink
to make it always take exactly the
remaining space.
Sourcefn atom_shrink(self, shrink: bool) -> Atom<'a>
fn atom_shrink(self, shrink: bool) -> Atom<'a>
Shrink this atom if there isn’t enough space.
This will affect the size of the Atom
in the main direction. Since
crate::AtomLayout
today only supports horizontal layout, it will affect the width.
NOTE: Only a single Atom
may shrink for each widget.
If no atom was set to shrink and wrap_mode != TextWrapMode::Extend
, the first
AtomKind::Text
is set to shrink.
Sourcefn atom_max_size(self, max_size: Vec2) -> Atom<'a>
fn atom_max_size(self, max_size: Vec2) -> Atom<'a>
Set the maximum size of this atom.
Will not affect the space taken by grow
(All atoms marked as grow will always grow
equally to fill the available space).
Sourcefn atom_max_width(self, max_width: f32) -> Atom<'a>
fn atom_max_width(self, max_width: f32) -> Atom<'a>
Set the maximum width of this atom.
Will not affect the space taken by grow
(All atoms marked as grow will always grow
equally to fill the available space).
Sourcefn atom_max_height(self, max_height: f32) -> Atom<'a>
fn atom_max_height(self, max_height: f32) -> Atom<'a>
Set the maximum height of this atom.
Provided Methods§
Sourcefn atom_max_height_font_size(self, ui: &Ui) -> Atom<'a>where
Self: Sized,
fn atom_max_height_font_size(self, ui: &Ui) -> Atom<'a>where
Self: Sized,
Set the max height of this atom to match the font size.
This is useful for e.g. limiting the height of icons in buttons.