summaryrefslogtreecommitdiffstats
path: root/style/src/theme.rs
diff options
context:
space:
mode:
authorLibravatar Alexander van Saase <avsaase@gmail.com>2023-10-02 20:18:15 +0200
committerLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-02-01 13:16:28 +0100
commitb5f1ca169567f47b3976de5b4c5a2b1ce37656d5 (patch)
tree326fae951f16d98ba6141e6cd20d6e7d02e8c71d /style/src/theme.rs
parentb95f3ab12f863f4de668e4e6f8a75b7d3acdf2b7 (diff)
downloadiced-b5f1ca169567f47b3976de5b4c5a2b1ce37656d5.tar.gz
iced-b5f1ca169567f47b3976de5b4c5a2b1ce37656d5.tar.bz2
iced-b5f1ca169567f47b3976de5b4c5a2b1ce37656d5.zip
Introduce support for disabling a `checkbox`
Diffstat (limited to '')
-rw-r--r--style/src/theme.rs40
1 files changed, 38 insertions, 2 deletions
diff --git a/style/src/theme.rs b/style/src/theme.rs
index 8d1ff237..e003a93b 100644
--- a/style/src/theme.rs
+++ b/style/src/theme.rs
@@ -319,7 +319,7 @@ impl checkbox::StyleSheet for Theme {
Checkbox::Secondary => checkbox_appearance(
palette.background.base.text,
palette.background.base,
- palette.background.base,
+ palette.background.weak,
is_checked,
),
Checkbox::Success => checkbox_appearance(
@@ -355,7 +355,7 @@ impl checkbox::StyleSheet for Theme {
Checkbox::Secondary => checkbox_appearance(
palette.background.base.text,
palette.background.weak,
- palette.background.base,
+ palette.background.weak,
is_checked,
),
Checkbox::Success => checkbox_appearance(
@@ -373,6 +373,42 @@ impl checkbox::StyleSheet for Theme {
Checkbox::Custom(custom) => custom.hovered(self, is_checked),
}
}
+
+ fn disabled(
+ &self,
+ style: &Self::Style,
+ is_checked: bool,
+ ) -> checkbox::Appearance {
+ let palette = self.extended_palette();
+
+ match style {
+ Checkbox::Primary => checkbox_appearance(
+ palette.primary.strong.text,
+ palette.background.weak,
+ palette.background.strong,
+ is_checked,
+ ),
+ Checkbox::Secondary => checkbox_appearance(
+ palette.background.strong.color,
+ palette.background.weak,
+ palette.background.weak,
+ is_checked,
+ ),
+ Checkbox::Success => checkbox_appearance(
+ palette.success.base.text,
+ palette.background.weak,
+ palette.success.weak,
+ is_checked,
+ ),
+ Checkbox::Danger => checkbox_appearance(
+ palette.danger.base.text,
+ palette.background.weak,
+ palette.danger.weak,
+ is_checked,
+ ),
+ Checkbox::Custom(custom) => custom.active(self, is_checked),
+ }
+ }
}
fn checkbox_appearance(