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 {}