diff options
| author | 2023-04-17 23:46:18 +0200 | |
|---|---|---|
| committer | 2023-04-17 23:46:18 +0200 | |
| commit | 619ba9294d5e0f7913f82838d78018fc6714d26a (patch) | |
| tree | b0631aa66875e0e9f486665227c306832ac19a5b /style/src/theme.rs | |
| parent | d206b82ebb7617337cd378bd19542a7abf8a4529 (diff) | |
| parent | e3730106e9d4f75de199e1b83cf285b8ff031968 (diff) | |
| download | iced-619ba9294d5e0f7913f82838d78018fc6714d26a.tar.gz iced-619ba9294d5e0f7913f82838d78018fc6714d26a.tar.bz2 iced-619ba9294d5e0f7913f82838d78018fc6714d26a.zip  | |
Merge branch 'advanced-text' into incremental-rendering
Diffstat (limited to '')
| -rw-r--r-- | style/src/theme.rs | 86 | 
1 files changed, 66 insertions, 20 deletions
diff --git a/style/src/theme.rs b/style/src/theme.rs index b507d096..d9893bcf 100644 --- a/style/src/theme.rs +++ b/style/src/theme.rs @@ -416,10 +416,13 @@ impl slider::StyleSheet for Theme {                  };                  slider::Appearance { -                    rail_colors: ( -                        palette.primary.base.color, -                        Color::TRANSPARENT, -                    ), +                    rail: slider::Rail { +                        colors: ( +                            palette.primary.base.color, +                            palette.primary.base.color, +                        ), +                        width: 2.0, +                    },                      handle: slider::Handle {                          color: palette.background.base.color,                          border_color: palette.primary.base.color, @@ -906,31 +909,41 @@ impl scrollable::StyleSheet for Theme {          }      } -    fn hovered(&self, style: &Self::Style) -> scrollable::Scrollbar { +    fn hovered( +        &self, +        style: &Self::Style, +        is_mouse_over_scrollbar: bool, +    ) -> scrollable::Scrollbar {          match style {              Scrollable::Default => { -                let palette = self.extended_palette(); +                if is_mouse_over_scrollbar { +                    let palette = self.extended_palette(); -                scrollable::Scrollbar { -                    background: palette.background.weak.color.into(), -                    border_radius: 2.0, -                    border_width: 0.0, -                    border_color: Color::TRANSPARENT, -                    scroller: scrollable::Scroller { -                        color: palette.primary.strong.color, +                    scrollable::Scrollbar { +                        background: palette.background.weak.color.into(),                          border_radius: 2.0,                          border_width: 0.0,                          border_color: Color::TRANSPARENT, -                    }, +                        scroller: scrollable::Scroller { +                            color: palette.primary.strong.color, +                            border_radius: 2.0, +                            border_width: 0.0, +                            border_color: Color::TRANSPARENT, +                        }, +                    } +                } else { +                    self.active(style)                  }              } -            Scrollable::Custom(custom) => custom.hovered(self), +            Scrollable::Custom(custom) => { +                custom.hovered(self, is_mouse_over_scrollbar) +            }          }      }      fn dragging(&self, style: &Self::Style) -> scrollable::Scrollbar {          match style { -            Scrollable::Default => self.hovered(style), +            Scrollable::Default => self.hovered(style, true),              Scrollable::Custom(custom) => custom.dragging(self),          }      } @@ -942,10 +955,16 @@ impl scrollable::StyleSheet for Theme {          }      } -    fn hovered_horizontal(&self, style: &Self::Style) -> scrollable::Scrollbar { +    fn hovered_horizontal( +        &self, +        style: &Self::Style, +        is_mouse_over_scrollbar: bool, +    ) -> scrollable::Scrollbar {          match style { -            Scrollable::Default => self.hovered(style), -            Scrollable::Custom(custom) => custom.hovered_horizontal(self), +            Scrollable::Default => self.hovered(style, is_mouse_over_scrollbar), +            Scrollable::Custom(custom) => { +                custom.hovered_horizontal(self, is_mouse_over_scrollbar) +            }          }      } @@ -954,7 +973,7 @@ impl scrollable::StyleSheet for Theme {          style: &Self::Style,      ) -> scrollable::Scrollbar {          match style { -            Scrollable::Default => self.hovered_horizontal(style), +            Scrollable::Default => self.hovered_horizontal(style, true),              Scrollable::Custom(custom) => custom.dragging_horizontal(self),          }      } @@ -1012,6 +1031,7 @@ impl text_input::StyleSheet for Theme {              border_radius: 2.0,              border_width: 1.0,              border_color: palette.background.strong.color, +            icon_color: palette.background.weak.text,          }      } @@ -1027,6 +1047,7 @@ impl text_input::StyleSheet for Theme {              border_radius: 2.0,              border_width: 1.0,              border_color: palette.background.base.text, +            icon_color: palette.background.weak.text,          }      } @@ -1042,6 +1063,7 @@ impl text_input::StyleSheet for Theme {              border_radius: 2.0,              border_width: 1.0,              border_color: palette.primary.strong.color, +            icon_color: palette.background.weak.text,          }      } @@ -1074,4 +1096,28 @@ impl text_input::StyleSheet for Theme {          palette.primary.weak.color      } + +    fn disabled(&self, style: &Self::Style) -> text_input::Appearance { +        if let TextInput::Custom(custom) = style { +            return custom.disabled(self); +        } + +        let palette = self.extended_palette(); + +        text_input::Appearance { +            background: palette.background.weak.color.into(), +            border_radius: 2.0, +            border_width: 1.0, +            border_color: palette.background.strong.color, +            icon_color: palette.background.strong.color, +        } +    } + +    fn disabled_color(&self, style: &Self::Style) -> Color { +        if let TextInput::Custom(custom) = style { +            return custom.disabled_color(self); +        } + +        self.placeholder_color(style) +    }  }  | 
