Make scale methods in Frame generic over f32 and Vector

This commit is contained in:
Héctor Ramón Jiménez 2023-09-07 05:51:39 +02:00
parent 1f263051b6
commit 09965b686e
No known key found for this signature in database
GPG key ID: 140CC052C94F138E
5 changed files with 19 additions and 11 deletions

View file

@ -446,13 +446,17 @@ impl 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: Vector) {
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.x, scale.y);
self.transforms.current.is_identity = false;