From 1e2965d5423fc35943388aa32a6cae2c6b0f2336 Mon Sep 17 00:00:00 2001
From: Casper Storm <casper.storm@lich.io>
Date: Thu, 1 Jun 2023 13:30:48 +0200
Subject: only add border radius to the visible part

---
 widget/src/slider.rs          | 7 +++++--
 widget/src/vertical_slider.rs | 7 +++++--
 2 files changed, 10 insertions(+), 4 deletions(-)

(limited to 'widget/src')

diff --git a/widget/src/slider.rs b/widget/src/slider.rs
index c2498b87..af6a824f 100644
--- a/widget/src/slider.rs
+++ b/widget/src/slider.rs
@@ -367,6 +367,7 @@ pub fn draw<T, R>(
     } else {
         style_sheet.active(style)
     };
+    let border_radius: [f32; 4] = style.rail.border_radius.into();
 
     let (handle_width, handle_height, handle_border_radius) =
         match style.handle.shape {
@@ -403,7 +404,8 @@ pub fn draw<T, R>(
                 width: offset + handle_width / 2.0,
                 height: style.rail.width,
             },
-            border_radius: style.rail.border_radius,
+            border_radius: [border_radius[0], 0.0, 0.0, border_radius[3]]
+                .into(),
             border_width: 0.0,
             border_color: Color::TRANSPARENT,
         },
@@ -418,7 +420,8 @@ pub fn draw<T, R>(
                 width: bounds.width - offset - handle_width / 2.0,
                 height: style.rail.width,
             },
-            border_radius: style.rail.border_radius,
+            border_radius: [0.0, border_radius[1], border_radius[2], 0.0]
+                .into(),
             border_width: 0.0,
             border_color: Color::TRANSPARENT,
         },
diff --git a/widget/src/vertical_slider.rs b/widget/src/vertical_slider.rs
index b14e5401..c6569c13 100644
--- a/widget/src/vertical_slider.rs
+++ b/widget/src/vertical_slider.rs
@@ -365,6 +365,7 @@ pub fn draw<T, R>(
     } else {
         style_sheet.active(style)
     };
+    let border_radius: [f32; 4] = style.rail.border_radius.into();
 
     let (handle_width, handle_height, handle_border_radius) =
         match style.handle.shape {
@@ -401,7 +402,8 @@ pub fn draw<T, R>(
                 width: style.rail.width,
                 height: offset + handle_width / 2.0,
             },
-            border_radius: style.rail.border_radius,
+            border_radius: [border_radius[0], border_radius[1], 0.0, 0.0]
+                .into(),
             border_width: 0.0,
             border_color: Color::TRANSPARENT,
         },
@@ -416,7 +418,8 @@ pub fn draw<T, R>(
                 width: style.rail.width,
                 height: bounds.height - offset - handle_width / 2.0,
             },
-            border_radius: style.rail.border_radius,
+            border_radius: [0.0, 0.0, border_radius[2], border_radius[3]]
+                .into(),
             border_width: 0.0,
             border_color: Color::TRANSPARENT,
         },
-- 
cgit