pub struct InputBox {Show 16 fields
pub rect: Rect,
pub text: String,
pub text_size: f32,
pub text_color: ColorLinPremul,
pub placeholder: Option<String>,
pub text_align: TextAlign,
pub focused: bool,
pub disabled: bool,
pub bg_color: ColorLinPremul,
pub border_color: ColorLinPremul,
pub border_width: f32,
pub corner_radius: f32,
pub input_type: String,
pub validation_error: Option<String>,
pub cursor_position: usize,
pub focus_id: FocusId,
/* private fields */
}Expand description
A single-line text input with cursor, placeholder, and basic editing.
This is a simplified standalone version that stores text as a String
and tracks a cursor byte position. It does not depend on external
text-layout crates, making it suitable for lightweight UI toolkits.
Fields§
§rect: RectBounding rect of the input field.
text: StringCurrent text content.
text_size: f32Font size in logical pixels.
text_color: ColorLinPremulText color.
placeholder: Option<String>Placeholder text shown when empty.
text_align: TextAlignText alignment within the field.
focused: boolWhether this input is focused.
disabled: boolWhether this input is disabled.
bg_color: ColorLinPremulBackground color.
border_color: ColorLinPremulBorder color.
border_width: f32Border width.
corner_radius: f32Corner radius.
input_type: StringInput type hint (e.g. “text”, “password”, “email”).
validation_error: Option<String>Validation error message.
cursor_position: usizeCursor byte position in text.
focus_id: FocusIdFocus identifier.
Implementations§
Source§impl InputBox
impl InputBox
Sourcepub fn set_text(&mut self, text: impl Into<String>)
pub fn set_text(&mut self, text: impl Into<String>)
Set the text content and move cursor to the end.
Sourcepub fn set_placeholder(&mut self, placeholder: impl Into<String>)
pub fn set_placeholder(&mut self, placeholder: impl Into<String>)
Set the placeholder text.
Sourcepub fn insert_text(&mut self, s: &str)
pub fn insert_text(&mut self, s: &str)
Insert text at the current cursor position.
Sourcepub fn delete_char_before(&mut self)
pub fn delete_char_before(&mut self)
Delete one character before the cursor (backspace).
Sourcepub fn delete_char_after(&mut self)
pub fn delete_char_after(&mut self)
Delete one character after the cursor (delete key).
Sourcepub fn move_cursor_left(&mut self)
pub fn move_cursor_left(&mut self)
Move cursor left by one character.
Sourcepub fn move_cursor_right(&mut self)
pub fn move_cursor_right(&mut self)
Move cursor right by one character.
Sourcepub fn move_cursor_home(&mut self)
pub fn move_cursor_home(&mut self)
Move cursor to the beginning.
Sourcepub fn move_cursor_end(&mut self)
pub fn move_cursor_end(&mut self)
Move cursor to the end.
Trait Implementations§
Source§impl Element for InputBox
impl Element for InputBox
Source§impl EventHandler for InputBox
impl EventHandler for InputBox
Source§fn handle_mouse_click(&mut self, event: &MouseClickEvent) -> EventResult
fn handle_mouse_click(&mut self, event: &MouseClickEvent) -> EventResult
Handled if the event was consumed.Source§fn handle_keyboard(&mut self, event: &KeyboardEvent) -> EventResult
fn handle_keyboard(&mut self, event: &KeyboardEvent) -> EventResult
Handled if the event was consumed.Source§fn handle_mouse_move(&mut self, _event: &MouseMoveEvent) -> EventResult
fn handle_mouse_move(&mut self, _event: &MouseMoveEvent) -> EventResult
Source§fn handle_scroll(&mut self, _event: &ScrollEvent) -> EventResult
fn handle_scroll(&mut self, _event: &ScrollEvent) -> EventResult
Source§fn is_focused(&self) -> bool
fn is_focused(&self) -> bool
Source§fn set_focused(&mut self, focused: bool)
fn set_focused(&mut self, focused: bool)
Auto Trait Implementations§
impl Freeze for InputBox
impl RefUnwindSafe for InputBox
impl Send for InputBox
impl Sync for InputBox
impl Unpin for InputBox
impl UnsafeUnpin for InputBox
impl UnwindSafe for InputBox
Blanket Implementations§
Source§impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
Source§fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
Source§fn adapt_into(self) -> D
fn adapt_into(self) -> D
Source§impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
Source§fn arrays_from(colors: C) -> T
fn arrays_from(colors: C) -> T
Source§impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
Source§fn arrays_into(self) -> C
fn arrays_into(self) -> C
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
T: FromCam16Unclamped<WpParam, U>,
impl<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
T: FromCam16Unclamped<WpParam, U>,
Source§type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
parameters when converting.Source§fn cam16_into_unclamped(
self,
parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>,
) -> T
fn cam16_into_unclamped( self, parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>, ) -> T
self into C, using the provided parameters.Source§impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
Source§fn components_from(colors: C) -> T
fn components_from(colors: C) -> T
Source§impl<T> FromAngle<T> for T
impl<T> FromAngle<T> for T
Source§fn from_angle(angle: T) -> T
fn from_angle(angle: T) -> T
angle.Source§impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
Source§fn from_stimulus(other: U) -> T
fn from_stimulus(other: U) -> T
other into Self, while performing the appropriate scaling,
rounding and clamping.Source§impl<T, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
impl<T, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
Source§fn into_angle(self) -> U
fn into_angle(self) -> U
T.Source§impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
T: Cam16FromUnclamped<WpParam, U>,
impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
T: Cam16FromUnclamped<WpParam, U>,
Source§type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
parameters when converting.Source§fn into_cam16_unclamped(
self,
parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>,
) -> T
fn into_cam16_unclamped( self, parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>, ) -> T
self into C, using the provided parameters.Source§impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
Source§fn into_color(self) -> U
fn into_color(self) -> U
Source§impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
Source§fn into_color_unclamped(self) -> U
fn into_color_unclamped(self) -> U
Source§impl<T> IntoStimulus<T> for T
impl<T> IntoStimulus<T> for T
Source§fn into_stimulus(self) -> T
fn into_stimulus(self) -> T
self into T, while performing the appropriate scaling,
rounding and clamping.Source§impl<T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
impl<T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
Source§type Error = <C as TryFromComponents<T>>::Error
type Error = <C as TryFromComponents<T>>::Error
try_into_colors fails to cast.Source§fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
Source§impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
Source§fn try_into_color(self) -> Result<U, OutOfBounds<U>>
fn try_into_color(self) -> Result<U, OutOfBounds<U>>
OutOfBounds error is returned which contains
the unclamped color. Read more