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)]
20pub enum Style {
21 Image(image::Handle, Rgba<u8>),
22 Color(Rgba<u8>, Border),
23 None,
24}
25
26impl Style {
27 pub fn image(image: image::Handle) -> Self { Self::Image(image, Rgba::broadcast(255)) }
29
30 pub fn color(color: Rgba<u8>) -> Self { Self::Color(color, Border::None) }
32
33 pub fn color_with_double_cornerless_border(
35 color: Rgba<u8>,
36 inner: Rgba<u8>,
37 outer: Rgba<u8>,
38 ) -> Self {
39 Self::Color(color, Border::DoubleCornerless { inner, outer })
40 }
41
42 pub fn color_with_image_border(
45 color: Rgba<u8>,
46 corner: image::Handle,
47 edge: image::Handle,
48 ) -> Self {
49 Self::Color(color, Border::Image { corner, edge })
50 }
51}
52
53impl Default for Style {
54 fn default() -> Self { Self::None }
55}