theme: Add color darken function (#20746)

This PR adds a `darken` function that allows to reduce the lightness of
a color by a certain factor. This popped up as I wanted to add hover
styles to tinted-colors buttons.

Release Notes:

- N/A
This commit is contained in:
Danilo Leal 2024-11-18 12:44:49 -03:00 committed by GitHub
parent 3f905d57e5
commit 0e7770a9a2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 22 additions and 1 deletions

View file

@ -202,7 +202,12 @@ impl ButtonStyle {
icon_color: Color::Default.color(cx),
}
}
ButtonStyle::Tinted(tint) => tint.button_like_style(cx),
ButtonStyle::Tinted(tint) => {
let mut styles = tint.button_like_style(cx);
let theme = cx.theme();
styles.background = theme.darken(styles.background, 0.05, 0.2);
styles
}
ButtonStyle::Subtle => ButtonLikeStyles {
background: cx.theme().colors().ghost_element_hover,
border_color: transparent_black(),