Struct kas_core::layout::RowPositionSolver
source · pub struct RowPositionSolver<D: Directional> { /* private fields */ }
Expand description
Allows efficient implementations of draw
/ event handlers based on the
layout representation.
This is only applicable where child widgets are contained in a slice of type
W: Widget
(which may be Box<dyn Widget>
). In other cases, the naive
implementation (test all items) must be used.
Implementations§
source§impl<D: Directional> RowPositionSolver<D>
impl<D: Directional> RowPositionSolver<D>
sourcepub fn find_child_index<W: Widget>(
self,
widgets: &[W],
coord: Coord
) -> Option<usize>
pub fn find_child_index<W: Widget>(
self,
widgets: &[W],
coord: Coord
) -> Option<usize>
Find the child containing the given coordinates
Returns None
when the coordinates lie within the margin area or
outside of the parent widget.
Examples found in repository?
src/layout/row_solver.rs (line 297)
296 297 298 299 300 301 302 303 304 305 306 307 308
pub fn find_child<W: Widget>(self, widgets: &[W], coord: Coord) -> Option<&W> {
self.find_child_index(widgets, coord).map(|i| &widgets[i])
}
/// Find the child containing the given coordinates
///
/// Returns `None` when the coordinates lie within the margin area or
/// outside of the parent widget.
#[inline]
pub fn find_child_mut<W: Widget>(self, widgets: &mut [W], coord: Coord) -> Option<&mut W> {
self.find_child_index(widgets, coord)
.map(|i| &mut widgets[i])
}
sourcepub fn find_child<W: Widget>(self, widgets: &[W], coord: Coord) -> Option<&W>
pub fn find_child<W: Widget>(self, widgets: &[W], coord: Coord) -> Option<&W>
Find the child containing the given coordinates
Returns None
when the coordinates lie within the margin area or
outside of the parent widget.
sourcepub fn find_child_mut<W: Widget>(
self,
widgets: &mut [W],
coord: Coord
) -> Option<&mut W>
pub fn find_child_mut<W: Widget>(
self,
widgets: &mut [W],
coord: Coord
) -> Option<&mut W>
Find the child containing the given coordinates
Returns None
when the coordinates lie within the margin area or
outside of the parent widget.
Trait Implementations§
source§impl<D: Clone + Directional> Clone for RowPositionSolver<D>
impl<D: Clone + Directional> Clone for RowPositionSolver<D>
source§fn clone(&self) -> RowPositionSolver<D>
fn clone(&self) -> RowPositionSolver<D>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl<D: Debug + Directional> Debug for RowPositionSolver<D>
impl<D: Debug + Directional> Debug for RowPositionSolver<D>
impl<D: Copy + Directional> Copy for RowPositionSolver<D>
Auto Trait Implementations§
impl<D> RefUnwindSafe for RowPositionSolver<D>where
D: RefUnwindSafe,
impl<D> Send for RowPositionSolver<D>where
D: Send,
impl<D> Sync for RowPositionSolver<D>where
D: Sync,
impl<D> Unpin for RowPositionSolver<D>where
D: Unpin,
impl<D> UnwindSafe for RowPositionSolver<D>where
D: UnwindSafe,
Blanket Implementations§
source§impl<S, T> CastApprox<T> for Swhere
T: ConvApprox<S>,
impl<S, T> CastApprox<T> for Swhere
T: ConvApprox<S>,
source§fn try_cast_approx(self) -> Result<T, Error>
fn try_cast_approx(self) -> Result<T, Error>
source§fn cast_approx(self) -> T
fn cast_approx(self) -> T
source§impl<S, T> CastFloat<T> for Swhere
T: ConvFloat<S>,
impl<S, T> CastFloat<T> for Swhere
T: ConvFloat<S>,
source§fn cast_trunc(self) -> T
fn cast_trunc(self) -> T
Cast to integer, truncating Read more
source§fn cast_nearest(self) -> T
fn cast_nearest(self) -> T
Cast to the nearest integer Read more
source§fn cast_floor(self) -> T
fn cast_floor(self) -> T
Cast the floor to an integer Read more