From 5371fae21a4c1110a37e7183e794cba234598d9c Mon Sep 17 00:00:00 2001
From: ripytide <james.forsterer@gmail.com>
Date: Tue, 5 Sep 2023 10:49:50 +0100
Subject: added a Frame::scale_nonuniform method

---
 wgpu/src/geometry.rs | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

(limited to 'wgpu/src/geometry.rs')

diff --git a/wgpu/src/geometry.rs b/wgpu/src/geometry.rs
index e421e0b0..2cd07a27 100644
--- a/wgpu/src/geometry.rs
+++ b/wgpu/src/geometry.rs
@@ -444,7 +444,7 @@ impl Frame {
         self.transforms.current.is_identity = false;
     }
 
-    /// Applies a scaling to the current transform of the [`Frame`].
+    /// Applies a uniform scaling to the current transform of the [`Frame`].
     #[inline]
     pub fn scale(&mut self, scale: f32) {
         self.transforms.current.raw =
@@ -452,6 +452,14 @@ impl Frame {
         self.transforms.current.is_identity = false;
     }
 
+    /// Applies a non-uniform scaling to the current transform of the [`Frame`].
+    #[inline]
+    pub fn scale_nonuniform(&mut self, scale: Vector) {
+        self.transforms.current.raw =
+            self.transforms.current.raw.pre_scale(scale.x, scale.y);
+        self.transforms.current.is_identity = false;
+    }
+
     /// Produces the [`Primitive`] representing everything drawn on the [`Frame`].
     pub fn into_primitive(self) -> Primitive {
         Primitive::Group {
-- 
cgit