Trait microbit::display::Frame [−]
pub trait Frame: Copy + Default { type Mtx: Matrix; const COLS: usize; const ROWS: usize; fn row_plan(&self, row: usize) -> &RowPlan; fn row_plan_mut(&mut self, row: usize) -> &mut RowPlan; fn set<T>(&mut self, image: &T)
where
T: Render + ?Sized, { ... } }
Expand description
A ‘Compiled’ representation of an image to be displayed.
Frame
s are populated from images implementing Render
, then passed on
to Display::set_frame()
.
Implementing Frame
Implementations of Frame
do two things:
- specify the [
Matrix
] used to convert between image and matrix coordinates - act like an array of [
RowPlan
]s, one for each matrix row.
Note that implementations of Frame
must also implement Copy
and
Default
.
Example implementation
#[derive(Copy, Clone)] struct SimpleFrame ( [RowPlan; 3] ); impl Default for SimpleFrame { fn default() -> SimpleFrame { SimpleFrame([RowPlan::default(); SimpleFrame::ROWS]) } } impl Frame for SimpleFrame { type Mtx = SimpleMatrix; fn row_plan(&self, row: usize) -> &RowPlan { &self.0[row] } fn row_plan_mut(&mut self, row: usize) -> &mut RowPlan { &mut self.0[row] } }
Associated Types
type Mtx: Matrix
type Mtx: Matrix
The Matrix used to convert between image and matrix coordinates.
Associated Constants
Required methods
fn row_plan(&self, row: usize) -> &RowPlan
fn row_plan(&self, row: usize) -> &RowPlan
Returns a reference to the RowPlan for a row of LEDs.
Panics
Panics if row
is not in the range 0..ROWS
fn row_plan_mut(&mut self, row: usize) -> &mut RowPlan
fn row_plan_mut(&mut self, row: usize) -> &mut RowPlan
Returns a mutable reference to the RowPlan for a row of LEDs.
Panics
Panics if row
is not in the range 0..ROWS
Provided methods
Implementors
impl Frame for MicrobitFrame
[src]
impl Frame for MicrobitFrame
[src]