Struct i_slint_core::items::TouchArea
source · [−]#[repr(C)]pub struct TouchArea {Show 16 fields
pub x: Property<LogicalLength>,
pub y: Property<LogicalLength>,
pub width: Property<LogicalLength>,
pub height: Property<LogicalLength>,
pub enabled: Property<bool>,
pub pressed: Property<bool>,
pub has_hover: Property<bool>,
pub pressed_x: Property<LogicalLength>,
pub pressed_y: Property<LogicalLength>,
pub mouse_x: Property<LogicalLength>,
pub mouse_y: Property<LogicalLength>,
pub mouse_cursor: Property<MouseCursor>,
pub clicked: Callback<VoidArg>,
pub moved: Callback<VoidArg>,
pub pointer_event: Callback<(PointerEvent,)>,
pub cached_rendering_data: CachedRenderingData,
/* private fields */
}Expand description
The implementation of the TouchArea element
Fields
x: Property<LogicalLength>y: Property<LogicalLength>width: Property<LogicalLength>height: Property<LogicalLength>enabled: Property<bool>pressed: Property<bool>FIXME: We should annotate this as an “output” property.
has_hover: Property<bool>pressed_x: Property<LogicalLength>FIXME: there should be just one property for the point instead of two.
Could even be merged with pressed in a Property<Option<Point>> (of course, in the
implementation item only, for the compiler it would stay separate properties)
pressed_y: Property<LogicalLength>mouse_x: Property<LogicalLength>FIXME: should maybe be as parameter to the mouse event instead. Or at least just one property
mouse_y: Property<LogicalLength>mouse_cursor: Property<MouseCursor>clicked: Callback<VoidArg>moved: Callback<VoidArg>pointer_event: Callback<(PointerEvent,)>cached_rendering_data: CachedRenderingDataFIXME: remove this
Implementations
sourceimpl TouchArea
impl TouchArea
sourcepub const FIELD_OFFSETS: TouchAreaFieldsOffsets = _
pub const FIELD_OFFSETS: TouchAreaFieldsOffsets = _
Return a struct containing the offset of for the fields of this struct
sourceimpl TouchArea
impl TouchArea
pub fn x(self: Pin<&Self>) -> LogicalLength
pub fn y(self: Pin<&Self>) -> LogicalLength
pub fn width(self: Pin<&Self>) -> LogicalLength
pub fn height(self: Pin<&Self>) -> LogicalLength
pub fn enabled(self: Pin<&Self>) -> bool
pub fn pressed(self: Pin<&Self>) -> bool
pub fn has_hover(self: Pin<&Self>) -> bool
pub fn pressed_x(self: Pin<&Self>) -> LogicalLength
pub fn pressed_y(self: Pin<&Self>) -> LogicalLength
pub fn mouse_x(self: Pin<&Self>) -> LogicalLength
pub fn mouse_y(self: Pin<&Self>) -> LogicalLength
pub fn mouse_cursor(self: Pin<&Self>) -> MouseCursor
Trait Implementations
sourceimpl HasStaticVTable<ItemVTable> for TouchArea
impl HasStaticVTable<ItemVTable> for TouchArea
sourcefn static_vtable() -> &'static ItemVTable
fn static_vtable() -> &'static ItemVTable
Safety: must be a valid VTable for Self
sourceimpl Item for TouchArea
impl Item for TouchArea
sourcefn init(self: Pin<&Self>, _window_adapter: &Rc<dyn WindowAdapter>)
fn init(self: Pin<&Self>, _window_adapter: &Rc<dyn WindowAdapter>)
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. Read more
sourcefn geometry(self: Pin<&Self>) -> LogicalRect
fn geometry(self: Pin<&Self>) -> LogicalRect
Returns the geometry of this item (relative to its parent item)
sourcefn layout_info(
self: Pin<&Self>,
_orientation: Orientation,
_window_adapter: &Rc<dyn WindowAdapter>
) -> LayoutInfo
fn layout_info(
self: Pin<&Self>,
_orientation: Orientation,
_window_adapter: &Rc<dyn WindowAdapter>
) -> LayoutInfo
We would need max/min/preferred size, and all layout info
sourcefn input_event_filter_before_children(
self: Pin<&Self>,
event: MouseEvent,
window_adapter: &Rc<dyn WindowAdapter>,
_self_rc: &ItemRc
) -> InputEventFilterResult
fn input_event_filter_before_children(
self: Pin<&Self>,
event: MouseEvent,
window_adapter: &Rc<dyn WindowAdapter>,
_self_rc: &ItemRc
) -> 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 moresourcefn input_event(
self: Pin<&Self>,
event: MouseEvent,
window_adapter: &Rc<dyn WindowAdapter>,
_self_rc: &ItemRc
) -> InputEventResult
fn input_event(
self: Pin<&Self>,
event: MouseEvent,
window_adapter: &Rc<dyn WindowAdapter>,
_self_rc: &ItemRc
) -> InputEventResult
Handle input event for mouse and touch event
fn key_event(
self: Pin<&Self>,
_: &KeyEvent,
_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
) -> RenderingResult
sourceimpl ItemConsts for TouchArea
impl ItemConsts for TouchArea
sourceconst cached_rendering_data_offset: FieldOffset<TouchArea, CachedRenderingData> = _
const cached_rendering_data_offset: FieldOffset<TouchArea, CachedRenderingData> = _
offset in bytes from the *const ItemImpl.
isize::MAX means None Read more
impl<'__dummy_lifetime> Unpin for TouchAreawhere
__MustNotImplUnpin<'__dummy_lifetime>: Unpin,
Auto Trait Implementations
impl !RefUnwindSafe for TouchArea
impl !Send for TouchArea
impl !Sync for TouchArea
impl !UnwindSafe for TouchArea
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more