1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
//! `ctt` — a texture compression and conversion library.
//!
//! # Quick start
//!
//! ```ignore
//! use ctt::{convert, ConvertSettings, Container, TargetFormat, Format, Image, Surface, ColorSpace, AlphaMode};
//!
//! let surface = Surface {
//! data: pixel_bytes,
//! width: 512,
//! height: 512,
//! stride: 512 * 4,
//! format: Format::R8G8B8A8_UNORM,
//! color_space: ColorSpace::Srgb,
//! alpha: AlphaMode::Straight,
//! };
//! let image = Image {
//! surfaces: vec![vec![surface]],
//! is_cubemap: false,
//! };
//!
//! let ktx2_bytes = convert(image, ConvertSettings {
//! format: Some(TargetFormat::Compressed {
//! encoder_name: None,
//! format: Format::BC7_UNORM_BLOCK,
//! }),
//! container: Container::ktx2(),
//! ..Default::default()
//! })?;
//! ```
//!
//! Use [`parse_format`] to build a [`TargetFormat`] from a string like `"bc7"`,
//! `"intel_bc7"`, or `"rgba8unorm"`.
// ---- Core types ----
pub use Format;
pub use AlphaMode;
pub use ;
pub use ;
pub use ;
pub use ;
pub use ;
pub use Quality;
pub use ;
pub use ;
// ---- Public modules for advanced use ----
// ---- Internal ----
pub
pub