orgshart/
lib.rs

1//! # Art
2//!
3//! A library for modeling artistic concepts.
4pub use self::kinds::PrimaryColor;
5pub use self::kinds::SecondaryColor;
6pub use self::utils::mix;
7
8pub mod kinds {
9    /// The primary colors according to the RYB color model.
10    pub enum PrimaryColor {
11        Red,
12        Yellow,
13        Blue,
14    }
15
16    /// The secondary colors according to the RYB color model.
17    pub enum SecondaryColor {
18        Orange,
19        Green,
20        Purple,
21    }
22}
23
24pub mod utils {
25    use crate::kinds::*;
26
27    /// Combines two primary colors in equal amounts to create
28    /// a secondary color.
29    pub fn mix(c1: PrimaryColor, c2: PrimaryColor) -> SecondaryColor {
30        // --snip--
31        SecondaryColor::Orange
32    }
33}