wlmaker
Loading...
Searching...
No Matches
Public Attributes | List of all members
_wlmtk_element_vmt_t Struct Reference

#include <element.h>

Public Attributes

void(* destroy )(wlmtk_element_t *element_ptr)
 
struct wlr_scene_node *(* create_scene_node )(wlmtk_element_t *element_ptr, struct wlr_scene_tree *wlr_scene_tree_ptr)
 
void(* get_dimensions )(wlmtk_element_t *element_ptr, int *x1_ptr, int *y1_ptr, int *x2_ptr, int *y2_ptr)
 
void(* get_pointer_area )(wlmtk_element_t *element_ptr, int *left_ptr, int *top_ptr, int *right_ptr, int *bottom_ptr)
 
bool(* pointer_motion )(wlmtk_element_t *element_ptr, wlmtk_pointer_motion_event_t *motion_event_ptr)
 
bool(* pointer_button )(wlmtk_element_t *element_ptr, const wlmtk_button_event_t *button_event_ptr)
 
bool(* pointer_axis )(wlmtk_element_t *element_ptr, struct wlr_pointer_axis_event *wlr_pointer_axis_event_ptr)
 
void(* pointer_grab_cancel )(wlmtk_element_t *element_ptr)
 
void(* keyboard_blur )(wlmtk_element_t *element_ptr)
 
bool(* keyboard_event )(wlmtk_element_t *element_ptr, struct wlr_keyboard_key_event *wlr_keyboard_key_event_ptr, const xkb_keysym_t *key_syms, size_t key_syms_count, uint32_t modifiers)
 

Detailed Description

Virtual method table for the element.

Member Data Documentation

◆ create_scene_node

struct wlr_scene_node *(* _wlmtk_element_vmt_t::create_scene_node) (wlmtk_element_t *element_ptr, struct wlr_scene_tree *wlr_scene_tree_ptr)

Abstract: Creates element's scene graph API node, child to wlr_scene_tree_ptr.

◆ destroy

void(* _wlmtk_element_vmt_t::destroy) (wlmtk_element_t *element_ptr)

Abstract: Destroys the implementation of the element.

◆ get_dimensions

void(* _wlmtk_element_vmt_t::get_dimensions) (wlmtk_element_t *element_ptr, int *x1_ptr, int *y1_ptr, int *x2_ptr, int *y2_ptr)

Abstract: Gets dimensions of the element, relative to the element's position.

◆ get_pointer_area

void(* _wlmtk_element_vmt_t::get_pointer_area) (wlmtk_element_t *element_ptr, int *left_ptr, int *top_ptr, int *right_ptr, int *bottom_ptr)

Gets element area to accept pointer activity, relative to position.

◆ keyboard_blur

void(* _wlmtk_element_vmt_t::keyboard_blur) (wlmtk_element_t *element_ptr)

Blurs (de-activates) keyboard focus for the element. Propagates to child elements, where available.

Parameters
element_ptr

◆ keyboard_event

bool(* _wlmtk_element_vmt_t::keyboard_event) (wlmtk_element_t *element_ptr, struct wlr_keyboard_key_event *wlr_keyboard_key_event_ptr, const xkb_keysym_t *key_syms, size_t key_syms_count, uint32_t modifiers)

Handler for keyboard events.

Parameters
element_ptr
wlr_keyboard_key_event_ptr
key_syms
key_syms_count
modifiers
Returns
true if the key was handled.

◆ pointer_axis

bool(* _wlmtk_element_vmt_t::pointer_axis) (wlmtk_element_t *element_ptr, struct wlr_pointer_axis_event *wlr_pointer_axis_event_ptr)

Indicates a pointer axis event.

Parameters
element_ptr
wlr_pointer_axis_event_ptr
Returns
true If the axis event was consumed.

◆ pointer_button

bool(* _wlmtk_element_vmt_t::pointer_button) (wlmtk_element_t *element_ptr, const wlmtk_button_event_t *button_event_ptr)

Indicates pointer button event.

Parameters
element_ptr
button_event_ptr
Returns
true If the button event was consumed.

◆ pointer_grab_cancel

void(* _wlmtk_element_vmt_t::pointer_grab_cancel) (wlmtk_element_t *element_ptr)

Cancels a held pointer grab.

Required to have an implementation by any element that requests a pointer grab through wlmtk_container_pointer_grab.

Private: Must only to be called by the parent container.

Parameters
element_ptr

◆ pointer_motion

bool(* _wlmtk_element_vmt_t::pointer_motion) (wlmtk_element_t *element_ptr, wlmtk_pointer_motion_event_t *motion_event_ptr)

Indicates pointer motion into or within the element area to (x,y).

The default implementation at _wlmtk_element_pointer_motion updates wlmtk_element_t::last_pointer_motion_event.

Derived classes that overwrite this method are advised to call the initial implementation for keeping these internals updated.

Parameters
element_ptr
motion_event_ptrDetails on the pointer motion. The coordinates are relative to the element's coordinates.
Returns
Whether the motion is considered within the element's pointer area. If it returns true, the caller should consider this element as having pointer focus.

The documentation for this struct was generated from the following file: