pub struct ColorPalette {
pub colors: Vec<Color>,
pub name: Option<String>,
}
Expand description
An implementation of the Simple Color Palette format — a minimal JSON-based file format for defining color palettes.
A palette contains colors with optional names, and the palette itself can also have a name. Colors are stored in extended sRGB color space (wide gamut). While colors are serialized in their linear form, the API primarily works with non-linear (gamma-corrected) values since these better match human perception and are what most color pickers and design tools use.
use simple_color_palette::{ColorPalette, Color};
let palette = ColorPalette::new(
vec![
Color::new(1.0, 0.0, 0.0, None, Some("Red".into())),
Color::new(0.0, 1.0, 0.0, None, Some("Green".into())),
],
Some("Traffic Lights".into()),
);
let path = std::path::Path::new("Traffic Lights.color-palette");
// Save palette
palette.write_to_file(path);
// Load palette
let loaded = ColorPalette::read_from_file(path);
Fields§
§colors: Vec<Color>
List of colors in the palette.
name: Option<String>
Optional name of the palette.
Implementations§
Source§impl ColorPalette
impl ColorPalette
Sourcepub fn new(colors: Vec<Color>, name: Option<String>) -> Self
pub fn new(colors: Vec<Color>, name: Option<String>) -> Self
Creates a new color palette with the specified colors and optional name.
Sourcepub fn write_to_file<P: AsRef<Path>>(&self, path: P) -> Result<(), PaletteError>
pub fn write_to_file<P: AsRef<Path>>(&self, path: P) -> Result<(), PaletteError>
Writes the palette to a file in the Simple Color Palette format.
path
: The file path to write the palette to. Use the.color-palette
file extension.
Sourcepub fn read_from_file<P: AsRef<Path>>(path: P) -> Result<Self, PaletteError>
pub fn read_from_file<P: AsRef<Path>>(path: P) -> Result<Self, PaletteError>
Reads a palette from a file in the Simple Color Palette format.
path
: The file path to read the palette from.
Trait Implementations§
Source§impl Clone for ColorPalette
impl Clone for ColorPalette
Source§fn clone(&self) -> ColorPalette
fn clone(&self) -> ColorPalette
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for ColorPalette
impl Debug for ColorPalette
Source§impl Default for ColorPalette
impl Default for ColorPalette
Source§fn default() -> ColorPalette
fn default() -> ColorPalette
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for ColorPalette
impl<'de> Deserialize<'de> for ColorPalette
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for ColorPalette
impl PartialEq for ColorPalette
Source§impl Serialize for ColorPalette
impl Serialize for ColorPalette
impl StructuralPartialEq for ColorPalette
Auto Trait Implementations§
impl Freeze for ColorPalette
impl RefUnwindSafe for ColorPalette
impl Send for ColorPalette
impl Sync for ColorPalette
impl Unpin for ColorPalette
impl UnwindSafe for ColorPalette
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more