use into_flattened

This commit is contained in:
bendn 2023-09-27 08:42:59 +07:00
parent e09c667231
commit af0be2af34
No known key found for this signature in database
GPG key ID: 0D9D3A2A3B2A93D6
3 changed files with 2 additions and 7 deletions

View file

@ -98,12 +98,7 @@ impl<const CHANNELS: usize> ImageCloner<'_, CHANNELS> {
}
// SAFETY: we just wrote the right amount
unsafe { v.set_len(s) };
let (v, _, c) = v.into_raw_parts();
let s = s * CHANNELS;
// SAFETY: init with with_cap, set len to s, s is init amount, chunked returns nm, capacity handled, flatten vec
let v = unsafe { Vec::from_raw_parts(v.cast::<u8>(), s, c * CHANNELS) };
// SAFETY: s is w * h.
unsafe { Image::new(self.width, self.height, v) }
Image::build(self.width(), self.height()).buf(v.into_flattened())
}
/// Rotate an image 90 degrees clockwise.

View file

@ -106,6 +106,5 @@ mod tests {
i.stroked_box((2, 2), 4, 17, 2, [255]);
// ideally the bottom would have a 2 stroke line, alas tis difficult.
assert_eq!(i.buffer(), b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00");
panic!();
}
}

View file

@ -8,6 +8,7 @@
vec_into_raw_parts,
slice_as_chunks,
unchecked_math,
slice_flatten,
portable_simd,
array_windows,
const_option,