summaryrefslogtreecommitdiffstats
path: root/style/src/button.rs
diff options
context:
space:
mode:
authorLibravatar Casper Storm <casper.storm@lich.io>2022-12-13 09:31:57 +0100
committerLibravatar Casper Storm <casper.storm@lich.io>2022-12-13 09:31:57 +0100
commit2e6d90f141217bad83eacd392562c13d7485881f (patch)
treebaa2c507076073aed4fd24abc9c7a7949d85c039 /style/src/button.rs
parentba95042fff378213f5029b2b164d79e768482a47 (diff)
parent02182eea45537c9eb5b2bddfdff822bb8a3d143d (diff)
downloadiced-2e6d90f141217bad83eacd392562c13d7485881f.tar.gz
iced-2e6d90f141217bad83eacd392562c13d7485881f.tar.bz2
iced-2e6d90f141217bad83eacd392562c13d7485881f.zip
Merge branch 'master' into feat/slider-orientation
Diffstat (limited to '')
-rw-r--r--style/src/button.rs23
1 files changed, 17 insertions, 6 deletions
diff --git a/style/src/button.rs b/style/src/button.rs
index c63a6b71..a564a2b7 100644
--- a/style/src/button.rs
+++ b/style/src/button.rs
@@ -1,14 +1,20 @@
-//! Allow your users to perform actions by pressing a button.
+//! Change the apperance of a button.
use iced_core::{Background, Color, Vector};
/// The appearance of a button.
#[derive(Debug, Clone, Copy)]
pub struct Appearance {
+ /// The amount of offset to apply to the shadow of the button.
pub shadow_offset: Vector,
+ /// The [`Background`] of the button.
pub background: Option<Background>,
+ /// The border radius of the button.
pub border_radius: f32,
+ /// The border width of the button.
pub border_width: f32,
+ /// The border [`Color`] of the button.
pub border_color: Color,
+ /// The text [`Color`] of the button.
pub text_color: Color,
}
@@ -27,11 +33,14 @@ impl std::default::Default for Appearance {
/// A set of rules that dictate the style of a button.
pub trait StyleSheet {
- type Style: Default + Copy;
+ /// The supported style of the [`StyleSheet`].
+ type Style: Default;
- fn active(&self, style: Self::Style) -> Appearance;
+ /// Produces the active [`Appearance`] of a button.
+ fn active(&self, style: &Self::Style) -> Appearance;
- fn hovered(&self, style: Self::Style) -> Appearance {
+ /// Produces the hovered [`Appearance`] of a button.
+ fn hovered(&self, style: &Self::Style) -> Appearance {
let active = self.active(style);
Appearance {
@@ -40,14 +49,16 @@ pub trait StyleSheet {
}
}
- fn pressed(&self, style: Self::Style) -> Appearance {
+ /// Produces the pressed [`Appearance`] of a button.
+ fn pressed(&self, style: &Self::Style) -> Appearance {
Appearance {
shadow_offset: Vector::default(),
..self.active(style)
}
}
- fn disabled(&self, style: Self::Style) -> Appearance {
+ /// Produces the disabled [`Appearance`] of a button.
+ fn disabled(&self, style: &Self::Style) -> Appearance {
let active = self.active(style);
Appearance {