summaryrefslogtreecommitdiffstats
path: root/wgpu
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón <hector0193@gmail.com>2023-09-07 06:03:41 +0200
committerLibravatar GitHub <noreply@github.com>2023-09-07 06:03:41 +0200
commitb5e7fb240cda919b66fb17a18cedd6d2ec064eaf (patch)
treeea4ee5a4fd82854547b82c3c125ee30893cc9235 /wgpu
parentd82c8b59e6a3e7743017c7674766dfa5bdb7c6f0 (diff)
parent09965b686ea6bf82e6c13ed5331bbeb059848e4f (diff)
downloadiced-b5e7fb240cda919b66fb17a18cedd6d2ec064eaf.tar.gz
iced-b5e7fb240cda919b66fb17a18cedd6d2ec064eaf.tar.bz2
iced-b5e7fb240cda919b66fb17a18cedd6d2ec064eaf.zip
Merge pull request #2070 from ripytide/master
Added a Frame::scale_nonuniform method
Diffstat (limited to 'wgpu')
-rw-r--r--wgpu/src/geometry.rs16
1 files changed, 13 insertions, 3 deletions
diff --git a/wgpu/src/geometry.rs b/wgpu/src/geometry.rs
index e421e0b0..c3e16f8c 100644
--- a/wgpu/src/geometry.rs
+++ b/wgpu/src/geometry.rs
@@ -444,11 +444,21 @@ 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) {
+ pub fn scale(&mut self, scale: impl Into<f32>) {
+ let scale = scale.into();
+
+ self.scale_nonuniform(Vector { x: scale, y: scale });
+ }
+
+ /// Applies a non-uniform scaling to the current transform of the [`Frame`].
+ #[inline]
+ pub fn scale_nonuniform(&mut self, scale: impl Into<Vector>) {
+ let scale = scale.into();
+
self.transforms.current.raw =
- self.transforms.current.raw.pre_scale(scale, scale);
+ self.transforms.current.raw.pre_scale(scale.x, scale.y);
self.transforms.current.is_identity = false;
}