1#![no_std]
19#![forbid(unsafe_code)]
20#![deny(missing_docs)]
21
22pub(crate) mod arith;
23pub mod chromaticities;
24pub mod color;
25#[cfg(feature = "f32")]
26pub(crate) mod color_f32;
27pub mod encoding;
28pub mod fixed;
29pub mod gain;
30pub mod interp;
31pub mod matrix;
32#[cfg(feature = "oklab")]
33pub mod oklab;
34pub mod quantize;
35pub mod space;
36pub mod srgb;
37
38pub use chromaticities::Chromaticities;
39pub use color::Color;
40#[cfg(feature = "f32")]
41pub use color_f32::{ColorF32, F32_MAX_ERR_LSB};
42pub use encoding::{Encoded, Encoding, Linear};
43pub use fixed::{Q0_16, Q4_28};
44pub use gain::Gain;
45pub use interp::{Gradient, InterpLut};
46pub use matrix::Matrix3;
47#[cfg(feature = "oklab")]
48pub use oklab::{
49 A_B_BIAS_Q428, CBRT, CBRT_MAX_ERR_LSB, OKLAB_FORWARD_MAX_LSB, OKLAB_M1, OKLAB_M1_INV, OKLAB_M2,
50 OKLAB_M2_INV, OKLAB_M2_INV_OFFSET, OKLAB_ROUNDTRIP_MAX_LSB, Oklab, oklab_to_srgb,
51 srgb_to_oklab,
52};
53pub use quantize::{expand, quantize, quantize_round};
54pub use space::{ColorSpace, Perceptual, Srgb};
55pub use srgb::{
56 SRGB_EOTF, SRGB_EOTF_MAX_ERR_LSB, SRGB_OETF, SRGB_OETF_MAX_ERR_LSB, SrgbEotf, SrgbOetf,
57};