Skip to main content

ScaleRotateGestureHandler

Struct ScaleRotateGestureHandler 

Source
#[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: CachedRenderingData

FIXME: remove this

Implementations§

Source§

impl ScaleRotateGestureHandler

Source

pub const FIELD_OFFSETS: ScaleRotateGestureHandlerFieldsOffsets = ScaleRotateGestureHandlerFieldsOffsets

Return a zero-sized helper whose methods return field offsets.

Source§

impl ScaleRotateGestureHandler

Source

pub fn enabled(self: Pin<&Self>) -> bool

Source

pub fn active(self: Pin<&Self>) -> bool

Source

pub fn scale(self: Pin<&Self>) -> f32

Source

pub fn rotation(self: Pin<&Self>) -> f32

Source

pub fn center(self: Pin<&Self>) -> LogicalPosition

Trait Implementations§

Source§

impl Default for ScaleRotateGestureHandler

Source§

fn default() -> ScaleRotateGestureHandler

Returns the “default value” for a type. Read more
Source§

impl HasStaticVTable<ItemVTable> for ScaleRotateGestureHandler

Source§

fn static_vtable() -> &'static ItemVTable

Safety: must be a valid VTable for Self
Source§

impl Item for ScaleRotateGestureHandler

Source§

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.
Source§

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

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

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 more
Source§

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

Called on the parents of the focused item, allowing for global shortcuts and similar overrides of the default actions.
Source§

fn key_event( self: Pin<&Self>, _event: &InternalKeyEvent, _window_adapter: &Rc<dyn WindowAdapter>, _self_rc: &ItemRc, ) -> KeyEventResult

Source§

fn focus_event( self: Pin<&Self>, _: &FocusEvent, _window_adapter: &Rc<dyn WindowAdapter>, _self_rc: &ItemRc, ) -> FocusEventResult

Source§

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

Returns the rendering bounding rect for that particular item in the parent’s item coordinate (same coordinate system as the geometry)
Source§

fn clips_children(self: Pin<&Self>) -> bool

Source§

impl ItemConsts for ScaleRotateGestureHandler

Source§

const cached_rendering_data_offset: FieldOffset<Self, CachedRenderingData>

offset in bytes from the *const ItemImpl. usize::MAX means None
Source§

impl<'__dummy_lifetime> Unpin for ScaleRotateGestureHandler
where __MustNotImplUnpin<'__dummy_lifetime>: Unpin,

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.