1use color::{hsl, hsla, rgb, rgba, Color};
2
3#[derive(Copy, Clone)]
6pub enum Bordering {
7 Border(f64, Color),
9 NoBorder,
11}
12
13pub trait Borderable: Sized {
15 fn border(self, width: f64) -> Self;
17
18 fn border_color(self, color: Color) -> Self;
20
21 fn border_rgba(self, r: f32, g: f32, b: f32, a: f32) -> Self {
23 self.border_color(rgba(r, g, b, a))
24 }
25
26 fn border_rgb(self, r: f32, g: f32, b: f32) -> Self {
28 self.border_color(rgb(r, g, b))
29 }
30
31 fn border_hsla(self, h: f32, s: f32, l: f32, a: f32) -> Self {
33 self.border_color(hsla(h, s, l, a))
34 }
35
36 fn border_hsl(self, h: f32, s: f32, l: f32) -> Self {
38 self.border_color(hsl(h, s, l))
39 }
40}