summaryrefslogtreecommitdiff
path: root/engine/src/texture.rs
diff options
context:
space:
mode:
Diffstat (limited to 'engine/src/texture.rs')
-rw-r--r--engine/src/texture.rs25
1 files changed, 14 insertions, 11 deletions
diff --git a/engine/src/texture.rs b/engine/src/texture.rs
index 5cea9ff..88c57bd 100644
--- a/engine/src/texture.rs
+++ b/engine/src/texture.rs
@@ -7,8 +7,8 @@ use image::io::Reader as ImageReader;
use image::{DynamicImage, ImageError, Rgb, RgbImage};
use crate::color::Color;
+use crate::data_types::dimens::Dimens;
use crate::opengl::texture::PixelDataFormat;
-use crate::vector::Vec2;
static NEXT_ID: AtomicU32 = AtomicU32::new(0);
@@ -25,7 +25,7 @@ pub struct Texture
id: Id,
image: DynamicImage,
pixel_data_format: PixelDataFormat,
- dimensions: Vec2<u32>,
+ dimensions: Dimens<u32>,
properties: Properties,
}
@@ -46,14 +46,17 @@ impl Texture
.map_err(Error::DecodeImageFailed)?;
let pixel_data_format = match &image {
- DynamicImage::ImageRgb8(_) => PixelDataFormat::Rgb,
- DynamicImage::ImageRgba8(_) => PixelDataFormat::Rgba,
+ DynamicImage::ImageRgb8(_) => PixelDataFormat::Rgb8,
+ DynamicImage::ImageRgba8(_) => PixelDataFormat::Rgba8,
_ => {
return Err(Error::UnsupportedImageDataKind);
}
};
- let dimensions = Vec2 { x: image.width(), y: image.height() };
+ let dimensions = Dimens {
+ width: image.width(),
+ height: image.height(),
+ };
let id = NEXT_ID.fetch_add(1, Ordering::Relaxed);
@@ -67,11 +70,11 @@ impl Texture
}
#[must_use]
- pub fn new_from_color(dimensions: &Vec2<u32>, color: &Color<u8>) -> Self
+ pub fn new_from_color(dimensions: &Dimens<u32>, color: &Color<u8>) -> Self
{
let image = RgbImage::from_pixel(
- dimensions.x,
- dimensions.y,
+ dimensions.width,
+ dimensions.height,
Rgb([color.red, color.green, color.blue]),
);
@@ -80,8 +83,8 @@ impl Texture
Self {
id: Id::new(id),
image: image.into(),
- pixel_data_format: PixelDataFormat::Rgb,
- dimensions: dimensions.clone(),
+ pixel_data_format: PixelDataFormat::Rgb8,
+ dimensions: *dimensions,
properties: Properties::default(),
}
}
@@ -104,7 +107,7 @@ impl Texture
}
#[must_use]
- pub fn dimensions(&self) -> &Vec2<u32>
+ pub fn dimensions(&self) -> &Dimens<u32>
{
&self.dimensions
}