fafaster_art/
lib.rs

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