Skip to main content

Ui

Struct Ui 

Source
pub struct Ui<'ply, CustomElementData: Clone + Default + Debug = ()> { /* private fields */ }

Implementations§

Source§

impl<'ply, CustomElementData: Clone + Default + Debug> Ui<'ply, CustomElementData>

Source

pub fn element(&mut self) -> ElementBuilder<'_, CustomElementData>

Creates a new element builder for configuring and adding an element. Finalize with .children(|ui| {...}) or .empty().

Source

pub fn text( &mut self, text: &str, config_fn: impl FnOnce(&mut TextConfig) -> &mut TextConfig, )

Adds a text element to the current open element or to the root layout.

Source

pub fn scroll_offset(&self) -> Vector2

Returns the current scroll offset of the open scroll container.

Source

pub fn hovered(&self) -> bool

Returns if the current element you are creating is hovered

Source

pub fn pressed(&self) -> bool

Returns if the current element you are creating is pressed (pointer held down on it, or Enter/Space held on focused element)

Source

pub fn focused(&self) -> bool

Returns if the current element you are creating has focus.

Methods from Deref<Target = Ply<CustomElementData>>§

Source

pub fn begin(&mut self) -> Ui<'_, CustomElementData>

Starts a new frame, returning a Ui handle for building the element tree.

Source

pub fn pointer_over(&self, cfg: impl Into<Id>) -> bool

Returns true if the pointer is currently over the element with the given ID.

Source

pub fn pointer_over_ids(&self) -> Vec<Id>

Z-sorted list of element IDs that the cursor is currently over

Source

pub fn set_measure_text_function<F>(&mut self, callback: F)
where F: Fn(&str, &TextConfig) -> Dimensions + 'static,

Set the callback for text measurement

Source

pub fn max_element_count(&mut self, max_element_count: u32)

Sets the maximum number of elements that ply supports Use only if you know what you are doing or you’re getting errors from ply

Source

pub fn max_measure_text_cache_word_count(&mut self, count: u32)

Sets the capacity of the cache used for text in the measure text function Use only if you know what you are doing or you’re getting errors from ply

Source

pub fn set_debug_mode(&mut self, enable: bool)

Enables or disables the debug mode of ply

Source

pub fn is_debug_mode(&self) -> bool

Returns if debug mode is enabled

Source

pub fn set_culling(&mut self, enable: bool)

Enables or disables culling

Source

pub fn set_layout_dimensions(&mut self, dimensions: Dimensions)

Sets the dimensions of the global layout. Use if, for example the window size you render changed.

Source

pub fn pointer_state(&mut self, position: Vector2, is_down: bool)

Updates the state of the pointer for ply. Used to update scroll containers and for interactions functions.

Source

pub fn update_scroll_containers( &mut self, drag_scrolling_enabled: bool, scroll_delta: Vector2, delta_time: f32, )

Processes scroll containers using the current pointer state and scroll delta.

Source

pub fn focused_element(&self) -> Option<Id>

Returns the ID of the currently focused element, or None.

Source

pub fn set_focus(&mut self, id: impl Into<Id>)

Sets focus to the element with the given ID.

Source

pub fn clear_focus(&mut self)

Clears focus (no element is focused).

Source

pub fn get_text_value(&self, id: impl Into<Id>) -> &str

Returns the text value of a text input element. Returns an empty string if the element is not a text input or doesn’t exist.

Source

pub fn set_text_value(&mut self, id: impl Into<Id>, value: &str)

Sets the text value of a text input element.

Source

pub fn get_cursor_pos(&self, id: impl Into<Id>) -> usize

Returns the cursor position of a text input element. Returns 0 if the element is not a text input or doesn’t exist.

Source

pub fn set_cursor_pos(&mut self, id: impl Into<Id>, pos: usize)

Sets the cursor position of a text input element. Clamps to the text length and clears any selection.

Source

pub fn get_selection_range(&self, id: impl Into<Id>) -> Option<(usize, usize)>

Returns the selection range (start, end) for a text input element, or None.

Source

pub fn set_selection(&mut self, id: impl Into<Id>, anchor: usize, cursor: usize)

Sets the selection range for a text input element. anchor is where selection started, cursor is where it ends.

Source

pub fn is_pressed(&self, id: impl Into<Id>) -> bool

Returns true if the given element is currently pressed.

Source

pub fn bounding_box(&self, id: impl Into<Id>) -> Option<BoundingBox>

Returns the bounding box of the element with the given ID, if it exists.

Source

pub fn scroll_container_data( &self, id: impl Into<Id>, ) -> Option<ScrollContainerData>

Returns scroll container state for the element with the given ID, if it is a scroll container.

Source

pub fn eval(&mut self) -> Vec<RenderCommand<CustomElementData>>

Evaluate the layout and return all render commands.

Source

pub async fn show( &mut self, handle_custom_command: impl Fn(&RenderCommand<CustomElementData>), )

Evaluate the layout and render all commands.

Trait Implementations§

Source§

impl<'ply, CustomElementData: Clone + Default + Debug> Deref for Ui<'ply, CustomElementData>

Source§

type Target = Ply<CustomElementData>

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl<'ply, CustomElementData: Clone + Default + Debug> DerefMut for Ui<'ply, CustomElementData>

Source§

fn deref_mut(&mut self) -> &mut Self::Target

Mutably dereferences the value.

Auto Trait Implementations§

§

impl<'ply, CustomElementData> Freeze for Ui<'ply, CustomElementData>

§

impl<'ply, CustomElementData = ()> !RefUnwindSafe for Ui<'ply, CustomElementData>

§

impl<'ply, CustomElementData = ()> !Send for Ui<'ply, CustomElementData>

§

impl<'ply, CustomElementData = ()> !Sync for Ui<'ply, CustomElementData>

§

impl<'ply, CustomElementData> Unpin for Ui<'ply, CustomElementData>

§

impl<'ply, CustomElementData> UnsafeUnpin for Ui<'ply, CustomElementData>

§

impl<'ply, CustomElementData = ()> !UnwindSafe for Ui<'ply, CustomElementData>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> Conv for T

Source§

fn conv<T>(self) -> T
where Self: Into<T>,

Converts self into T using Into<T>. Read more
Source§

impl<T> FmtForward for T

Source§

fn fmt_binary(self) -> FmtBinary<Self>
where Self: Binary,

Causes self to use its Binary implementation when Debug-formatted.
Source§

fn fmt_display(self) -> FmtDisplay<Self>
where Self: Display,

Causes self to use its Display implementation when Debug-formatted.
Source§

fn fmt_lower_exp(self) -> FmtLowerExp<Self>
where Self: LowerExp,

Causes self to use its LowerExp implementation when Debug-formatted.
Source§

fn fmt_lower_hex(self) -> FmtLowerHex<Self>
where Self: LowerHex,

Causes self to use its LowerHex implementation when Debug-formatted.
Source§

fn fmt_octal(self) -> FmtOctal<Self>
where Self: Octal,

Causes self to use its Octal implementation when Debug-formatted.
Source§

fn fmt_pointer(self) -> FmtPointer<Self>
where Self: Pointer,

Causes self to use its Pointer implementation when Debug-formatted.
Source§

fn fmt_upper_exp(self) -> FmtUpperExp<Self>
where Self: UpperExp,

Causes self to use its UpperExp implementation when Debug-formatted.
Source§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
Source§

fn fmt_list(self) -> FmtList<Self>
where &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<S> FromSample<S> for S

Source§

fn from_sample_(s: S) -> S

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Pipe for T
where T: ?Sized,

Source§

fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
where Self: Sized,

Pipes by value. This is generally the method you want to use. Read more
Source§

fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
where R: 'a,

Borrows self and passes that borrow into the pipe function. Read more
Source§

fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R
where R: 'a,

Mutably borrows self and passes that borrow into the pipe function. Read more
Source§

fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
where Self: Borrow<B>, B: 'a + ?Sized, R: 'a,

Borrows self, then passes self.borrow() into the pipe function. Read more
Source§

fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
where Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.borrow_mut() into the pipe function. Read more
Source§

fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
where Self: AsRef<U>, U: 'a + ?Sized, R: 'a,

Borrows self, then passes self.as_ref() into the pipe function.
Source§

fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
where Self: AsMut<U>, U: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.as_mut() into the pipe function.
Source§

fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
where Self: Deref<Target = T>, T: 'a + ?Sized, R: 'a,

Borrows self, then passes self.deref() into the pipe function.
Source§

fn pipe_deref_mut<'a, T, R>( &'a mut self, func: impl FnOnce(&'a mut T) -> R, ) -> R
where Self: DerefMut<Target = T> + Deref, T: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.deref_mut() into the pipe function.
Source§

impl<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

impl<T> RoundFrom<T> for T

Source§

fn round_from(x: T) -> T

Performs the conversion.
Source§

impl<T, U> RoundInto<U> for T
where U: RoundFrom<T>,

Source§

fn round_into(self) -> U

Performs the conversion.
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> Tap for T

Source§

fn tap(self, func: impl FnOnce(&Self)) -> Self

Immutable access to a value. Read more
Source§

fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

Mutable access to a value. Read more
Source§

fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Immutable access to the Borrow<B> of a value. Read more
Source§

fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Mutable access to the BorrowMut<B> of a value. Read more
Source§

fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Immutable access to the AsRef<R> view of a value. Read more
Source§

fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Mutable access to the AsMut<R> view of a value. Read more
Source§

fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Immutable access to the Deref::Target of a value. Read more
Source§

fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Mutable access to the Deref::Target of a value. Read more
Source§

fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

Calls .tap() only in debug builds, and is erased in release builds.
Source§

fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

Calls .tap_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Calls .tap_borrow() only in debug builds, and is erased in release builds.
Source§

fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Calls .tap_borrow_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Calls .tap_ref() only in debug builds, and is erased in release builds.
Source§

fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Calls .tap_ref_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Calls .tap_deref() only in debug builds, and is erased in release builds.
Source§

fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
Source§

impl<T, U> ToSample<U> for T
where U: FromSample<T>,

Source§

fn to_sample_(self) -> U

Source§

impl<T> TryConv for T

Source§

fn try_conv<T>(self) -> Result<T, Self::Error>
where Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<S, T> Duplex<S> for T
where T: FromSample<S> + ToSample<S>,