1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
//! # honcur_art //! //! A library for modeling artistic concepts. pub use crate::kinds::PrimaryColor; pub use crate::kinds::SecondaryColor; pub use crate::utils::mix; pub mod kinds { /// The primary colors according to the RYB color model. pub enum PrimaryColor { Red, Yellow, Blue, } /// The secondary colors according to the RYB color model. #[derive(PartialEq)] pub enum SecondaryColor { Orange, Green, Purple, } } pub mod utils { use crate::kinds::*; /// Combines two primary colors in equal amounts to create /// a secondary color. /// /// # Example /// ``` /// use honcur_art::*; /// /// let mix = mix(PrimaryColor::Red, PrimaryColor::Yellow); /// /// assert!( SecondaryColor::Green == mix); /// ``` pub fn mix(c1: PrimaryColor, c2: PrimaryColor) -> SecondaryColor { // --snip-- SecondaryColor::Green } }