hackelnickel/
lib.rs

1//! # Art
2//!
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    /// RYBカラーモデルによる主色
12    pub enum PrimaryColor {
13        Red,
14        Yellow,
15        Blue,
16    }
17
18    /// The secondary colors according to the RYB color model.
19    /// RYBカラーモデルによる副色
20    pub enum SecondaryColor {
21        Orange,
22        Green,
23        Purple,
24    }
25}
26
27pub mod utils {
28    use crate::kinds::*;
29
30    /// Combines two primary colors in equal amounts to create
31    /// a secondary color.
32    ///2つの主色を同じ割合で混合し、副色にする
33    pub fn mix(c1: PrimaryColor, c2: PrimaryColor) -> SecondaryColor {
34        SecondaryColor::Green
35    }
36}