Skip to content

Commit

Permalink
feat: hint text styling
Browse files Browse the repository at this point in the history
  • Loading branch information
zaaarf committed May 21, 2024
1 parent 8321f64 commit 12607bf
Showing 1 changed file with 12 additions and 2 deletions.
14 changes: 12 additions & 2 deletions crates/egui/src/widgets/text_edit/builder.rs
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ use super::{TextEditOutput, TextEditState};
pub struct TextEdit<'t> {
text: &'t mut dyn TextBuffer,
hint_text: WidgetText,
hint_text_font: Option<FontSelection>,
id: Option<Id>,
id_source: Option<Id>,
font_selection: FontSelection,
Expand Down Expand Up @@ -111,6 +112,7 @@ impl<'t> TextEdit<'t> {
Self {
text,
hint_text: Default::default(),
hint_text_font: None,
id: None,
id_source: None,
font_selection: Default::default(),
Expand Down Expand Up @@ -189,6 +191,13 @@ impl<'t> TextEdit<'t> {
self
}

/// Forces a specific style for the hint text.
#[inline]
pub fn hint_text_font(mut self, hint_text_font: impl Into<FontSelection>) -> Self {
self.hint_text_font = Some(hint_text_font.into());
self
}

/// If true, hide the letters from view and prevent copying from the field.
#[inline]
pub fn password(mut self, password: bool) -> Self {
Expand Down Expand Up @@ -436,6 +445,7 @@ impl<'t> TextEdit<'t> {
let TextEdit {
text,
hint_text,
hint_text_font,
id,
id_source,
font_selection,
Expand Down Expand Up @@ -652,9 +662,9 @@ impl<'t> TextEdit<'t> {
if text.as_str().is_empty() && !hint_text.is_empty() {
let hint_text_color = ui.visuals().weak_text_color();
let galley = if multiline {
hint_text.into_galley(ui, Some(true), desired_inner_size.x, font_id)
hint_text.into_galley(ui, Some(true), desired_inner_size.x, hint_text_font.unwrap_or(font_id.into()))
} else {
hint_text.into_galley(ui, Some(false), f32::INFINITY, font_id)
hint_text.into_galley(ui, Some(false), f32::INFINITY, hint_text_font.unwrap_or(font_id.into()))
};
painter.galley(rect.min, galley, hint_text_color);
}
Expand Down

0 comments on commit 12607bf

Please # to comment.