use crate::driver_traits::graphics::Point; use alloc::string::String; use alloc::vec::Vec; pub struct MenuOption { symbol: char, } pub type MenuBar = Vec; pub struct Window { title: String, position: Point, fullscreen: bool, } // all of these should return a result impl Window { pub fn new(title: String, position: Point, fullscreen: bool) -> Self { Self { title, position, fullscreen, } } pub fn fullscreen(&mut self) { self.fullscreen = true; } pub fn revert_fullscreen(&mut self) { self.fullscreen = false; } pub fn set_title(&mut self) { todo!(); } pub fn set_position(&mut self, pos: Point) { self.position = pos; } }