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