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)
 
bool(* pointer_accepts_motion )(wlmtk_element_t *element_ptr, wlmtk_pointer_motion_event_t *motion_event_ptr)
 
void(* pointer_grab_cancel )(wlmtk_element_t *element_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(* 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)
 
bool(* keyboard_sym )(wlmtk_element_t *element_ptr, xkb_keysym_t keysym, enum xkb_key_direction direction, 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.

◆ 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)

Handler for keyboard events.

This handler is suitable for passing keyboard events on to Wayland clients, which may have their own keymap and state tracking.

Parameters
element_ptr
wlr_keyboard_key_event_ptr
Returns
true if the key was handled.

◆ keyboard_sym

bool(* _wlmtk_element_vmt_t::keyboard_sym) (wlmtk_element_t *element_ptr, xkb_keysym_t keysym, enum xkb_key_direction direction, uint32_t modifiers)

Handler for already-translated keys.

This handler is intended for toolkit elements reacting on key strokes, and expects the parent to have translated the key event into (a series of) keysym events.

Parameters
element_ptr
keysym
direction
modifiers
Returns
true if the key was processed.

◆ pointer_accepts_motion

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

Offers the pointer motion to this element.

This method is called from wlmtk_element_pointer_motion.

Parameters
element_ptr
motion_event_ptr
Returns
Whether the motion is accepted by this element (or any of it's cohildren). In that case, the caller should accept this element as having pointer focus.

◆ 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

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