ktx/
lib.rs

1//! KTX v1 texture storage format parsing.
2//!
3//! Parses byte data according to
4//! [https://www.khronos.org/registry/KTX/specs/1.0/ktxspec_v1.html](https://www.khronos.org/registry/KTX/specs/1.0/ktxspec_v1.html).
5//!
6//! # Example: Include at compile time
7//! ```
8//! # fn main() -> std::io::Result<()> {
9//! use ktx::{Ktx, include_ktx, KtxInfo};
10//!
11//! // Include & use static ktx data
12//! let image: Ktx<_> = include_ktx!("../tests/babg-bc3.ktx");
13//! assert_eq!(image.pixel_width(), 260);
14//! # Ok(()) }
15//! ```
16//!
17//! # Example: Read at runtime
18//! ```
19//! # fn main() -> std::io::Result<()> {
20//! # use std::{io::BufReader, fs::File};
21//! use ktx::KtxInfo;
22//!
23//! # let mut buf_reader = BufReader::new(File::open("tests/babg-bc3.ktx").unwrap());
24//! let decoder = ktx::Decoder::new(buf_reader)?;
25//! assert_eq!(decoder.pixel_width(), 260);
26//! # Ok(()) }
27//! ```
28#![cfg_attr(not(feature = "std"), no_std)]
29#![allow(clippy::cast_lossless)]
30
31pub mod header;
32#[cfg(feature = "std")]
33pub mod read;
34pub mod slice;
35
36pub use header::KtxInfo;
37#[cfg(feature = "std")]
38pub use read::KtxDecoder as Decoder;
39pub use slice::Ktx;