From 9ab41d06b4ff0b52360a8cda756a3b1343a1e2fc Mon Sep 17 00:00:00 2001 From: HampusM Date: Thu, 26 Mar 2026 16:42:22 +0100 Subject: fix(engine): prevent uploading textures with invalid row alignments --- engine/src/image.rs | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'engine/src/image.rs') diff --git a/engine/src/image.rs b/engine/src/image.rs index cf31a92..ac95f22 100644 --- a/engine/src/image.rs +++ b/engine/src/image.rs @@ -50,6 +50,26 @@ impl Image } } + pub fn from_color_and_alpha( + dimens: impl Into>, + color: impl Into>, + alpha: u8, + ) -> Self + { + let dimens: Dimens = dimens.into(); + + let color: Color = color.into(); + + Self { + inner: image_rs::RgbaImage::from_pixel( + dimens.width, + dimens.height, + image_rs::Rgba([color.red, color.green, color.blue, alpha]), + ) + .into(), + } + } + pub fn dimensions(&self) -> Dimens { self.inner.dimensions().into() @@ -68,6 +88,11 @@ impl Image } } + pub fn to_rgba8(&self) -> Self + { + Self { inner: self.inner.to_rgba8().into() } + } + pub fn as_bytes(&self) -> &[u8] { self.inner.as_bytes() -- cgit v1.2.3-18-g5258