Struct SelectionHud
pub struct SelectionHud { /* private fields */ }Expand description
A drawn SelectionHud: its bounding rect plus the hit rects of its
controls. Built fresh each frame by SelectionHud::draw; the caller either
hit-tests it directly via SelectionHud::hit or folds its buttons into its
own hit list via SelectionHud::buttons.
Implementations§
§impl SelectionHud
impl SelectionHud
pub fn draw(
scene: &mut Scene,
transform: Affine,
tr: &mut TextRenderer,
theme: &Theme,
controls: &HudControls<'_>,
placement: HudPlacement,
cursor: Point,
) -> SelectionHud
pub fn draw( scene: &mut Scene, transform: Affine, tr: &mut TextRenderer, theme: &Theme, controls: &HudControls<'_>, placement: HudPlacement, cursor: Point, ) -> SelectionHud
The bar centres on placement.anchor.x on the preferred side of the
selection, moving to the other side when that would leave
placement.bounds or cover placement.avoid. cursor drives the
hover treatment.
The control rects + their actions, for a caller that folds them into its
own hit list (the ebook records Actions this way).
pub fn hit(&self, p: Point) -> Option<HudAction>
pub fn hit(&self, p: Point) -> Option<HudAction>
Hit-test a pointer against the drawn controls (topmost/last wins).
pub fn is_shown(&self) -> bool
Trait Implementations§
§impl Clone for SelectionHud
impl Clone for SelectionHud
§fn clone(&self) -> SelectionHud
fn clone(&self) -> SelectionHud
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read more§impl Debug for SelectionHud
impl Debug for SelectionHud
§impl Default for SelectionHud
impl Default for SelectionHud
§fn default() -> SelectionHud
fn default() -> SelectionHud
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for SelectionHud
impl RefUnwindSafe for SelectionHud
impl Send for SelectionHud
impl Sync for SelectionHud
impl Unpin for SelectionHud
impl UnsafeUnpin for SelectionHud
impl UnwindSafe for SelectionHud
Blanket Implementations§
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<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
Converts
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>
Converts
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 more§impl<T> NoneValue for Twhere
T: Default,
impl<T> NoneValue for Twhere
T: Default,
type NoneType = T
§fn null_value() -> T
fn null_value() -> T
The none-equivalent value.