Add Shadow to button::Appearance

This commit is contained in:
Héctor Ramón Jiménez 2024-01-20 13:32:19 +01:00
parent 25f182f933
commit e736038d5f
No known key found for this signature in database
GPG key ID: 7CC46565708259A7
2 changed files with 12 additions and 5 deletions

View file

@ -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(),
}
}
}

View file

@ -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