style_term/color/
true_color.rs1use std::fmt::{Display, Formatter};
2use crate::color::{Color, DisplayColor};
3
4#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
5#[derive(Debug, Clone)]
6pub struct TrueColor(u8, u8, u8);
11
12impl From<(u8, u8, u8)> for TrueColor {
13 fn from((r, g, b): (u8, u8, u8)) -> Self {
14 TrueColor(r, g, b)
15 }
16}
17
18impl Display for TrueColor {
19 fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
20 write!(f, "2;{};{};{}", self.0, self.1, self.2)
21 }
22}
23
24
25impl DisplayColor for TrueColor {}
26
27impl From<TrueColor> for Color {
28 fn from(color: TrueColor) -> Self {
29 Color::TrueColor(color)
30 }
31}