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

---
 tiny_skia/src/geometry.rs | 4 ++++
 1 file changed, 4 insertions(+)

(limited to 'tiny_skia')

diff --git a/tiny_skia/src/geometry.rs b/tiny_skia/src/geometry.rs
index 0fae7364..a416020f 100644
--- a/tiny_skia/src/geometry.rs
+++ b/tiny_skia/src/geometry.rs
@@ -158,6 +158,10 @@ impl Frame {
         self.transform = self.transform.pre_scale(scale, scale);
     }
 
+    pub fn scale_nonuniform(&mut self, scale: Vector) {
+        self.transform = self.transform.pre_scale(scale.x, scale.y);
+    }
+
     pub fn into_primitive(self) -> Primitive {
         Primitive::Clip {
             bounds: Rectangle::new(Point::ORIGIN, self.size),
-- 
cgit 


From 1f263051b6c2d2f2a02633d8a6277c772ae8e7f9 Mon Sep 17 00:00:00 2001
From: Héctor Ramón Jiménez <hector0193@gmail.com>
Date: Thu, 7 Sep 2023 05:45:51 +0200
Subject: Implement `scale` in terms of `scale_nonuniform`

---
 tiny_skia/src/geometry.rs | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

(limited to 'tiny_skia')

diff --git a/tiny_skia/src/geometry.rs b/tiny_skia/src/geometry.rs
index a416020f..ced5b408 100644
--- a/tiny_skia/src/geometry.rs
+++ b/tiny_skia/src/geometry.rs
@@ -155,7 +155,7 @@ impl Frame {
     }
 
     pub fn scale(&mut self, scale: f32) {
-        self.transform = self.transform.pre_scale(scale, scale);
+        self.scale_nonuniform(Vector { x: scale, y: scale });
     }
 
     pub fn scale_nonuniform(&mut self, scale: Vector) {
-- 
cgit 


From 09965b686ea6bf82e6c13ed5331bbeb059848e4f Mon Sep 17 00:00:00 2001
From: Héctor Ramón Jiménez <hector0193@gmail.com>
Date: Thu, 7 Sep 2023 05:51:39 +0200
Subject: Make `scale` methods in `Frame` generic over `f32` and `Vector`

---
 tiny_skia/src/geometry.rs | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

(limited to 'tiny_skia')

diff --git a/tiny_skia/src/geometry.rs b/tiny_skia/src/geometry.rs
index ced5b408..1df5aa18 100644
--- a/tiny_skia/src/geometry.rs
+++ b/tiny_skia/src/geometry.rs
@@ -154,11 +154,15 @@ impl Frame {
             .pre_concat(tiny_skia::Transform::from_rotate(angle.to_degrees()));
     }
 
-    pub fn scale(&mut self, scale: f32) {
+    pub fn scale(&mut self, scale: impl Into<f32>) {
+        let scale = scale.into();
+
         self.scale_nonuniform(Vector { x: scale, y: scale });
     }
 
-    pub fn scale_nonuniform(&mut self, scale: Vector) {
+    pub fn scale_nonuniform(&mut self, scale: impl Into<Vector>) {
+        let scale = scale.into();
+
         self.transform = self.transform.pre_scale(scale.x, scale.y);
     }
 
-- 
cgit