fast image operations
Diffstat (limited to 'src/builder.rs')
-rw-r--r--src/builder.rs10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/builder.rs b/src/builder.rs
index 1f9b880..be5a837 100644
--- a/src/builder.rs
+++ b/src/builder.rs
@@ -32,10 +32,14 @@ impl<B: buf::Buffer, const C: usize> Builder<B, C> {
}
/// apply a buffer, and build
+ #[track_caller]
pub fn buf(self, buffer: B) -> Image<B, C> {
- if buffer.len() as u32 != C as u32 * self.width * self.height {
- panic!("invalid buffer size");
- }
+ let len = C as u32 * self.width * self.height;
+ assert!(
+ buffer.len() as u32 == len,
+ "invalid buffer size (expected {len}, got {})",
+ buffer.len()
+ );
Image {
buffer,
width: self.width.try_into().expect("passed zero width to builder"),