#[repr(C)]pub struct ScaleRotateGestureHandler {
pub enabled: Property<bool>,
pub active: Property<bool>,
pub scale: Property<f32>,
pub rotation: Property<f32>,
pub center: Property<LogicalPosition>,
pub started: Callback<VoidArg>,
pub updated: Callback<VoidArg>,
pub ended: Callback<VoidArg>,
pub cancelled: Callback<VoidArg>,
pub cached_rendering_data: CachedRenderingData,
}Expand description
The implementation of the ScaleRotateGestureHandler element.
Provides an API surface for platform-recognized pinch gesture events.
Receives MouseEvent::PinchGesture events via the normal mouse event
tree-walk and exposes cumulative scale, center position, and lifecycle callbacks.
Fields§
§enabled: Property<bool>§active: Property<bool>§scale: Property<f32>Cumulative scale factor relative to gesture start. Always 1.0 when the gesture starts, then updated as the gesture progresses (e.g., 2.0 means doubled, 0.5 means halved).
rotation: Property<f32>Cumulative rotation in degrees relative to gesture start. Always 0.0 when the gesture starts.
center: Property<LogicalPosition>§started: Callback<VoidArg>§updated: Callback<VoidArg>§ended: Callback<VoidArg>§cancelled: Callback<VoidArg>§cached_rendering_data: CachedRenderingDataFIXME: remove this
Implementations§
Source§impl ScaleRotateGestureHandler
impl ScaleRotateGestureHandler
Sourcepub const FIELD_OFFSETS: ScaleRotateGestureHandlerFieldsOffsets = ScaleRotateGestureHandlerFieldsOffsets
pub const FIELD_OFFSETS: ScaleRotateGestureHandlerFieldsOffsets = ScaleRotateGestureHandlerFieldsOffsets
Return a zero-sized helper whose methods return field offsets.
Trait Implementations§
Source§impl Default for ScaleRotateGestureHandler
impl Default for ScaleRotateGestureHandler
Source§fn default() -> ScaleRotateGestureHandler
fn default() -> ScaleRotateGestureHandler
Returns the “default value” for a type. Read more
Source§impl HasStaticVTable<ItemVTable> for ScaleRotateGestureHandler
impl HasStaticVTable<ItemVTable> for ScaleRotateGestureHandler
Source§fn static_vtable() -> &'static ItemVTable
fn static_vtable() -> &'static ItemVTable
Safety: must be a valid VTable for Self
Source§impl Item for ScaleRotateGestureHandler
impl Item for ScaleRotateGestureHandler
Source§fn init(self: Pin<&Self>, _self_rc: &ItemRc)
fn init(self: Pin<&Self>, _self_rc: &ItemRc)
This function is called by the run-time after the memory for the item
has been allocated and initialized. It will be called before any user specified
bindings are set.
fn deinit(self: Pin<&Self>, _window_adapter: &Rc<dyn WindowAdapter>)
Source§fn layout_info(
self: Pin<&Self>,
_orientation: Orientation,
_cross_axis_constraint: Coord,
_window_adapter: &Rc<dyn WindowAdapter>,
_self_rc: &ItemRc,
) -> LayoutInfo
fn layout_info( self: Pin<&Self>, _orientation: Orientation, _cross_axis_constraint: Coord, _window_adapter: &Rc<dyn WindowAdapter>, _self_rc: &ItemRc, ) -> LayoutInfo
We would need max/min/preferred size, and all layout info.
cross_axis_constraint is the available width when querying vertical
layout info, enabling height-for-width (Text word-wrap, Image aspect
ratio). Negative values mean unconstrained.Source§fn input_event_filter_before_children(
self: Pin<&Self>,
event: &MouseEvent,
_window_adapter: &Rc<dyn WindowAdapter>,
_self_rc: &ItemRc,
_: &mut MouseCursor,
) -> InputEventFilterResult
fn input_event_filter_before_children( self: Pin<&Self>, event: &MouseEvent, _window_adapter: &Rc<dyn WindowAdapter>, _self_rc: &ItemRc, _: &mut MouseCursor, ) -> InputEventFilterResult
Event handler for mouse and touch event. This function is called before being called on children.
Then, depending on the return value, it is called for the children, and their children, then
Self::input_event is called on the children, and finally Self::input_event is called
on this item again. Read moreSource§fn input_event(
self: Pin<&Self>,
event: &MouseEvent,
_window_adapter: &Rc<dyn WindowAdapter>,
_self_rc: &ItemRc,
_: &mut MouseCursor,
) -> InputEventResult
fn input_event( self: Pin<&Self>, event: &MouseEvent, _window_adapter: &Rc<dyn WindowAdapter>, _self_rc: &ItemRc, _: &mut MouseCursor, ) -> InputEventResult
Handle input event for mouse and touch event
Source§fn capture_key_event(
self: Pin<&Self>,
_: &InternalKeyEvent,
_window_adapter: &Rc<dyn WindowAdapter>,
_self_rc: &ItemRc,
) -> KeyEventResult
fn capture_key_event( self: Pin<&Self>, _: &InternalKeyEvent, _window_adapter: &Rc<dyn WindowAdapter>, _self_rc: &ItemRc, ) -> KeyEventResult
Called on the parents of the focused item, allowing for global shortcuts and similar
overrides of the default actions.
fn key_event( self: Pin<&Self>, _event: &InternalKeyEvent, _window_adapter: &Rc<dyn WindowAdapter>, _self_rc: &ItemRc, ) -> KeyEventResult
fn focus_event( self: Pin<&Self>, _: &FocusEvent, _window_adapter: &Rc<dyn WindowAdapter>, _self_rc: &ItemRc, ) -> FocusEventResult
fn render( self: Pin<&Self>, _backend: &mut &'_ mut dyn ItemRenderer, _self_rc: &ItemRc, _size: LogicalSize, ) -> RenderingResult
Source§fn bounding_rect(
self: Pin<&Self>,
_window_adapter: &Rc<dyn WindowAdapter>,
_self_rc: &ItemRc,
geometry: LogicalRect,
) -> LogicalRect
fn bounding_rect( self: Pin<&Self>, _window_adapter: &Rc<dyn WindowAdapter>, _self_rc: &ItemRc, geometry: LogicalRect, ) -> LogicalRect
Returns the rendering bounding rect for that particular item in the parent’s item coordinate
(same coordinate system as the geometry)
fn clips_children(self: Pin<&Self>) -> bool
Source§impl ItemConsts for ScaleRotateGestureHandler
impl ItemConsts for ScaleRotateGestureHandler
Source§const cached_rendering_data_offset: FieldOffset<Self, CachedRenderingData>
const cached_rendering_data_offset: FieldOffset<Self, CachedRenderingData>
offset in bytes from the *const ItemImpl.
usize::MAX means None
impl<'__dummy_lifetime> Unpin for ScaleRotateGestureHandlerwhere
__MustNotImplUnpin<'__dummy_lifetime>: Unpin,
Auto Trait Implementations§
impl !Freeze for ScaleRotateGestureHandler
impl !RefUnwindSafe for ScaleRotateGestureHandler
impl !Send for ScaleRotateGestureHandler
impl !Sync for ScaleRotateGestureHandler
impl !UnsafeUnpin for ScaleRotateGestureHandler
impl !UnwindSafe for ScaleRotateGestureHandler
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