pub trait Arranger: Debug {
    // Required methods
    fn calculate_size(
        &self,
        group_size: Size,
        member_sizes: &mut [Size],
        member_data: &[&Option<GroupMemberData>]
    ) -> Size;
    fn arrange(
        &self,
        group_size: Size,
        member_sizes: &[Size],
        member_data: &[&Option<GroupMemberData>]
    ) -> Vec<Point>;
}
Expand description

Arranger is a trait that defines how groups can be arranged.

Required Methods§

source

fn calculate_size( &self, group_size: Size, member_sizes: &mut [Size], member_data: &[&Option<GroupMemberData>] ) -> Size

Calculate the size of a group, based on the available size and the sizes of the members of the group.

source

fn arrange( &self, group_size: Size, member_sizes: &[Size], member_data: &[&Option<GroupMemberData>] ) -> Vec<Point>

Return the group-relative positions of the members of this group, based on the sizes of the members.

Implementors§