pub struct Modal {Show 17 fields
pub rect: Rect,
pub panel_width: f32,
pub panel_height: f32,
pub title: String,
pub content: String,
pub buttons: Vec<ModalButton>,
pub overlay_color: ColorLinPremul,
pub panel_bg: ColorLinPremul,
pub panel_border_color: ColorLinPremul,
pub title_color: ColorLinPremul,
pub content_color: ColorLinPremul,
pub title_size: f32,
pub content_size: f32,
pub button_label_size: f32,
pub panel_radius: f32,
pub visible: bool,
pub focus_id: FocusId,
}Expand description
An overlay dialog centered on the screen with title, content, and action buttons.
Fields§
§rect: RectOverall bounding rect (typically the full viewport).
panel_width: f32Panel width.
panel_height: f32Panel height.
title: StringTitle text.
content: StringContent/body text (newlines supported).
Action buttons rendered at the bottom of the panel.
overlay_color: ColorLinPremulSemi-transparent overlay color.
panel_bg: ColorLinPremulPanel background.
panel_border_color: ColorLinPremulPanel border color.
title_color: ColorLinPremulTitle text color.
content_color: ColorLinPremulContent text color.
title_size: f32Title font size.
content_size: f32Content font size.
Button label font size.
panel_radius: f32Panel corner radius.
visible: boolWhether the modal is currently visible.
focus_id: FocusIdFocus identifier.
Implementations§
Source§impl Modal
impl Modal
Sourcepub fn new(
viewport: Rect,
title: impl Into<String>,
content: impl Into<String>,
buttons: Vec<ModalButton>,
) -> Self
pub fn new( viewport: Rect, title: impl Into<String>, content: impl Into<String>, buttons: Vec<ModalButton>, ) -> Self
Create a modal with default styling.
Sourcepub fn panel_rect(&self) -> Rect
pub fn panel_rect(&self) -> Rect
Compute the centered panel rectangle.
Close button rectangle (top-right of panel).
Compute rectangles for all action buttons (centered at bottom).
Sourcepub fn handle_click(&self, x: f32, y: f32) -> ModalClickResult
pub fn handle_click(&self, x: f32, y: f32) -> ModalClickResult
Handle a click and return what was hit.
Trait Implementations§
Source§impl Element for Modal
impl Element for Modal
Source§impl EventHandler for Modal
impl EventHandler for Modal
Source§fn handle_mouse_click(&mut self, event: &MouseClickEvent) -> EventResult
fn handle_mouse_click(&mut self, event: &MouseClickEvent) -> EventResult
Handle a mouse click event. Returns
Handled if the event was consumed.Source§fn handle_keyboard(&mut self, event: &KeyboardEvent) -> EventResult
fn handle_keyboard(&mut self, event: &KeyboardEvent) -> EventResult
Handle a keyboard event. Returns
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
Handle a mouse-move event.
Source§fn handle_scroll(&mut self, _event: &ScrollEvent) -> EventResult
fn handle_scroll(&mut self, _event: &ScrollEvent) -> EventResult
Handle a scroll event.
Source§fn is_focused(&self) -> bool
fn is_focused(&self) -> bool
Whether this element currently has focus.
Source§fn set_focused(&mut self, _focused: bool)
fn set_focused(&mut self, _focused: bool)
Set focus state for this element.
Auto Trait Implementations§
impl Freeze for Modal
impl RefUnwindSafe for Modal
impl Send for Modal
impl Sync for Modal
impl Unpin for Modal
impl UnsafeUnpin for Modal
impl UnwindSafe for Modal
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>,
Convert the source color to the destination color using the specified
method.
Source§fn adapt_into(self) -> D
fn adapt_into(self) -> D
Convert the source color to the destination color using the bradford
method by default.
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
Cast a collection of colors into a collection of arrays.
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
Cast this collection of arrays into a collection of colors.
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
Mutably borrows from an owned value. Read more
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
The number type that’s used in
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
Converts
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
Cast a collection of colors into a collection of color components.
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
Performs a conversion from
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
Converts
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
Performs a conversion into
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
The number type that’s used in
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
Converts
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
Convert into T with values clamped to the color defined bounds Read more
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
Convert into T. The resulting color might be invalid in its color space Read more
Source§impl<T> IntoStimulus<T> for T
impl<T> IntoStimulus<T> for T
Source§fn into_stimulus(self) -> T
fn into_stimulus(self) -> T
Converts
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
The error for when
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>
Try to cast this collection of color components into a collection of
colors. Read more
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>>
Convert into T, returning ok if the color is inside of its defined
range, otherwise an
OutOfBounds error is returned which contains
the unclamped color. Read moreSource§impl<C, U> UintsFrom<C> for Uwhere
C: IntoUints<U>,
impl<C, U> UintsFrom<C> for Uwhere
C: IntoUints<U>,
Source§fn uints_from(colors: C) -> U
fn uints_from(colors: C) -> U
Cast a collection of colors into a collection of unsigned integers.
Source§impl<C, U> UintsInto<C> for Uwhere
C: FromUints<U>,
impl<C, U> UintsInto<C> for Uwhere
C: FromUints<U>,
Source§fn uints_into(self) -> C
fn uints_into(self) -> C
Cast this collection of unsigned integers into a collection of colors.