Trait ascii_canvas::AsciiView
[−]
[src]
pub trait AsciiView { fn columns(&self) -> usize; fn read_char(&mut self, row: usize, column: usize) -> char; fn write_char(&mut self, row: usize, column: usize, ch: char, style: Style); }
AsciiView is a view onto an AsciiCanvas
which potentially
applies transformations along the way (e.g., shifting, adding
styling information). Most of the main drawing methods for
AsciiCanvas
are defined as inherent methods on an AsciiView
trait object.
Required Methods
fn columns(&self) -> usize
fn read_char(&mut self, row: usize, column: usize) -> char
fn write_char(&mut self, row: usize, column: usize, ch: char, style: Style)
Methods
impl<'a> AsciiView + 'a
[src]
fn draw_vertical_line(&mut self, rows: Range<usize>, column: usize)
Draws a line for the given range of rows at the given column.
fn draw_horizontal_line(&mut self, row: usize, columns: Range<usize>)
Draws a horizontal line along a given row for the given range of columns.
fn write_chars<I>(&mut self, row: usize, column: usize, chars: I, style: Style) where
I: Iterator<Item = char>,
I: Iterator<Item = char>,
Writes characters in the given style at the given position.
fn shift<'c>(&'c mut self, row: usize, column: usize) -> ShiftedView<'c>
Creates a new view onto the same canvas, but writing at an offset.
fn styled<'c>(&'c mut self, style: Style) -> StyleView<'c>
Creates a new view onto the same canvas, but applying a style to all the characters written.
Implementors
impl AsciiView for AsciiCanvas
impl<'canvas> AsciiView for ShiftedView<'canvas>
impl<'canvas> AsciiView for StyleView<'canvas>