use std::fmt;
use crate::cw;
use crate::widget::Coord;
use crate::widget::Core;
use crate::toolkit::TkWidget;
pub trait Layout: Core + fmt::Debug {
#[cfg(feature = "cassowary")]
fn init_constraints(&self, tk: &TkWidget,
s: &mut cw::Solver, use_default: bool);
#[cfg(feature = "cassowary")]
fn apply_constraints(&mut self, tk: &TkWidget, s: &cw::Solver, pos: Coord);
}
#[macro_export]
macro_rules! cw_var {
($w:expr, w) => { $crate::cw::Variable::from_usize($w.number() as usize) };
($w:expr, h) => { $crate::cw::Variable::from_usize(($w.number() + 0x1000_0000) as usize) };
}