diff options
author | 2024-05-02 15:21:22 +0200 | |
---|---|---|
committer | 2024-05-02 17:28:28 +0200 | |
commit | a57313b23ecb9843856ca0ea08635b6121fcb2cb (patch) | |
tree | 42a88a4e42031ae99ae87aeb92fea85ab590b01e /tiny_skia/src/engine.rs | |
parent | 09a6bcfffc24f5abdc8709403bab7ae1e01563f1 (diff) | |
download | iced-a57313b23ecb9843856ca0ea08635b6121fcb2cb.tar.gz iced-a57313b23ecb9843856ca0ea08635b6121fcb2cb.tar.bz2 iced-a57313b23ecb9843856ca0ea08635b6121fcb2cb.zip |
Simplify image rotation API and its internals
Diffstat (limited to 'tiny_skia/src/engine.rs')
-rw-r--r-- | tiny_skia/src/engine.rs | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/tiny_skia/src/engine.rs b/tiny_skia/src/engine.rs index 564d3752..e9935bdb 100644 --- a/tiny_skia/src/engine.rs +++ b/tiny_skia/src/engine.rs @@ -551,7 +551,6 @@ impl Engine { filter_method, bounds, rotation, - scale, } => { let physical_bounds = *bounds * transformation; @@ -563,11 +562,13 @@ impl Engine { .then_some(clip_mask as &_); let center = physical_bounds.center(); - let transform = into_transform(transformation) - .post_rotate_at(rotation.to_degrees(), center.x, center.y) - .post_translate(-center.x, -center.y) - .post_scale(scale.width, scale.height) - .post_translate(center.x, center.y); + let radians = f32::from(*rotation); + + let transform = into_transform(transformation).post_rotate_at( + radians.to_degrees(), + center.x, + center.y, + ); self.raster_pipeline.draw( handle, @@ -584,7 +585,6 @@ impl Engine { color, bounds, rotation, - scale, } => { let physical_bounds = *bounds * transformation; @@ -596,11 +596,13 @@ impl Engine { .then_some(clip_mask as &_); let center = physical_bounds.center(); - let transform = into_transform(transformation) - .post_rotate_at(rotation.to_degrees(), center.x, center.y) - .post_translate(-center.x, -center.y) - .post_scale(scale.width, scale.height) - .post_translate(center.x, center.y); + let radians = f32::from(*rotation); + + let transform = into_transform(transformation).post_rotate_at( + radians.to_degrees(), + center.x, + center.y, + ); self.vector_pipeline.draw( handle, |