rayimg/image_write/image_write.rs
1
2/// `ImageWrite` defines pixel order starting from upper left corner and image size.
3pub trait ImageWrite {
4 /// User-defined color type.
5 type Color;
6 /// Partial or full data write starting from upper left corner.
7 fn write_image_data(&mut self, data: &[Self::Color]);
8 /// Image width and height.
9 fn bounds(&self) -> (usize, usize);
10}
11
12impl<T, C> ImageWrite for &mut T where T: ImageWrite<Color = C> {
13 type Color = C;
14
15 fn write_image_data(&mut self, data: &[Self::Color]) {
16 (**self).write_image_data(data)
17 }
18
19 fn bounds(&self) -> (usize, usize) {
20 (**self).bounds()
21 }
22}