use rustty::{CellAccessor, Size, HasSize};
use core::attributes::{HorizontalAlign, VerticalAlign};
use core::frame::Frame;
pub trait Widget {
fn draw(&mut self, parent: &mut CellAccessor);
fn pack(&mut self, parent: &HasSize, halign: HorizontalAlign, valign: VerticalAlign,
margin: (usize, usize));
fn draw_box(&mut self);
fn resize(&mut self, new_size: Size);
fn frame(&self) -> &Frame;
fn frame_mut(&mut self) -> &mut Frame;
}