pub trait DecoratorBehavior {
fn ty(&self) -> &'static str;
fn children_measure_size(
&self,
view: View,
state: &mut dyn State,
measure_size: (Option<i16>, Option<i16>)
) -> (Option<i16>, Option<i16>);
fn desired_size(
&self,
view: View,
state: &mut dyn State,
children_desired_size: Vector
) -> Vector;
fn children_arrange_bounds(
&self,
view: View,
state: &mut dyn State,
arrange_size: Vector
) -> Rect;
fn render_bounds(
&self,
view: View,
state: &mut dyn State,
children_render_bounds: Rect
) -> Rect;
fn render(&self, view: View, state: &dyn State, port: &mut RenderPort);
fn init_bindings(
&self,
view: View,
state: &mut dyn State
) -> Box<dyn DecoratorBindings>;
fn drop_bindings(
&self,
view: View,
state: &mut dyn State,
bindings: Box<dyn DecoratorBindings>
);
}