use crate::*;

use buffer::Buffer;
use event_queue::*;


pub trait WindowProgram {
    fn handle_event(&mut self, event: Event, requests: &mut EventWriter<Request>);

    fn process(&mut self, requests: &mut EventWriter<Request>);

    fn render(&mut self, buffer: &mut Buffer, full: bool);
}