From c407b4504cd5e7dcb04a8fd31ad0400c891fc3e1 Mon Sep 17 00:00:00 2001
From: Héctor Ramón Jiménez <hector0193@gmail.com>
Date: Mon, 27 Mar 2023 15:51:32 +0200
Subject: Introduce `is_mouse_over_scrollbar` to `StyleSheet::hovered` for
 `Scrollable`

---
 style/src/scrollable.rs | 32 +++++++++++++++-----------------
 1 file changed, 15 insertions(+), 17 deletions(-)

(limited to 'style/src/scrollable.rs')

diff --git a/style/src/scrollable.rs b/style/src/scrollable.rs
index f3c04235..64a91b69 100644
--- a/style/src/scrollable.rs
+++ b/style/src/scrollable.rs
@@ -37,17 +37,16 @@ pub trait StyleSheet {
     /// Produces the style of an active scrollbar.
     fn active(&self, style: &Self::Style) -> Scrollbar;
 
-    /// Produces the style of a hovered scrollbar.
-    fn hovered_scrollbar(&self, style: &Self::Style) -> Scrollbar;
+    /// Produces the style of a scrollbar when the scrollable is being hovered.
+    fn hovered(
+        &self,
+        style: &Self::Style,
+        is_mouse_over_scrollbar: bool,
+    ) -> Scrollbar;
 
     /// Produces the style of a scrollbar that is being dragged.
     fn dragging(&self, style: &Self::Style) -> Scrollbar {
-        self.hovered_scrollbar(style)
-    }
-
-    /// Produces the style of a scrollbar when mouse is over the scrollable area.
-    fn hovered(&self, style: &Self::Style) -> Scrollbar {
-        self.active(style)
+        self.hovered(style, true)
     }
 
     /// Produces the style of an active horizontal scrollbar.
@@ -55,18 +54,17 @@ pub trait StyleSheet {
         self.active(style)
     }
 
-    /// Produces the style of a hovered horizontal scrollbar.
-    fn hovered_scrollbar_horizontal(&self, style: &Self::Style) -> Scrollbar {
-        self.hovered_scrollbar(style)
+    /// Produces the style of a horizontal scrollbar when the scrollable is being hovered.
+    fn hovered_horizontal(
+        &self,
+        style: &Self::Style,
+        is_mouse_over_scrollbar: bool,
+    ) -> Scrollbar {
+        self.hovered(style, is_mouse_over_scrollbar)
     }
 
     /// Produces the style of a horizontal scrollbar that is being dragged.
     fn dragging_horizontal(&self, style: &Self::Style) -> Scrollbar {
-        self.hovered_scrollbar_horizontal(style)
-    }
-
-    /// Produces the style of a horizontal scrollbar when mouse is over the scrollable area.
-    fn hovered_horizontal(&self, style: &Self::Style) -> Scrollbar {
-        self.active_horizontal(style)
+        self.hovered(style, true)
     }
 }
-- 
cgit