Compare commits

...

2 Commits

Author SHA1 Message Date
fab b716741578 wip
Signed-off-by: fab <fab@pop-os.localdomain>
2023-06-11 09:00:48 +02:00
fab 753a9406e5 fix build warnings when tracing is disabled
Signed-off-by: fab <fab@pop-os.localdomain>
2023-06-11 09:00:19 +02:00
3 changed files with 43 additions and 29 deletions

View File

@ -1,9 +1,13 @@
#[cfg(feature = "tracing")]
use std::env;
#[cfg(feature = "tracing")]
use std::path::PathBuf;
#[cfg(feature = "tracing")]
use lttng_ust_generate::{Provider, Generator, CTFType, CIntegerType};
#[cfg(feature = "tracing")]
fn setup_tracepoints() {
// the provider is called calendar

View File

@ -24,6 +24,10 @@ impl Event {
fn is_in_day(&self, day: NaiveDate) -> bool {
day >= self.begin && day <= self.end
}
fn span_days(&self) -> i64 {
(self.end - self.begin).num_days()
}
}
pub struct EventsCollection {

View File

@ -83,11 +83,12 @@ impl CalendarParams {
//-------------------------------------------------------------------------
fn render_events_in_day(
fn render_events_in_row(
params: &CalendarParams,
renderer: &mut impl text::Renderer,
current_day: NaiveDate,
day_bounds: Rectangle,
first_day: NaiveDate,
num_days: i64,
row_bounds: Rectangle,
font_size: f32,
fg: Color,
content: &str,
@ -103,33 +104,38 @@ fn render_events_in_day(
Shaping::default());
let ev_height = params.ev_height;
let mut ev_y: f32 = 0.0;
let y = day_bounds.y + params.day_text_margin;
for ev_day in events.for_day(current_day) {
if day_bounds.height - day_text_size.1 > ev_y + ev_height {
let ev_bounds = Rectangle {
y: y + ev_y + day_text_size.1,
height: ev_height,
..day_bounds
};
renderer.fill_quad(renderer::Quad {
let y = row_bounds.y + params.day_text_margin;
let mut event_stack = Vec::new();
for i in 0..num_days {
let current_day = first_day + Duration::days(i);
for ev_day in events.for_day(current_day) {
if day_bounds.height - day_text_size.1 > ev_y + ev_height {
let ev_bounds = Rectangle {
y: y + ev_y + day_text_size.1,
height: ev_height,
..day_bounds
};
renderer.fill_quad(renderer::Quad {
bounds: ev_bounds,
border_radius: 0.0.into(),
border_width: 1.0,
border_color: params.day_other_month_fg,
},
params.ev_bg);
renderer.fill_text(Text {
content: ev_day.text.as_str(),
bounds: ev_bounds,
border_radius: 0.0.into(),
border_width: 1.0,
border_color: params.day_other_month_fg,
},
params.ev_bg);
renderer.fill_text(Text {
content: ev_day.text.as_str(),
bounds: ev_bounds,
size: params.ev_fontsize,
line_height: LineHeight::default(),
color: fg,
font: renderer.default_font(),
horizontal_alignment: alignment::Horizontal::Left,
vertical_alignment: alignment::Vertical::Top,
shaping: Shaping::default(),
});
ev_y += ev_height
size: params.ev_fontsize,
line_height: LineHeight::default(),
color: fg,
font: renderer.default_font(),
horizontal_alignment: alignment::Horizontal::Left,
vertical_alignment: alignment::Vertical::Top,
shaping: Shaping::default(),
});
ev_y += ev_height
}
}
}
}