pub struct ClipperState<W = usize>{
pub area: Rect,
pub widget_area: Rect,
pub layout: Rc<RefCell<GenericLayout<W>>>,
pub hscroll: ScrollState,
pub vscroll: ScrollState,
pub container: FocusFlag,
pub non_exhaustive: NonExhaustive,
/* private fields */
}Expand description
Widget state.
Fields§
§area: Rectread only renewed for each render.
widget_area: RectArea inside the border. read only renewed for each render.
layout: Rc<RefCell<GenericLayout<W>>>Page layout. read only renewed for each render.
hscroll: ScrollStateHorizontal scroll read+write
vscroll: ScrollStateVertical scroll read+write
container: FocusFlagThis widget has no focus of its own, but this flag can be used to set a container state.
non_exhaustive: NonExhaustiveOnly construct with ..Default::default().
Implementations§
Source§impl<W> ClipperState<W>
impl<W> ClipperState<W>
pub fn new() -> Self
pub fn named(name: &str) -> Self
Sourcepub fn valid_layout(&self, size: Size) -> bool
pub fn valid_layout(&self, size: Size) -> bool
Layout needs to change?
Sourcepub fn set_layout(&mut self, layout: GenericLayout<W>)
pub fn set_layout(&mut self, layout: GenericLayout<W>)
Set the layout.
Sourcepub fn layout(&self) -> Ref<'_, GenericLayout<W>>
pub fn layout(&self) -> Ref<'_, GenericLayout<W>>
Layout.
Source§impl<W> ClipperState<W>
impl<W> ClipperState<W>
pub fn vertical_offset(&self) -> usize
pub fn set_vertical_offset(&mut self, offset: usize) -> bool
pub fn vertical_page_len(&self) -> usize
pub fn horizontal_offset(&self) -> usize
pub fn set_horizontal_offset(&mut self, offset: usize) -> bool
pub fn horizontal_page_len(&self) -> usize
pub fn horizontal_scroll_to(&mut self, pos: usize) -> bool
pub fn vertical_scroll_to(&mut self, pos: usize) -> bool
pub fn scroll_up(&mut self, delta: usize) -> bool
pub fn scroll_down(&mut self, delta: usize) -> bool
pub fn scroll_left(&mut self, delta: usize) -> bool
pub fn scroll_right(&mut self, delta: usize) -> bool
Source§impl ClipperState<usize>
impl ClipperState<usize>
Sourcepub fn focus_first(&self, focus: &Focus) -> bool
pub fn focus_first(&self, focus: &Focus) -> bool
Focus the first widget on the active page. This assumes the usize-key is a widget id.
Sourcepub fn show_focused(&mut self, focus: &Focus) -> bool
pub fn show_focused(&mut self, focus: &Focus) -> bool
Show the page with the focused widget. This assumes the usize-key is a widget id. Does nothing if none of the widgets has the focus.
You must use the boolean to trigger a repaint.
Source§impl ClipperState<FocusFlag>
impl ClipperState<FocusFlag>
Sourcepub fn focus_first(&self, focus: &Focus) -> bool
pub fn focus_first(&self, focus: &Focus) -> bool
Focus the first widget on the active page.
Sourcepub fn show_focused(&mut self, focus: &Focus) -> bool
pub fn show_focused(&mut self, focus: &Focus) -> bool
Show the page with the focused widget. Does nothing if none of the widgets has the focus.
Trait Implementations§
Source§impl<W> Clone for ClipperState<W>
impl<W> Clone for ClipperState<W>
Source§impl<W> Debug for ClipperState<W>
impl<W> Debug for ClipperState<W>
Source§impl<W> Default for ClipperState<W>
impl<W> Default for ClipperState<W>
Source§impl<W> HandleEvent<Event, MouseOnly, Outcome> for ClipperState<W>
impl<W> HandleEvent<Event, MouseOnly, Outcome> for ClipperState<W>
Source§impl<W> HandleEvent<Event, Regular, Outcome> for ClipperState<W>
impl<W> HandleEvent<Event, Regular, Outcome> for ClipperState<W>
Source§impl<W> HasFocus for ClipperState<W>
impl<W> HasFocus for ClipperState<W>
Source§fn build(&self, _builder: &mut FocusBuilder)
fn build(&self, _builder: &mut FocusBuilder)
Source§fn is_focused(&self) -> bool
fn is_focused(&self) -> bool
Source§fn lost_focus(&self) -> bool
fn lost_focus(&self) -> bool
Source§fn gained_focus(&self) -> bool
fn gained_focus(&self) -> bool
Auto Trait Implementations§
impl<W = usize> !Freeze for ClipperState<W>
impl<W = usize> !RefUnwindSafe for ClipperState<W>
impl<W = usize> !Send for ClipperState<W>
impl<W = usize> !Sync for ClipperState<W>
impl<W> Unpin for ClipperState<W>
impl<W = usize> !UnwindSafe for ClipperState<W>
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§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