diff options
Diffstat (limited to 'src/lib.rs')
-rw-r--r-- | src/lib.rs | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/lib.rs b/src/lib.rs new file mode 100644 index 0000000..4ff35eb --- /dev/null +++ b/src/lib.rs @@ -0,0 +1,34 @@ +#![feature(bigint_helper_methods)] +#![feature(unchecked_shifts)] +#![feature(seek_stream_len)] +#![feature(io_error_more)] + +mod debug; +mod devices; +mod emulators; +mod metadata; + +pub use debug::DebugState; +pub use devices::*; +pub use emulators::*; +pub use metadata::*; + +use std::num::NonZeroU32; +use std::time::Duration; +pub const BATCH_SIZE: usize = 1000; +pub const MIN_TICK_DURATION: Duration = Duration::from_millis( 4 ); +pub const MIN_FRAME_DURATION: Duration = Duration::from_millis( 14 ); +pub const MAX_FRAME_DURATION: Duration = Duration::from_millis( 500 ); +pub const DEFAULT_SCREEN_SIZE: ScreenDimensions = ScreenDimensions::new(800,600); +pub const DEFAULT_SCREEN_SCALE: NonZeroU32 = unsafe { NonZeroU32::new_unchecked(1) }; + +pub type ScreenPosition = geometry::Point<u16>; +pub type ScreenDimensions = geometry::Dimensions<u16>; + +#[macro_export] +macro_rules! error { + ($source:expr, $($tokens:tt)*) => {{ + eprint!("[ERROR] [{}]: ", $source); + eprintln!($($tokens)*); + }}; +} |