Add Shadow to button::Appearance
This commit is contained in:
parent
25f182f933
commit
e736038d5f
2 changed files with 12 additions and 5 deletions
|
|
@ -1,5 +1,5 @@
|
||||||
//! Change the apperance of a button.
|
//! 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.
|
/// The appearance of a button.
|
||||||
#[derive(Debug, Clone, Copy)]
|
#[derive(Debug, Clone, Copy)]
|
||||||
|
|
@ -8,10 +8,12 @@ pub struct Appearance {
|
||||||
pub shadow_offset: Vector,
|
pub shadow_offset: Vector,
|
||||||
/// The [`Background`] of the button.
|
/// The [`Background`] of the button.
|
||||||
pub background: Option<Background>,
|
pub background: Option<Background>,
|
||||||
/// The [`Border`] of the butoon.
|
|
||||||
pub border: Border,
|
|
||||||
/// The text [`Color`] of the button.
|
/// The text [`Color`] of the button.
|
||||||
pub text_color: Color,
|
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 {
|
impl std::default::Default for Appearance {
|
||||||
|
|
@ -19,8 +21,9 @@ impl std::default::Default for Appearance {
|
||||||
Self {
|
Self {
|
||||||
shadow_offset: Vector::default(),
|
shadow_offset: Vector::default(),
|
||||||
background: None,
|
background: None,
|
||||||
border: Border::default(),
|
|
||||||
text_color: Color::BLACK,
|
text_color: Color::BLACK,
|
||||||
|
border: Border::default(),
|
||||||
|
shadow: Shadow::default(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -391,11 +391,15 @@ where
|
||||||
style_sheet.active(style)
|
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.fill_quad(
|
||||||
renderer::Quad {
|
renderer::Quad {
|
||||||
bounds,
|
bounds,
|
||||||
border: styling.border,
|
border: styling.border,
|
||||||
|
shadow: styling.shadow,
|
||||||
..renderer::Quad::default()
|
..renderer::Quad::default()
|
||||||
},
|
},
|
||||||
styling
|
styling
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue