veloren_voxygen/ui/ice/renderer/style/
container.rs1use super::super::super::widget::image;
2use vek::Rgba;
3
4#[derive(Clone, Copy)]
6pub enum Border {
7 DoubleCornerless {
8 inner: Rgba<u8>,
9 outer: Rgba<u8>,
10 },
11 Image {
12 corner: image::Handle,
13 edge: image::Handle,
14 },
15 None,
16}
17
18#[derive(Clone, Copy, Default)]
20pub enum Style {
21 Image(image::Handle, Rgba<u8>),
22 Color(Rgba<u8>, Border),
23 #[default]
24 None,
25}
26
27impl Style {
28 pub fn image(image: image::Handle) -> Self { Self::Image(image, Rgba::broadcast(255)) }
30
31 pub fn color(color: Rgba<u8>) -> Self { Self::Color(color, Border::None) }
33
34 pub fn color_with_double_cornerless_border(
36 color: Rgba<u8>,
37 inner: Rgba<u8>,
38 outer: Rgba<u8>,
39 ) -> Self {
40 Self::Color(color, Border::DoubleCornerless { inner, outer })
41 }
42
43 pub fn color_with_image_border(
46 color: Rgba<u8>,
47 corner: image::Handle,
48 edge: image::Handle,
49 ) -> Self {
50 Self::Color(color, Border::Image { corner, edge })
51 }
52}