VoltAir
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Groups Pages
Public Member Functions | Static Public Attributes | List of all members
TouchNavigationRouter::TouchNavigationControllerFactory Class Reference

Factory for constructing VirtualControllers to represent touch navigation devices as controllers. More...

Inheritance diagram for TouchNavigationRouter::TouchNavigationControllerFactory:
ControllerFactory

Public Member Functions

 TouchNavigationControllerFactory (const KeyScheme &keyScheme, const JoystickAxisScheme &joystickAxisScheme)
 Constructs a TouchNavigationControllerFactory from input schemes. More...
 
virtual VirtualControllercreateNewController (int deviceId) const override
 Returns a new VirtualController for the specified deviceId. More...
 
virtual bool intersects (const ControllerFactory &otherFactory) const override
 Returns whether or not this ControllerFactory intersects (i.e. overlaps input schemes) with the specified ControllerFactory. More...
 
bool intersects (const TouchNavigationControllerFactory &otherFactory) const
 Returns whether or not this TouchNavigationControllerFactory intersects (i.e. overlaps input schemes) with the specified TouchNavigationControllerFactory. More...
 
virtual bool handlesControllerEvent (const ControllerEvent *event) const override
 Returns whether or not this ControllerFactory can process the specified event. More...
 

Static Public Attributes

static std::set< KeyCodesValidKeyCodes
 Set of KeyCodes valid as input on a touch navigation device. More...
 
static std::set< JoystickAxisCodesValidJoystickAxisCodes
 Set of JoystickAxisCodes valid as input on a touch navigation device. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from ControllerFactory
template<typename Input >
static bool isValidInputScheme (const InputScheme< Input > &scheme, std::set< Input > &validInputs)
 Returns whether or not the given InputScheme is valid (i.e. only contains input mappings which are valid) according to the specified validation set. More...
 

Detailed Description

Factory for constructing VirtualControllers to represent touch navigation devices as controllers.

Constructor & Destructor Documentation

TouchNavigationRouter::TouchNavigationControllerFactory::TouchNavigationControllerFactory ( const KeyScheme keyScheme,
const JoystickAxisScheme joystickAxisScheme 
)
explicit

Constructs a TouchNavigationControllerFactory from input schemes.

Parameters
keySchemeKeyScheme for constructed VirtualControllers
joystickAxisSchemeJoystickAxisScheme for constructed VirtualControllers

Member Function Documentation

virtual VirtualController* TouchNavigationRouter::TouchNavigationControllerFactory::createNewController ( int  deviceId) const
overridevirtual

Returns a new VirtualController for the specified deviceId.

Parameters
deviceIdId to identify the constructed VirtualController

Implements ControllerFactory.

virtual bool TouchNavigationRouter::TouchNavigationControllerFactory::handlesControllerEvent ( const ControllerEvent event) const
overridevirtual

Returns whether or not this ControllerFactory can process the specified event.

Parameters
eventControllerEvent to check for affinity with this ControllerFactory

Implements ControllerFactory.

virtual bool TouchNavigationRouter::TouchNavigationControllerFactory::intersects ( const ControllerFactory otherFactory) const
overridevirtual

Returns whether or not this ControllerFactory intersects (i.e. overlaps input schemes) with the specified ControllerFactory.

Note
Two ControllerFactorys would be intersecting if both would return true for handlesControllerEvent() when passed the same event.
Parameters
otherFactoryControllerFactory to test for intersection with this

Implements ControllerFactory.

bool TouchNavigationRouter::TouchNavigationControllerFactory::intersects ( const TouchNavigationControllerFactory otherFactory) const

Returns whether or not this TouchNavigationControllerFactory intersects (i.e. overlaps input schemes) with the specified TouchNavigationControllerFactory.

Note
Two TouchNavigationControllerFactorys would be intersecting if both would return true for handlesControllerEvent() when passed the same event.
Parameters
otherFactoryTouchNavigationControllerFactory to test for intersection with this

Member Data Documentation

std::set<JoystickAxisCode> TouchNavigationRouter::TouchNavigationControllerFactory::sValidJoystickAxisCodes
static

Set of JoystickAxisCodes valid as input on a touch navigation device.

std::set<KeyCode> TouchNavigationRouter::TouchNavigationControllerFactory::sValidKeyCodes
static

Set of KeyCodes valid as input on a touch navigation device.