From eac5bcb64f17dfbb52b64ea4f95693462986bb69 Mon Sep 17 00:00:00 2001
From: Héctor Ramón Jiménez <hector@hecrj.dev>
Date: Fri, 3 May 2024 07:04:57 +0200
Subject: Fix `Image::bounds` when rotation present in `iced_graphics`

---
 core/src/rotation.rs | 14 +++-----------
 1 file changed, 3 insertions(+), 11 deletions(-)

(limited to 'core/src/rotation.rs')

diff --git a/core/src/rotation.rs b/core/src/rotation.rs
index f36ef089..00a8c302 100644
--- a/core/src/rotation.rs
+++ b/core/src/rotation.rs
@@ -36,20 +36,12 @@ impl Rotation {
         Degrees(self.radians().0.to_degrees())
     }
 
-    /// Rotates the given [`Size`].
+    /// Applies the [`Rotation`] to the given [`Size`], returning
+    /// the minimum [`Size`] containing the rotated one.
     pub fn apply(self, size: Size) -> Size {
         match self {
             Self::Floating(_) => size,
-            Self::Solid(rotation) => {
-                let radians = f32::from(rotation);
-
-                Size {
-                    width: (size.width * radians.cos()).abs()
-                        + (size.height * radians.sin()).abs(),
-                    height: (size.width * radians.sin()).abs()
-                        + (size.height * radians.cos()).abs(),
-                }
-            }
+            Self::Solid(rotation) => size.rotate(rotation),
         }
     }
 }
-- 
cgit