Add checkbox text_color styling

This commit is contained in:
Daniel May 2021-11-14 11:35:12 +01:00
parent f084ed8df1
commit 1a6c912332
3 changed files with 15 additions and 12 deletions

View file

@ -528,6 +528,7 @@ mod style {
background: if is_checked { ACTIVE } else { SURFACE }
.into(),
checkmark_color: Color::WHITE,
text_color: Color::BLACK,
border_radius: 2.0,
border_width: 1.0,
border_color: ACTIVE,

View file

@ -216,24 +216,24 @@ where
let mut children = layout.children();
let custom_style = if is_mouse_over {
self.style_sheet.hovered(self.is_checked)
} else {
self.style_sheet.active(self.is_checked)
};
{
let layout = children.next().unwrap();
let bounds = layout.bounds();
let style = if is_mouse_over {
self.style_sheet.hovered(self.is_checked)
} else {
self.style_sheet.active(self.is_checked)
};
renderer.fill_quad(
renderer::Quad {
bounds,
border_radius: style.border_radius,
border_width: style.border_width,
border_color: style.border_color,
border_radius: custom_style.border_radius,
border_width: custom_style.border_width,
border_color: custom_style.border_color,
},
style.background,
custom_style.background,
);
if self.is_checked {
@ -246,7 +246,7 @@ where
y: bounds.center_y(),
..bounds
},
color: style.checkmark_color,
color: custom_style.checkmark_color,
horizontal_alignment: alignment::Horizontal::Center,
vertical_alignment: alignment::Vertical::Center,
});
@ -263,7 +263,7 @@ where
&self.label,
self.font,
self.text_size,
self.text_color,
self.text_color.or(Some(custom_style.text_color)),
alignment::Horizontal::Left,
alignment::Vertical::Center,
);

View file

@ -6,6 +6,7 @@ use iced_core::{Background, Color};
pub struct Style {
pub background: Background,
pub checkmark_color: Color,
pub text_color: Color,
pub border_radius: f32,
pub border_width: f32,
pub border_color: Color,
@ -25,6 +26,7 @@ impl StyleSheet for Default {
Style {
background: Background::Color(Color::from_rgb(0.95, 0.95, 0.95)),
checkmark_color: Color::from_rgb(0.3, 0.3, 0.3),
text_color: Color::BLACK,
border_radius: 5.0,
border_width: 1.0,
border_color: Color::from_rgb(0.6, 0.6, 0.6),