diff options
author | 2020-05-19 19:55:05 +0200 | |
---|---|---|
committer | 2020-05-19 19:55:05 +0200 | |
commit | 750a441a8c7c76b240db238283e9cbdab8d6932d (patch) | |
tree | f0e43b25375d1eace3e3d4871e7c19e01268f986 /glow/src | |
parent | 05af8d00d4c0f7b8e0ece85224fd90a92da86da8 (diff) | |
download | iced-750a441a8c7c76b240db238283e9cbdab8d6932d.tar.gz iced-750a441a8c7c76b240db238283e9cbdab8d6932d.tar.bz2 iced-750a441a8c7c76b240db238283e9cbdab8d6932d.zip |
Move `Transformation` to `iced_graphics`
Diffstat (limited to 'glow/src')
-rw-r--r-- | glow/src/lib.rs | 3 | ||||
-rw-r--r-- | glow/src/transformation.rs | 54 |
2 files changed, 1 insertions, 56 deletions
diff --git a/glow/src/lib.rs b/glow/src/lib.rs index 27c39b99..f8032433 100644 --- a/glow/src/lib.rs +++ b/glow/src/lib.rs @@ -7,7 +7,6 @@ mod backend; mod quad; mod text; -mod transformation; mod triangle; mod viewport; @@ -19,8 +18,8 @@ pub use settings::Settings; pub use viewport::Viewport; pub(crate) use backend::Backend; +pub(crate) use iced_graphics::Transformation; pub(crate) use quad::Quad; -pub(crate) use transformation::Transformation; pub type Renderer = iced_graphics::Renderer<Backend>; diff --git a/glow/src/transformation.rs b/glow/src/transformation.rs deleted file mode 100644 index ff3b1d00..00000000 --- a/glow/src/transformation.rs +++ /dev/null @@ -1,54 +0,0 @@ -use glam::{Mat4, Vec3, Vec4}; -use std::ops::Mul; - -/// A 2D transformation matrix. -#[derive(Debug, Clone, Copy, PartialEq)] -pub struct Transformation(Mat4); - -impl Transformation { - /// Get the identity transformation. - pub fn identity() -> Transformation { - Transformation(Mat4::identity()) - } - - /// Creates an orthographic projection. - #[rustfmt::skip] - pub fn orthographic(width: u32, height: u32) -> Transformation { - Transformation(Mat4::from_cols( - Vec4::new(2.0 / width as f32, 0.0, 0.0, 0.0), - Vec4::new(0.0, -2.0 / height as f32, 0.0, 0.0), - Vec4::new(0.0, 0.0, -1.0, 0.0), - Vec4::new(-1.0, 1.0, 0.0, 1.0) - )) - } - - /// Creates a translate transformation. - pub fn translate(x: f32, y: f32) -> Transformation { - Transformation(Mat4::from_translation(Vec3::new(x, y, 0.0))) - } - - /// Creates a scale transformation. - pub fn scale(x: f32, y: f32) -> Transformation { - Transformation(Mat4::from_scale(Vec3::new(x, y, 1.0))) - } -} - -impl Mul for Transformation { - type Output = Self; - - fn mul(self, rhs: Self) -> Self { - Transformation(self.0 * rhs.0) - } -} - -impl AsRef<[f32; 16]> for Transformation { - fn as_ref(&self) -> &[f32; 16] { - self.0.as_ref() - } -} - -impl From<Transformation> for [f32; 16] { - fn from(t: Transformation) -> [f32; 16] { - *t.as_ref() - } -} |