implement card rendering with new card type and menu
This commit was merged in pull request #28.
This commit is contained in:
@@ -1,8 +1,11 @@
|
||||
use embedded_graphics::{geometry::Size, pixelcolor::Rgb565, primitives::Rectangle, prelude::Point};
|
||||
use embedded_graphics_core::draw_target::DrawTarget;
|
||||
use crate::card::model::Palette;
|
||||
use crate::display::palette::Rgb;
|
||||
use embedded_graphics::{
|
||||
geometry::Size, pixelcolor::Rgb565, pixelcolor::RgbColor, prelude::Point, primitives::Rectangle,
|
||||
};
|
||||
use embedded_graphics_core::draw_target::DrawTarget;
|
||||
|
||||
pub fn render_sprite_onto_ili9341<D>(ili9341: &mut D, sprite: &[u8], palette: &[Rgb; 16])
|
||||
pub fn render_sprite_onto_ili9341<D>(ili9341: &mut D, sprite: &[u8], palette: &Palette)
|
||||
where
|
||||
D: DrawTarget<Color = Rgb565>,
|
||||
{
|
||||
@@ -13,8 +16,8 @@ where
|
||||
|
||||
// OPTIMIZATION 1: Pre-compute the 16-color palette to Rgb565 once.
|
||||
let mut palette565 = [Rgb565::new(0, 0, 0); 16];
|
||||
for (i, Rgb(r, g, b)) in palette.iter().enumerate() {
|
||||
palette565[i] = Rgb565::new(*r >> 3, *g >> 2, *b >> 3);
|
||||
for (i, c) in palette.iter().enumerate() {
|
||||
palette565[i] = Rgb565::new(c.r() >> 3, c.g() >> 2, c.b() >> 3);
|
||||
}
|
||||
|
||||
let mut src_width = 1usize;
|
||||
|
||||
Reference in New Issue
Block a user