bevy_ui_builders/styles/
colors.rs1use bevy::prelude::*;
4
5pub const PRIMARY: Color = Color::srgb(0.25, 0.46, 0.86); pub const PRIMARY_HOVER: Color = Color::srgb(0.35, 0.56, 0.96);
8pub const PRIMARY_PRESSED: Color = Color::srgb(0.15, 0.36, 0.76);
9
10pub const SECONDARY: Color = Color::srgb(0.25, 0.25, 0.25); pub const SECONDARY_HOVER: Color = Color::srgb(0.35, 0.35, 0.35);
12pub const SECONDARY_PRESSED: Color = Color::srgb(0.15, 0.15, 0.15);
13
14pub const DANGER: Color = Color::srgb(0.86, 0.25, 0.25); pub const DANGER_HOVER: Color = Color::srgb(0.96, 0.35, 0.35);
16pub const DANGER_PRESSED: Color = Color::srgb(0.76, 0.15, 0.15);
17
18pub const SUCCESS: Color = Color::srgb(0.25, 0.76, 0.25); pub const SUCCESS_HOVER: Color = Color::srgb(0.35, 0.86, 0.35);
20pub const SUCCESS_PRESSED: Color = Color::srgb(0.15, 0.66, 0.15);
21
22pub const WARNING: Color = Color::srgb(0.96, 0.76, 0.05); pub const WARNING_HOVER: Color = Color::srgb(1.0, 0.86, 0.15);
24pub const WARNING_PRESSED: Color = Color::srgb(0.86, 0.66, 0.0);
25
26pub const GHOST_HOVER: Color = Color::srgba(1.0, 1.0, 1.0, 0.05);
27pub const GHOST_PRESSED: Color = Color::srgba(1.0, 1.0, 1.0, 0.1);
28
29pub const PRIMARY_DARK: Color = Color::srgb(0.15, 0.36, 0.76);
31pub const SECONDARY_DARK: Color = Color::srgb(0.15, 0.15, 0.15);
32pub const SUCCESS_DARK: Color = Color::srgb(0.15, 0.66, 0.15);
33pub const DANGER_DARK: Color = Color::srgb(0.76, 0.15, 0.15);
34
35pub const TEXT_ON_PRIMARY: Color = Color::WHITE;
37pub const TEXT_ON_SECONDARY: Color = Color::WHITE;
38pub const TEXT_ON_SUCCESS: Color = Color::WHITE;
39pub const TEXT_ON_DANGER: Color = Color::WHITE;
40
41pub const BACKGROUND_PRIMARY: Color = Color::srgb(0.05, 0.05, 0.07);
43pub const BACKGROUND_SECONDARY: Color = Color::srgb(0.08, 0.08, 0.1);
44pub const BACKGROUND_TERTIARY: Color = Color::srgb(0.12, 0.12, 0.14);
45pub const BACKGROUND_DARK: Color = Color::srgb(0.02, 0.02, 0.03);
46pub const BACKGROUND_MEDIUM: Color = Color::srgb(0.1, 0.1, 0.12);
47pub const BACKGROUND_LIGHT: Color = Color::srgb(0.15, 0.15, 0.17);
48
49pub const TEXT_PRIMARY: Color = Color::srgb(0.95, 0.95, 0.95);
51pub const TEXT_SECONDARY: Color = Color::srgb(0.7, 0.7, 0.7);
52pub const TEXT_DISABLED: Color = Color::srgb(0.4, 0.4, 0.4);
53pub const TEXT_TITLE: Color = Color::srgb(1.0, 1.0, 1.0);
54pub const TEXT_MUTED: Color = Color::srgb(0.5, 0.5, 0.5);
55
56pub const BORDER_DEFAULT: Color = Color::srgb(0.3, 0.3, 0.3);
58pub const BORDER_FOCUS: Color = PRIMARY;
59pub const BORDER_ERROR: Color = DANGER;
60pub const BORDER_LIGHT: Color = Color::srgb(0.5, 0.5, 0.5);
61
62pub const OVERLAY_BACKDROP: Color = Color::srgba(0.0, 0.0, 0.0, 0.6);
64pub const OVERLAY_LIGHT: Color = Color::srgba(1.0, 1.0, 1.0, 0.1);
65
66pub trait ColorExt {
68 fn with_alpha(&self, alpha: f32) -> Color;
70}
71
72impl ColorExt for Color {
73 fn with_alpha(&self, alpha: f32) -> Color {
74 let linear = self.to_linear();
75 Color::LinearRgba(LinearRgba {
76 red: linear.red,
77 green: linear.green,
78 blue: linear.blue,
79 alpha: alpha.clamp(0.0, 1.0),
80 })
81 }
82}