Better error handling
This commit is contained in:
+5
-5
@@ -5,7 +5,7 @@ use log::{debug, error, warn};
|
||||
use sdl3::{Sdl, pixels::Color, rect::Rect};
|
||||
use structs::{Prefs, DisplayData};
|
||||
|
||||
use crate::renderer::structs::Screen;
|
||||
use crate::{config::Error, renderer::structs::Screen};
|
||||
|
||||
const LINE_COUNT: i32 = 5;
|
||||
const COLOR_LCD_AMBER : Color = Color::RGB(0xf4, 0xcb, 0x60);
|
||||
@@ -131,10 +131,10 @@ impl Screen<'_> {
|
||||
|
||||
/// Initialize video, allocate buffers and load fonts
|
||||
/// Based on https://github.com/vhspace/sdl3-rs/blob/master/examples/ttf-demo.rs
|
||||
pub fn init(prefs: &Prefs) -> Screen<'_> {
|
||||
pub fn init(prefs: &Prefs) -> Result<Screen<'_>, Error> {
|
||||
// Initialize the screen
|
||||
let sdl_context = sdl3::init().unwrap();
|
||||
let video_subsys = sdl_context.video().unwrap();
|
||||
let video_subsys = sdl_context.video()?;
|
||||
|
||||
let window = video_subsys
|
||||
.window("Dublin Bus", prefs.screen_width, prefs.screen_height)
|
||||
@@ -145,7 +145,7 @@ impl Screen<'_> {
|
||||
|
||||
// Load font
|
||||
let ttf_context = sdl3::ttf::init().unwrap();
|
||||
let font = ttf_context.load_font(&prefs.font_path, TEXT_SIZE).unwrap();
|
||||
let font = ttf_context.load_font(&prefs.font_path, TEXT_SIZE)?;
|
||||
|
||||
let mut screen: Screen = Screen {
|
||||
canvas: Box::new(window.into_canvas()),
|
||||
@@ -155,6 +155,6 @@ impl Screen<'_> {
|
||||
};
|
||||
|
||||
screen.clear();
|
||||
return screen;
|
||||
return Ok(screen);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user