default.rs

  1use std::collections::HashMap;
  2
  3use gpui2::Rgba;
  4
  5use crate::scale::{ColorScaleName, ColorScaleSet, ColorScales};
  6
  7struct DefaultColorScaleSet {
  8    scale: ColorScaleName,
  9    light: [&'static str; 12],
 10    light_alpha: [&'static str; 12],
 11    dark: [&'static str; 12],
 12    dark_alpha: [&'static str; 12],
 13}
 14
 15impl From<DefaultColorScaleSet> for ColorScaleSet {
 16    fn from(default: DefaultColorScaleSet) -> Self {
 17        Self::new(
 18            default.scale,
 19            default
 20                .light
 21                .map(|color| Rgba::try_from(color).unwrap().into()),
 22            default
 23                .light_alpha
 24                .map(|color| Rgba::try_from(color).unwrap().into()),
 25            default
 26                .dark
 27                .map(|color| Rgba::try_from(color).unwrap().into()),
 28            default
 29                .dark_alpha
 30                .map(|color| Rgba::try_from(color).unwrap().into()),
 31        )
 32    }
 33}
 34
 35pub fn default_color_scales() -> ColorScales {
 36    use ColorScaleName::*;
 37
 38    HashMap::from_iter([(Red, red().into())])
 39}
 40
 41fn red() -> DefaultColorScaleSet {
 42    DefaultColorScaleSet {
 43        scale: ColorScaleName::Red,
 44        light: [
 45            "#fffcfc00",
 46            "#fff7f700",
 47            "#feebec00",
 48            "#ffdbdc00",
 49            "#ffcdce00",
 50            "#fdbdbe00",
 51            "#f4a9aa00",
 52            "#eb8e9000",
 53            "#e5484d00",
 54            "#dc3e4200",
 55            "#ce2c3100",
 56            "#64172300",
 57        ],
 58        light_alpha: [
 59            "#ff000003",
 60            "#ff000008",
 61            "#f3000d14",
 62            "#ff000824",
 63            "#ff000632",
 64            "#f8000442",
 65            "#df000356",
 66            "#d2000571",
 67            "#db0007b7",
 68            "#d10005c1",
 69            "#c40006d3",
 70            "#55000de8",
 71        ],
 72        dark: [
 73            "#19111100",
 74            "#20131400",
 75            "#3b121900",
 76            "#500f1c00",
 77            "#61162300",
 78            "#72232d00",
 79            "#8c333a00",
 80            "#b5454800",
 81            "#e5484d00",
 82            "#ec5d5e00",
 83            "#ff959200",
 84            "#ffd1d900",
 85        ],
 86        dark_alpha: [
 87            "#f4121209",
 88            "#f22f3e11",
 89            "#ff173f2d",
 90            "#fe0a3b44",
 91            "#ff204756",
 92            "#ff3e5668",
 93            "#ff536184",
 94            "#ff5d61b0",
 95            "#fe4e54e4",
 96            "#ff6465eb",
 97            "#ff959200",
 98            "#ffd1d900",
 99        ],
100    }
101}