#![deny(warnings)]
#![doc(test(attr(deny(warnings))))]
#![doc(test(attr(allow(dead_code))))]
#![doc(test(attr(allow(unused_variables))))]
#![no_std]
extern crate alloc;
use alloc::boxed::Box;
pub use tuifw_screen_base::*;
pub unsafe fn init() -> Result<Box<dyn Screen>, Error> {
init_raw()
}
#[cfg(dos)]
unsafe fn init_raw() -> Result<Box<dyn Screen>, Error> {
Ok(Box::new(tuifw_screen_dos::Screen::new()?) as _)
}
#[cfg(all(not(dos), windows))]
unsafe fn init_raw() -> Result<Box<dyn Screen>, Error> {
Ok(Box::new(tuifw_screen_winapi::Screen::new()?) as _)
}
#[cfg(all(not(dos), not(windows)))]
unsafe fn init_raw() -> Result<Box<dyn Screen>, Error> {
tuifw_screen_ncurses::init()
}