Struct Host

Source
pub struct Host;
Expand description

Represents the Monotron we’re running on. Can be passed to write! and friends.

Implementations§

Source§

impl Host

Source

pub fn getsize() -> (u16, u16)

Get the (width, height) of the Monotron TTY

Source

pub fn init()

Call once at start-up to configure terminal

Examples found in repository?
examples/simple.rs (line 11)
10pub fn main() {
11    monotron_app::Host::init();
12    let r = monotron_main();
13    monotron_app::Host::deinit();
14    std::process::exit(r);
15}
Source

pub fn deinit()

Disable ncurses

Examples found in repository?
examples/simple.rs (line 13)
10pub fn main() {
11    monotron_app::Host::init();
12    let r = monotron_main();
13    monotron_app::Host::deinit();
14    std::process::exit(r);
15}
Source

pub fn putchar(ch: u8)

Send a single 8-bit character to the screen.

Source

pub fn puts(str8bit: &[u8])

Send a single 8-bit character to the screen.

Examples found in repository?
examples/simple.rs (line 19)
18pub extern "C" fn monotron_main() -> i32 {
19    Host::puts(b"ASCII Test! \x80\n");
20    // Print 5 times in 5 seconds
21    for _ in 0..5 {
22        write!(Host, "Hello, \u{001B}RRust\u{001B}W!\n").unwrap();
23        for _ in 0..60 {
24            Host::wfvbi();
25        }
26    }
27    0
28}
Source

pub fn kbhit() -> bool

Return true if there is a keypress waiting (i.e. readc won’t block).

Source

pub fn readc() -> u8

Read an 8-bit character from the console.

Source

pub fn wfvbi()

Wait For Vertical Blanking Interval

Examples found in repository?
examples/simple.rs (line 24)
18pub extern "C" fn monotron_main() -> i32 {
19    Host::puts(b"ASCII Test! \x80\n");
20    // Print 5 times in 5 seconds
21    for _ in 0..5 {
22        write!(Host, "Hello, \u{001B}RRust\u{001B}W!\n").unwrap();
23        for _ in 0..60 {
24            Host::wfvbi();
25        }
26    }
27    0
28}
Source

pub fn move_cursor(row: Row, col: Col)

Move the cursor on the screen.

Source

pub fn play<F>( _frequency: F, _channel: Channel, _waveform: Waveform, _volume: u8, )
where F: Into<Frequency>,

Start playing a tone. It will continue.

Source

pub fn set_font(_font: Font) -> Result<(), &'static str>

Move the cursor on the screen.

Source

pub fn get_joystick() -> JoystickState

Get the Joystick state

Source

pub fn set_cursor_visible(_visible: bool)

Show/hide the cursor

Trait Implementations§

Source§

impl Write for Host

Source§

fn write_str(&mut self, s: &str) -> Result

Writes a string slice into this writer, returning whether the write succeeded. Read more
1.1.0 · Source§

fn write_char(&mut self, c: char) -> Result<(), Error>

Writes a char into this writer, returning whether the write succeeded. Read more
1.0.0 · Source§

fn write_fmt(&mut self, args: Arguments<'_>) -> Result<(), Error>

Glue for usage of the write! macro with implementors of this trait. Read more

Auto Trait Implementations§

§

impl Freeze for Host

§

impl RefUnwindSafe for Host

§

impl Send for Host

§

impl Sync for Host

§

impl Unpin for Host

§

impl UnwindSafe for Host

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.