img_optimize/
structs.rs

1use half::f16;
2
3pub struct ImageInfo {
4    pub width: u32,
5    pub height: u32,
6    pub bit_depth: u8,
7    pub color_type: u8,
8    pub pixels: ImagePixels,
9}
10
11pub enum ImagePixels {
12    U8(Vec<u8>),
13    U16(Vec<u16>),
14    F16(Vec<f16>),
15    F32(Vec<f32>),
16}
17
18pub struct CompressionConfig {
19    pub allow_webp: bool,
20    pub allow_png: bool,
21    pub allow_oxipng_zopfli: bool,
22    pub allow_jpeg_xl: bool,
23}
24
25impl CompressionConfig {
26    pub fn default() -> CompressionConfig {
27        CompressionConfig {
28            allow_webp: true,
29            allow_png: true,
30            allow_oxipng_zopfli: false,
31            allow_jpeg_xl: true,
32        }
33    }
34}