Fixed Rusttype Font ownership issues

This commit is contained in:
2020-09-27 20:01:56 +00:00
parent ea695afc99
commit a8b31136b1
2 changed files with 5 additions and 6 deletions

View File

@@ -72,14 +72,14 @@ impl Loader {
pub fn load_font (&mut self, path: &str) -> Option<Font> { pub fn load_font (&mut self, path: &str) -> Option<Font<'static>> {
let fullpath = match self.make_path(path) { let fullpath = match self.make_path(path) {
Some(p) => p, Some(p) => p,
None => return None, None => return None,
}; };
let data = fs::read(fullpath).expect("File read error"); let data = fs::read(fullpath).expect("File read error");
let font = move || Font::try_from_bytes(&data).unwrap(); let font = Font::try_from_vec(data).unwrap();
Some(font()) Some(font)
} }
pub fn load_form(&mut self, path: &str) -> Option<Form> { pub fn load_form(&mut self, path: &str) -> Option<Form> {

View File

@@ -26,7 +26,7 @@ mod vesseldata;
use vesseldata::VesselDataEventSource; use vesseldata::VesselDataEventSource;
pub struct HelmsDisplay { pub struct HelmsDisplay {
font: Box<Font<'static>>, font: Font<'static>,
boat: forms::Form, boat: forms::Form,
compassrose: forms::Form, compassrose: forms::Form,
cog: forms::Form, cog: forms::Form,
@@ -46,8 +46,7 @@ impl HelmsDisplay {
let compassrose = loader.load_form("compass-rose.svg").unwrap(); let compassrose = loader.load_form("compass-rose.svg").unwrap();
let cog = loader.load_form("cog.svg").unwrap(); let cog = loader.load_form("cog.svg").unwrap();
let wind = loader.load_form("wind.svg").unwrap(); let wind = loader.load_form("wind.svg").unwrap();
let f = loader.load_font("font.ttf").unwrap(); let font = loader.load_font("font.ttf").unwrap();
let font = Box::new(f);
HelmsDisplay { HelmsDisplay {
font: font, font: font,