More stuff
This commit is contained in:
+12
-11
@@ -4,7 +4,7 @@ use crate::{
|
||||
buffer::BufferView,
|
||||
color::Color,
|
||||
fonts::FontMap,
|
||||
state::Event,
|
||||
event::Event,
|
||||
widgets::{Geometry, Widget},
|
||||
};
|
||||
|
||||
@@ -18,7 +18,8 @@ pub struct Date {
|
||||
}
|
||||
|
||||
impl Date {
|
||||
pub fn new(font: &'static str, size: f32) -> Date {
|
||||
pub fn new(fm: &mut FontMap, font: &'static str, size: f32) -> Date {
|
||||
fm.queue_font(font, size, "0123456789/, adehinortuFMSTW");
|
||||
Date {
|
||||
font,
|
||||
size,
|
||||
@@ -48,14 +49,13 @@ impl<'a> Widget for Date {
|
||||
|
||||
fn draw(&mut self, fonts: &mut FontMap, view: &mut BufferView) -> Geometry {
|
||||
let time = Local::now().naive_local();
|
||||
let fg = Color::new(1., 1., 1., 1.);
|
||||
let bg = Color::new(0., 0., 0., 1.);
|
||||
let mut date_line = view.offset((0, 8)).unwrap();
|
||||
let fg = Color::WHITE;
|
||||
let bg = Color::BLACK;
|
||||
let font = fonts.get_font(self.font, self.size);
|
||||
font.auto_draw_text(
|
||||
&mut date_line,
|
||||
&bg,
|
||||
&fg,
|
||||
font.draw_text(
|
||||
view,
|
||||
bg,
|
||||
fg,
|
||||
&format!(
|
||||
"{}, {:02}/{:02}/{:4}",
|
||||
time.weekday(),
|
||||
@@ -69,13 +69,14 @@ impl<'a> Widget for Date {
|
||||
self.geometry
|
||||
}
|
||||
|
||||
fn geometry_update(&mut self, _fonts: &mut FontMap, geometry: &Geometry) -> Geometry {
|
||||
fn geometry_update(&mut self, fonts: &mut FontMap, geometry: &Geometry) -> Geometry {
|
||||
let width = (3. + 2. + 2. + 2. + 4.) * self.size / 2.;
|
||||
let font = fonts.get_font(self.font, self.size);
|
||||
self.geometry = Geometry {
|
||||
x: geometry.x,
|
||||
y: geometry.y,
|
||||
width: width.ceil() as u32,
|
||||
height: self.size.ceil() as u32,
|
||||
height: font.height().ceil() as u32,
|
||||
};
|
||||
self.geometry
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user