kas_theme/lib.rs
1// Licensed under the Apache License, Version 2.0 (the "License");
2// you may not use this file except in compliance with the License.
3// You may obtain a copy of the License in the LICENSE-APACHE file or at:
4// https://www.apache.org/licenses/LICENSE-2.0
5
6//! KAS theme support
7//!
8//! This crate provides the [`Theme`] trait, [`MultiTheme`] adapter, color
9//! schemes, some supporting items, and the themes [`FlatTheme`] and
10//! [`ShadedTheme`].
11//!
12//! Custom themes may be built over this crate, optionally including custom draw
13//! routines (e.g. [`DrawShaded`]), provided that the shell implements support.
14//! Alternatively this crate may be skipped altogether, especially for a
15//! minimal shell with a custom fixed theme.
16
17#![cfg_attr(doc_cfg, feature(doc_cfg))]
18
19mod anim;
20mod colors;
21mod config;
22mod draw_shaded;
23mod flat_theme;
24mod multi;
25mod shaded_theme;
26mod simple_theme;
27mod theme_dst;
28mod traits;
29
30#[cfg_attr(not(feature = "internal_doc"), doc(hidden))]
31#[cfg_attr(doc_cfg, doc(cfg(internal_doc)))]
32pub mod dim;
33
34pub use colors::{Colors, ColorsLinear, ColorsSrgb, InputState};
35pub use config::{Config, RasterConfig};
36pub use draw_shaded::{DrawShaded, DrawShadedImpl};
37pub use flat_theme::FlatTheme;
38pub use multi::{MultiTheme, MultiThemeBuilder};
39pub use shaded_theme::ShadedTheme;
40pub use simple_theme::SimpleTheme;
41pub use theme_dst::{MaybeBoxed, ThemeDst};
42pub use traits::{Theme, ThemeConfig, Window};