1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2025-07-16 03:28:09 +00:00

fixup! feat(core): introduce new drawing library

This commit is contained in:
cepetr 2024-05-02 09:50:08 +02:00
parent 7105c4caa8
commit fe2518e4e1

View File

@ -27,6 +27,7 @@ pub type ImageBuffRef<'a> = RefMut<'a, ImageBuff>;
pub type RenderBuffRef<'a> = RefMut<'a, RenderBuff>;
pub struct DrawingCache<'a> {
image_buff: &'a RefCell<ImageBuff>,
zlib_cache: RefCell<ZlibCache<'a>>,
#[cfg(feature = "ui_jpeg_decoder")]
@ -37,18 +38,13 @@ pub struct DrawingCache<'a> {
#[cfg(not(feature = "xframebuff"))]
render_buff: &'a RefCell<RenderBuff>,
image_buff: &'a RefCell<ImageBuff>,
}
fn alloc_buf<'a, const S: usize, B>(bump: &'a B) -> Option<&'a RefCell<[u8; S]>>
where
B: LocalAllocLeakExt<'a>,
{
Some(
bump.alloc_t()?
.uninit
.init(RefCell::new([0; S])),
)
Some(bump.alloc_t()?.uninit.init(RefCell::new([0; S])))
}
impl<'a> DrawingCache<'a> {
@ -58,6 +54,7 @@ impl<'a> DrawingCache<'a> {
TB: LocalAllocLeakExt<'a>,
{
Self {
image_buff: unwrap!(alloc_buf(bump_b), "Toif buff alloc"),
zlib_cache: RefCell::new(unwrap!(
ZlibCache::new(bump_a, ZLIB_CACHE_SLOTS),
"ZLIB cache alloc"
@ -72,7 +69,6 @@ impl<'a> DrawingCache<'a> {
#[cfg(not(feature = "xframebuff"))]
render_buff: unwrap!(alloc_buf(bump_b), "Render buff alloc"),
image_buff: unwrap!(alloc_buf(bump_b), "Toif buff alloc"),
}
}