summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-01-20 13:32:19 +0100
committerLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-01-20 13:32:19 +0100
commite736038d5ff9adb9c011326879d4c772338d12d9 (patch)
tree9015c769b22d8bb26819828211a32af4faa96e65
parent25f182f933ea6b7c112c8f9a450a98dc9b9eebdd (diff)
downloadiced-e736038d5ff9adb9c011326879d4c772338d12d9.tar.gz
iced-e736038d5ff9adb9c011326879d4c772338d12d9.tar.bz2
iced-e736038d5ff9adb9c011326879d4c772338d12d9.zip
Add `Shadow` to `button::Appearance`
-rw-r--r--style/src/button.rs11
-rw-r--r--widget/src/button.rs6
2 files changed, 12 insertions, 5 deletions
diff --git a/style/src/button.rs b/style/src/button.rs
index d8732263..0d7a668a 100644
--- a/style/src/button.rs
+++ b/style/src/button.rs
@@ -1,5 +1,5 @@
//! Change the apperance of a button.
-use iced_core::{Background, Border, Color, Vector};
+use iced_core::{Background, Border, Color, Shadow, Vector};
/// The appearance of a button.
#[derive(Debug, Clone, Copy)]
@@ -8,10 +8,12 @@ pub struct Appearance {
pub shadow_offset: Vector,
/// The [`Background`] of the button.
pub background: Option<Background>,
- /// The [`Border`] of the butoon.
- pub border: Border,
/// The text [`Color`] of the button.
pub text_color: Color,
+ /// The [`Border`] of the buton.
+ pub border: Border,
+ /// The [`Shadow`] of the butoon.
+ pub shadow: Shadow,
}
impl std::default::Default for Appearance {
@@ -19,8 +21,9 @@ impl std::default::Default for Appearance {
Self {
shadow_offset: Vector::default(),
background: None,
- border: Border::default(),
text_color: Color::BLACK,
+ border: Border::default(),
+ shadow: Shadow::default(),
}
}
}
diff --git a/widget/src/button.rs b/widget/src/button.rs
index f052ebab..cd141169 100644
--- a/widget/src/button.rs
+++ b/widget/src/button.rs
@@ -391,11 +391,15 @@ where
style_sheet.active(style)
};
- if styling.background.is_some() || styling.border.width > 0.0 {
+ if styling.background.is_some()
+ || styling.shadow.color.a > 0.0
+ || styling.border.width > 0.0
+ {
renderer.fill_quad(
renderer::Quad {
bounds,
border: styling.border,
+ shadow: styling.shadow,
..renderer::Quad::default()
},
styling