fix: rendering of minimode separator

This commit is contained in:
CJ van den Berg 2024-12-12 20:12:11 +01:00
parent beef23703d
commit af68c397bc
Signed by: neurocyte
GPG key ID: 8EB1E1BB660E3FB9
2 changed files with 9 additions and 3 deletions

View file

@ -351,6 +351,12 @@ fn apply_alpha_theme(base: ThemeColor, col: ThemeColor) vaxis.Cell.Color {
.{ .rgb = color.apply_alpha(RGB.from_u24(base.color), RGB.from_u24(col.color), alpha).to_u8s() };
}
pub inline fn reverse_style(self: *Plane) void {
const swap = self.style.fg;
self.style.fg = self.style.bg;
self.style.bg = swap;
}
pub inline fn set_style(self: *Plane, style_: Style) void {
if (style_.fg) |col| self.style.fg = apply_alpha(self.style_base.fg, col);
if (style_.bg) |col| self.style.bg = apply_alpha(self.style_base.bg, col);

View file

@ -68,9 +68,9 @@ pub fn render(_: *void, self: *Button.State(void), theme: *const Widget.Theme) b
}
fn render_separator(self: *Button.State(void), theme: *const Widget.Theme) void {
const statusbar_bg = theme.statusbar.bg orelse theme.editor.bg.?;
if (theme.statusbar_hover.bg) |bg| self.plane.set_fg_rgb_alpha(statusbar_bg, bg) catch {};
if (theme.statusbar.bg) |bg| self.plane.set_bg_rgb_alpha(statusbar_bg, bg) catch {};
self.plane.reverse_style();
self.plane.set_base_style(.{ .bg = theme.editor.bg });
if (theme.statusbar.bg) |bg| self.plane.set_style(.{ .bg = bg });
_ = self.plane.putstr("") catch {};
}