renderer: add support for floating-titlebars (#4)
Reviewed-on: https://git.kosslan.dev/wry/jay/pulls/4
This commit is contained in:
parent
4d803360dd
commit
6dba659978
13 changed files with 316 additions and 158 deletions
19
src/theme.rs
19
src/theme.rs
|
|
@ -587,6 +587,7 @@ sizes! {
|
|||
border_width = (0, 1000, 4),
|
||||
bar_separator_width = (0, 1000, 1),
|
||||
gap = (0, 1000, 0),
|
||||
title_gap = (0, 1000, 5),
|
||||
}
|
||||
|
||||
impl StaticText for ThemeSized {
|
||||
|
|
@ -597,6 +598,7 @@ impl StaticText for ThemeSized {
|
|||
ThemeSized::border_width => "Border Width",
|
||||
ThemeSized::bar_separator_width => "Bar Separator Width",
|
||||
ThemeSized::gap => "Gap",
|
||||
ThemeSized::title_gap => "Title Gap",
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -649,6 +651,7 @@ pub struct Theme {
|
|||
pub title_font: CloneCell<Option<Arc<String>>>,
|
||||
pub default_font: Arc<String>,
|
||||
pub show_titles: Cell<bool>,
|
||||
pub floating_titles: Cell<bool>,
|
||||
pub bar_position: Cell<BarPosition>,
|
||||
}
|
||||
|
||||
|
|
@ -663,6 +666,7 @@ impl Default for Theme {
|
|||
title_font: Default::default(),
|
||||
default_font,
|
||||
show_titles: Cell::new(true),
|
||||
floating_titles: Cell::new(false),
|
||||
bar_position: Default::default(),
|
||||
}
|
||||
}
|
||||
|
|
@ -689,9 +693,22 @@ impl Theme {
|
|||
if self.show_titles.get() { 1 } else { 0 }
|
||||
}
|
||||
|
||||
pub fn floating_title_top_margin(&self) -> i32 {
|
||||
if self.floating_titles.get() && self.sizes.gap.get() != 0 {
|
||||
self.sizes.border_width.get()
|
||||
} else {
|
||||
0
|
||||
}
|
||||
}
|
||||
|
||||
pub fn title_plus_underline_height(&self) -> i32 {
|
||||
if self.show_titles.get() {
|
||||
self.sizes.title_height.get() + 1
|
||||
if self.floating_titles.get() && self.sizes.gap.get() != 0 {
|
||||
let bw = self.sizes.border_width.get();
|
||||
3 * bw + self.sizes.title_height.get() + self.sizes.title_gap.get()
|
||||
} else {
|
||||
self.sizes.title_height.get() + 1
|
||||
}
|
||||
} else {
|
||||
0
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue