screen: Keep GNSS status on normal display clear
This commit is contained in:
parent
7bbdae9243
commit
828e596dea
1 changed files with 24 additions and 3 deletions
|
|
@ -220,7 +220,28 @@ where
|
|||
Ok(())
|
||||
}
|
||||
|
||||
/// Clears the screen, but keeps the GNSS status row
|
||||
fn clear(&mut self) -> Result<(), D::Error>
|
||||
where
|
||||
D: DrawTarget<Color = pixelcolor::Rgb565>,
|
||||
{
|
||||
// this only differes from clear_all on big screens
|
||||
if self.is_big_height() {
|
||||
#[allow(clippy::cast_sign_loss)]
|
||||
let max_y = (250 + self.size.offset_top) as u32;
|
||||
|
||||
primitives::Rectangle::new(
|
||||
geometry::Point::new(0, 0),
|
||||
geometry::Size::new(self.size.width.into(), max_y),
|
||||
)
|
||||
.into_styled(Self::BK_STYLE)
|
||||
.draw(&mut self.target)
|
||||
} else {
|
||||
self.clear_all()
|
||||
}
|
||||
}
|
||||
|
||||
fn clear_all(&mut self) -> Result<(), D::Error>
|
||||
where
|
||||
D: DrawTarget<Color = pixelcolor::Rgb565>,
|
||||
{
|
||||
|
|
@ -302,7 +323,7 @@ where
|
|||
// uses full screen width and height
|
||||
// - from 0 to 105+67 = 172 pixels for small screens
|
||||
// - from 0 to 105+67+20 = 192 pixels for big screens
|
||||
#[allow(unused)]
|
||||
#[allow(unused, clippy::too_many_lines)]
|
||||
fn draw_glosa(
|
||||
&mut self,
|
||||
data: &applogic::GlosaSignalInfo,
|
||||
|
|
@ -397,7 +418,7 @@ where
|
|||
text::Alignment::Center,
|
||||
)
|
||||
.draw(&mut self.target)?;
|
||||
};
|
||||
}
|
||||
|
||||
// draw maneuver
|
||||
text::Text::with_alignment(
|
||||
|
|
@ -453,7 +474,7 @@ where
|
|||
fn draw_slash_screen(&mut self) -> Result<(), D::Error> {
|
||||
let text_style = mono_font::MonoTextStyle::new(&profont::PROFONT_18_POINT, Self::COLOR_FG);
|
||||
|
||||
self.clear()?;
|
||||
self.clear_all()?;
|
||||
|
||||
let sig_width = i32::from(self.size.width) / 3;
|
||||
let circle_dia = 50;
|
||||
|
|
|
|||
Loading…
Reference in a new issue