Kanzi Framework  3.9.0
Kanzi Engine API
kanzi::InputManager Class Reference

InputManager converts the events from the given event queue into input specific messages. More...

#include <kanzi/core.ui/input/input_manager.hpp>

Public Member Functions

 InputManager (Domain *domain)
 Create an input manager. More...
 
void notifyNodeDetached (Node &node)
 Node notifies the input manager that Kanzi is detaching it from the node tree. More...
 
void processEvents (EventQueue &queue)
 Processes a queue of input events. More...
 
void resetInput ()
 Resets the InputManager canceling the ongoing gesture recognitions and cleaning up the input manipulators. More...
 
bool setInputManipulatorState (InputManipulator &inputManipulator, InputManipulator::State state)
 Sets the state of an inputManipulator and, based on that state, synchronizes the input manipulators registered to the Input Manager. More...
 
void updateEffectivelyEnabledState (Node &root)
 Node tells the Input Manager to update the Node::EffectivelyEnabledProperty for a root node and its descendant nodes in the same popup-type scope. More...
 
void updateHoverStates (const PointerEvent &pointerEvent, Node2D *node)
 Processes pointer events to update hover states of the nodes in a subtree of the passed node. More...
 
 ~InputManager ()
 Destructor. More...
 
Gesture processing input manipulator collection methods
void attachInputManipulator (InputManipulator *manipulator)
 Adds an input manipulator to the collection of gesture processing input manipulators. More...
 
void detachInputManipulator (InputManipulator &manipulator)
 Removes an input manipulator from the collection of gesture processing input manipulators. More...
 

Detailed Description

InputManager converts the events from the given event queue into input specific messages.

The events supported are key, touch, and mouse pointer events. The key events are forwarded to key manipulators, and the touch and pointer events are unified into press, change and release messages, and forwarded to InputManipulators, which in turn handles the input and dispatch those through proprietary messages. The input manipulators are gathered automatically from the node or its children passed as argument to the processEvents() method.

See also
KeyManipulator, InputManipulator

Constructor & Destructor Documentation

◆ InputManager()

kanzi::InputManager::InputManager ( Domain domain)
explicit

Create an input manager.

Parameters
domainThe domain that owns the input manager.

◆ ~InputManager()

kanzi::InputManager::~InputManager ( )

Destructor.

Member Function Documentation

◆ processEvents()

void kanzi::InputManager::processEvents ( EventQueue queue)

Processes a queue of input events.

Parameters
queueEvent queue that holds events that are processed.

◆ setInputManipulatorState()

bool kanzi::InputManager::setInputManipulatorState ( InputManipulator inputManipulator,
InputManipulator::State  state 
)

Sets the state of an inputManipulator and, based on that state, synchronizes the input manipulators registered to the Input Manager.

Do not call this method from the InputManipulator::notifyTouchInside(), InputManipulator::notifyTouchOutside() or InputManipulator::notifyKeyInput() method.

Parameters
inputManipulatorThe input manipulator whose state to set.
stateThe state to which to set the input manipulator.
Returns
If setting the state succeeds, returns true, otherwise false.
Since
Kanzi 3.9.0

◆ resetInput()

void kanzi::InputManager::resetInput ( )

Resets the InputManager canceling the ongoing gesture recognitions and cleaning up the input manipulators.

◆ notifyNodeDetached()

void kanzi::InputManager::notifyNodeDetached ( Node node)

Node notifies the input manager that Kanzi is detaching it from the node tree.

Parameters
nodeThe node which is detached.

◆ updateEffectivelyEnabledState()

void kanzi::InputManager::updateEffectivelyEnabledState ( Node root)

Node tells the Input Manager to update the Node::EffectivelyEnabledProperty for a root node and its descendant nodes in the same popup-type scope.

When a node gets effectively disabled, Input Manager resets all input manipulators for that node.

Parameters
rootThe root node of the subtree in which the Kanzi updates the values of the Node::EffectivelyEnabledProperty.
Since
Kanzi 3.9.0

◆ attachInputManipulator()

void kanzi::InputManager::attachInputManipulator ( InputManipulator manipulator)

Adds an input manipulator to the collection of gesture processing input manipulators.

Parameters
manipulatorThe input manipulator to add to the gesture processing collection.
Since
Kanzi 3.9.0

◆ detachInputManipulator()

void kanzi::InputManager::detachInputManipulator ( InputManipulator manipulator)

Removes an input manipulator from the collection of gesture processing input manipulators.

Parameters
manipulatorThe input manipulator to remove from the gesture processing collection.
Since
Kanzi 3.9.0

◆ updateHoverStates()

void kanzi::InputManager::updateHoverStates ( const PointerEvent pointerEvent,
Node2D node 
)

Processes pointer events to update hover states of the nodes in a subtree of the passed node.

Parameters
pointerEventPointer event to process.
nodeThe node where the hit testing starts.

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