#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub struct DisplayInfo {
pub width: u32,
pub height: u32,
pub fb_base_vaddr: usize,
pub fb_size: usize,
pub stride: usize,
pub format: PixelFormat,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum PixelFormat {
Rgb565,
Rgb888,
Xrgb8888,
Argb8888,
Bgr888,
Xbgr8888,
Unknown,
}
impl DisplayInfo {
pub fn line_length(&self) -> usize {
if self.stride != 0 {
self.stride
} else if self.height == 0 {
0
} else {
self.fb_size / self.height as usize
}
}
}