use crate::theming;
use crate::tokens::DESIGN_TOKENS;
use egui::{Rect, Sense, Ui, Vec2};
pub fn draw_separator(ui: &mut Ui, width: f32) {
let separator_height = 1.0;
let (rect, _) = ui.allocate_exact_size(Vec2::new(width, separator_height), Sense::hover());
ui.painter()
.rect_filled(rect, 0.0, theming::separator_color(ui));
}
pub fn draw_separator_with_margin(ui: &mut Ui, width: f32, margin: f32) {
let sep_rect = Rect::from_min_size(
ui.cursor().min + Vec2::new(margin, 0.0),
Vec2::new(width - margin * 2.0, 1.0),
);
ui.painter()
.rect_filled(sep_rect, 0.0, theming::separator_color(ui));
ui.add_space(DESIGN_TOKENS.spacing.hairline);
}
pub fn draw_separator_styled(ui: &mut Ui, toolbar_width: f32) {
let margin = DESIGN_TOKENS.sizing.toolbar.separator_margin;
let gap = DESIGN_TOKENS.sizing.toolbar.separator_gap;
ui.add_space(gap);
let sep_width = toolbar_width - margin * 2.0;
let sep_rect = Rect::from_min_size(
ui.cursor().min + Vec2::new(margin, 0.0),
Vec2::new(sep_width, 1.0),
);
ui.painter()
.rect_filled(sep_rect, 0.0, theming::separator_color(ui));
ui.add_space(1.0);
ui.add_space(gap);
}