gufo_common/
image.rs

1use crate::cicp::Cicp;
2
3pub trait ImageFormat {
4    /// Usually checks if data start with correct magic bytes
5    fn is_filetype(data: &[u8]) -> bool;
6}
7
8pub trait ImageMetadata {
9    fn cicp(&self) -> Option<Cicp> {
10        None
11    }
12
13    fn exif(&self) -> Vec<Vec<u8>> {
14        Vec::new()
15    }
16
17    fn xmp(&self) -> Vec<Vec<u8>> {
18        Vec::new()
19    }
20}
21
22pub trait ImageComplete: ImageMetadata + ImageFormat {}