[][src]Trait pugl_ui::layout::LayouterImpl

pub trait LayouterImpl: DowncastSync {
    fn apply_layouts(
        &self,
        widgets: &mut Vec<Box<dyn Widget>>,
        children: &[WidgetNode],
        orig_pos: Coord,
        available_size: Size
    );
fn calc_size(
        &self,
        widgets: &mut Vec<Box<dyn Widget>>,
        children: &[WidgetNode]
    ) -> Size; }

A trait to perform the layouting speicified by Layouter trait object.

Required methods

fn apply_layouts(
    &self,
    widgets: &mut Vec<Box<dyn Widget>>,
    children: &[WidgetNode],
    orig_pos: Coord,
    available_size: Size
)

Supposed to calculate an apply the layout (position and size) of each widget in the layout.

The layouter can expand the widget's size if the widgets is expandable.

fn calc_size(
    &self,
    widgets: &mut Vec<Box<dyn Widget>>,
    children: &[WidgetNode]
) -> Size

Supposed to calculate the size of the layout by asking all the child widgets for their size.

Loading content...

Implementations

impl dyn LayouterImpl[src]

pub fn is<__T: LayouterImpl>(&self) -> bool[src]

Returns true if the trait object wraps an object of type __T.

pub fn downcast<__T: LayouterImpl>(
    self: Box<Self>
) -> Result<Box<__T>, Box<Self>>
[src]

Returns a boxed object from a boxed trait object if the underlying object is of type __T. Returns the original boxed trait if it isn't.

pub fn downcast_rc<__T: LayouterImpl>(
    self: Rc<Self>
) -> Result<Rc<__T>, Rc<Self>>
[src]

Returns an Rc-ed object from an Rc-ed trait object if the underlying object is of type __T. Returns the original Rc-ed trait if it isn't.

pub fn downcast_ref<__T: LayouterImpl>(&self) -> Option<&__T>[src]

Returns a reference to the object within the trait object if it is of type __T, or None if it isn't.

pub fn downcast_mut<__T: LayouterImpl>(&mut self) -> Option<&mut __T>[src]

Returns a mutable reference to the object within the trait object if it is of type __T, or None if it isn't.

pub fn downcast_arc<__T: LayouterImpl>(
    self: Arc<Self>
) -> Result<Arc<__T>, Arc<Self>> where
    __T: Any + Send + Sync
[src]

Returns an Arc-ed object from an Arc-ed trait object if the underlying object is of type __T. Returns the original Arc-ed trait if it isn't.

Implementors

impl LayouterImpl for HorizontalLayouterImpl[src]

impl LayouterImpl for VerticalLayouterImpl[src]

Loading content...