Sirikata
Public Member Functions | Private Attributes
Sirikata::Input::InputEventCompletion Class Reference

Tracks input events to ensure coherent streams of events when dispatching a single stream of input events to multiple consumers. More...

#include <InputEventCompletion.hpp>

Collaboration diagram for Sirikata::Input::InputEventCompletion:

List of all members.

Public Member Functions

 InputEventCompletion ()
void onKeyPressedEvent (ButtonPressedPtr ev)
void onKeyRepeatedEvent (ButtonRepeatedPtr ev)
void onKeyReleasedEvent (ButtonReleasedPtr ev)
void onMousePressedEvent (MousePressedEventPtr ev)
void onMouseDragEvent (MouseDragEventPtr ev)
void onMouseReleasedEvent (MouseReleasedEventPtr ev)
void updateTarget (InputListener *target)
 Update the target listener that events are being handled by.

Private Attributes

InputListenermTarget
std::map< KeyButton,
ButtonEventPtr
mKeyEvents
std::map< MouseButton,
MouseDownEventPtr
mMouseEvents

Detailed Description

Tracks input events to ensure coherent streams of events when dispatching a single stream of input events to multiple consumers.

For example, if you press a key down, then click a mouse such that the input focus changes, this allows you to generate a fake key up event when the focus changes so the element that originally had focus isn't left without a key up event.


Constructor & Destructor Documentation

Sirikata::Input::InputEventCompletion::InputEventCompletion ( )

Member Function Documentation

void Sirikata::Input::InputEventCompletion::onKeyPressedEvent ( ButtonPressedPtr  ev)

References mKeyEvents.

void Sirikata::Input::InputEventCompletion::onKeyReleasedEvent ( ButtonReleasedPtr  ev)

References mKeyEvents.

void Sirikata::Input::InputEventCompletion::onKeyRepeatedEvent ( ButtonRepeatedPtr  ev)

References mKeyEvents.

void Sirikata::Input::InputEventCompletion::onMouseDragEvent ( MouseDragEventPtr  ev)

References mMouseEvents.

void Sirikata::Input::InputEventCompletion::onMousePressedEvent ( MousePressedEventPtr  ev)

References mMouseEvents.

void Sirikata::Input::InputEventCompletion::onMouseReleasedEvent ( MouseReleasedEventPtr  ev)

References mMouseEvents.

void Sirikata::Input::InputEventCompletion::updateTarget ( InputListener target)

Update the target listener that events are being handled by.

Any outstanding logical events will have completion events generate and delivered to the old listener, e.g. a key up and a mouse up if we still had a key and mouse button pressed.

References mKeyEvents, mMouseEvents, mTarget, Sirikata::Input::InputListener::onKeyReleasedEvent(), and Sirikata::Input::InputListener::onMouseReleasedEvent().


Member Data Documentation

Referenced by updateTarget().


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