Struct kas_core::event::GrabBuilder
source · pub struct GrabBuilder { /* private fields */ }Expand description
Bulider pattern (see Press::grab)
Conclude by calling Self::with_cx.
Implementations§
source§impl GrabBuilder
impl GrabBuilder
sourcepub fn with_mode(self, mode: GrabMode) -> Self
pub fn with_mode(self, mode: GrabMode) -> Self
Set grab mode (default: GrabMode::Grab)
sourcepub fn with_icon(self, icon: CursorIcon) -> Self
pub fn with_icon(self, icon: CursorIcon) -> Self
Set cursor icon (default: do not set)
sourcepub fn with_opt_icon(self, icon: Option<CursorIcon>) -> Self
pub fn with_opt_icon(self, icon: Option<CursorIcon>) -> Self
Optionally set cursor icon (default: do not set)
sourcepub fn with_cx(self, cx: &mut EventCx<'_>) -> IsUsed
pub fn with_cx(self, cx: &mut EventCx<'_>) -> IsUsed
Complete the grab, providing the EventCx
In case of an existing grab for the same source,
- If the
Iddiffers this fails (returnsUnused) - If the
MouseButtondiffers this fails (technically this is a differentsource, but simultaneous grabs of multiple mouse buttons are not supported). - If one grab is a pan and the other is not, this fails
GrabMode::Clickmay be upgraded toGrabMode::Grab- Changing from one pan mode to another is an error
- Mouse button repetitions may be increased; decreasing is an error
- A
CursorIconmay be set - The depress target is re-set to the grabbing widget
Note: error conditions are only checked in debug builds. These cases may need revision.
Auto Trait Implementations§
impl RefUnwindSafe for GrabBuilder
impl !Send for GrabBuilder
impl !Sync for GrabBuilder
impl Unpin for GrabBuilder
impl UnwindSafe for GrabBuilder
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<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
§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.