Struct SimpleConsole

Source
pub struct SimpleConsole {
    pub width: u32,
    pub height: u32,
    pub tiles: Vec<Tile>,
    pub is_dirty: bool,
    pub offset_x: f32,
    pub offset_y: f32,
    pub scale: f32,
    pub scale_center: (i32, i32),
    pub extra_clipping: Option<Rect>,
    pub translation: CharacterTranslationMode,
    /* private fields */
}
Expand description

A simple console with background color.

Fields§

§width: u32§height: u32§tiles: Vec<Tile>§is_dirty: bool§offset_x: f32§offset_y: f32§scale: f32§scale_center: (i32, i32)§extra_clipping: Option<Rect>§translation: CharacterTranslationMode

Implementations§

Source§

impl SimpleConsole

Source

pub fn init(width: u32, height: u32) -> Box<SimpleConsole>

Initializes a console, ready to add to BTerm’s console list.

Trait Implementations§

Source§

impl Console for SimpleConsole

Source§

fn at(&self, x: i32, y: i32) -> usize

Translate an x/y into an array index.

Source§

fn cls(&mut self)

Clears the screen.

Source§

fn cls_bg(&mut self, background: RGBA)

Clears the screen with a background color.

Source§

fn print(&mut self, x: i32, y: i32, output: &str)

Prints a string at x/y.

Source§

fn print_color(&mut self, x: i32, y: i32, fg: RGBA, bg: RGBA, output: &str)

Prints a string at x/y, with foreground and background colors.

Source§

fn set(&mut self, x: i32, y: i32, fg: RGBA, bg: RGBA, glyph: u16)

Sets a single cell in the console

Source§

fn set_bg(&mut self, x: i32, y: i32, bg: RGBA)

Sets a single cell in the console’s background

Source§

fn draw_box( &mut self, sx: i32, sy: i32, width: i32, height: i32, fg: RGBA, bg: RGBA, )

Draws a box, starting at x/y with the extents width/height using CP437 line characters

Source§

fn draw_hollow_box( &mut self, sx: i32, sy: i32, width: i32, height: i32, fg: RGBA, bg: RGBA, )

Draws a box, starting at x/y with the extents width/height using CP437 line characters

Source§

fn draw_box_double( &mut self, sx: i32, sy: i32, width: i32, height: i32, fg: RGBA, bg: RGBA, )

Draws a box, starting at x/y with the extents width/height using CP437 double line characters

Source§

fn draw_hollow_box_double( &mut self, sx: i32, sy: i32, width: i32, height: i32, fg: RGBA, bg: RGBA, )

Draws a box, starting at x/y with the extents width/height using CP437 double line characters

Source§

fn fill_region(&mut self, target: Rect, glyph: u16, fg: RGBA, bg: RGBA)

Fills a rectangle with the specified rendering information

Source§

fn draw_bar_horizontal( &mut self, sx: i32, sy: i32, width: i32, n: i32, max: i32, fg: RGBA, bg: RGBA, )

Draws a horizontal progress bar

Source§

fn draw_bar_vertical( &mut self, sx: i32, sy: i32, height: i32, n: i32, max: i32, fg: RGBA, bg: RGBA, )

Draws a vertical progress bar

Source§

fn print_centered(&mut self, y: i32, text: &str)

Prints text, centered to the whole console width, at vertical location y.

Source§

fn print_color_centered(&mut self, y: i32, fg: RGBA, bg: RGBA, text: &str)

Prints text in color, centered to the whole console width, at vertical location y.

Source§

fn print_centered_at(&mut self, x: i32, y: i32, text: &str)

Prints text, centered to the whole console width, at vertical location y.

Source§

fn print_color_centered_at( &mut self, x: i32, y: i32, fg: RGBA, bg: RGBA, text: &str, )

Prints text in color, centered to the whole console width, at vertical location y.

Source§

fn print_right(&mut self, x: i32, y: i32, text: &str)

Prints text right-aligned

Source§

fn print_color_right(&mut self, x: i32, y: i32, fg: RGBA, bg: RGBA, text: &str)

Prints colored text right-aligned

Source§

fn printer( &mut self, x: i32, y: i32, output: &str, align: TextAlign, background: Option<RGBA>, )

Print a colorized string with the color encoding defined inline. For example: printer(1, 1, “#[blue]This blue text contains a #[pink]pink#[] word”) You can get the same effect with a TextBlock, but this can be easier. Thanks to doryen_rs for the idea.

Source§

fn to_xp_layer(&self) -> XpLayer

Saves the layer to an XpFile structure

Source§

fn set_offset(&mut self, x: f32, y: f32)

Sets an offset to total console rendering, useful for layers that draw between tiles. Offsets are specified as a percentage of total character size; so -0.5 will offset half a character to the left/top.

Source§

fn set_clipping(&mut self, clipping: Option<Rect>)

Permits the creation of an arbitrary clipping rectangle. It’s a really good idea to make sure that this rectangle is entirely valid.

Source§

fn get_clipping(&self) -> Option<Rect>

Returns the current arbitrary clipping rectangle, None if there isn’t one.

Source§

fn set_all_fg_alpha(&mut self, alpha: f32)

Sets ALL tiles foreground alpha (only tiles that exist, in sparse consoles).

Source§

fn set_all_bg_alpha(&mut self, alpha: f32)

Sets ALL tiles background alpha (only tiles that exist, in sparse consoles).

Source§

fn set_all_alpha(&mut self, fg: f32, bg: f32)

Sets ALL tiles foreground alpha (only tiles that exist, in sparse consoles).

Source§

fn set_translation_mode(&mut self, mode: CharacterTranslationMode)

Sets the character translation mode

Source§

fn set_char_size(&mut self, width: u32, height: u32)

Sets the character size of the terminal

Source§

fn get_char_size(&self) -> (u32, u32)

Gets the dimensions of the console in characters
Source§

fn resize_pixels(&mut self, _width: u32, _height: u32)

Source§

fn set_scale(&mut self, scale: f32, center_x: i32, center_y: i32)

Specify a scale and center of the console. A scale above 1.0 will make the text larger. The center of the scale is at character position (center_x, center_y).
Source§

fn get_scale(&self) -> (f32, i32, i32)

Get the scale & center of the console. Returns (scale, center_x, center_y).
Source§

fn as_any(&self) -> &(dyn Any + 'static)

Produces the implementor as an Any that can be matched to determine type and access natively.
Source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Produces the implementor as an Any that can be matched to determine type and access natively.
Source§

fn clear_dirty(&mut self)

Source§

fn in_bounds(&self, x: i32, y: i32) -> bool

Returns true if an x/y coordinate is within the console bounds
Source§

fn try_at(&self, x: i32, y: i32) -> Option<usize>

Try to use a coordinate: return Some(the coordinate) if it is valid, None if it isn’t.

Auto Trait Implementations§

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.