Murl::Input::ITouchableHandler Interface Referenceabstract

The ITouchableHandler interface. More...

#include "murl_input_i_touchable_handler.h"

Inherited by Murl::Input::TouchableHandler.

Public Member Functions

virtual Bool Init ()=0
 Initialize the touchable handler. More...
 
virtual Bool DeInit ()=0
 Deinitialize the touchable handler. More...
 
virtual IScreenAreaCreateScreenArea ()=0
 Create a screen area object. More...
 
virtual Bool DestroyScreenArea (IScreenArea *&screenArea)=0
 Destroy a screen area object. More...
 
virtual IProjectionCreateProjection ()=0
 Create a projection object. More...
 
virtual Bool DestroyProjection (IProjection *&screenProjection)=0
 Destroy a projection object. More...
 
virtual ITouchAreaCreatePlanarTouchArea (IEnums::TouchAreaShape type)=0
 Create a planar touch area object. More...
 
virtual ITouchAreaCreateMeshTouchArea ()=0
 Create a mesh touch area object. More...
 
virtual Bool DestroyTouchArea (ITouchArea *&touchArea)=0
 Destroy a touch area object. More...
 
virtual Bool Reset ()=0
 Reset all screen projections. More...
 
virtual Bool SetCurrentTransform (const Matrix *transform, SInt32 depthOrder)=0
 Set the current transformation. More...
 
virtual Bool SetCurrentLayer (UInt32 layer)=0
 Set the current layer. More...
 
virtual Bool AddCurrentProjection (IProjection *projection, IScreenArea *screenArea)=0
 Add and set the current projection. More...
 
virtual Bool AddTouchArea (ITouchArea *touchArea, IScreenArea *subScreenArea)=0
 Add a touch area to the current screen projection considering the current tansformation, depth order and layer. More...
 
virtual Bool ReportBegin ()=0
 Begin reporting device inputs. More...
 
virtual Bool ReportDevice (IEnums::InputDeviceType deviceType, UInt32 deviceId, Bool hasUpdate, const IMouseButtons *buttons, Real posX, Real posY, Bool inRangeX, Bool inRangeY, Bool moved, Bool cancelled)=0
 Report a device input. More...
 
virtual Bool ReportEnd ()=0
 End reporting device inputs. More...
 

Detailed Description

The ITouchableHandler interface.

The touchable handler is used by Graph::ICamera and Graph::IButton to track the input positions and buttons on the display surface depending on the scene graph.

Member Function Documentation

◆ Init()

virtual Bool Murl::Input::ITouchableHandler::Init ( )
pure virtual

Initialize the touchable handler.

Returns
true if successful.

◆ DeInit()

virtual Bool Murl::Input::ITouchableHandler::DeInit ( )
pure virtual

Deinitialize the touchable handler.

Returns
true if successful.

◆ CreateScreenArea()

virtual IScreenArea* Murl::Input::ITouchableHandler::CreateScreenArea ( )
pure virtual

Create a screen area object.

Returns
The created screen area object

◆ DestroyScreenArea()

virtual Bool Murl::Input::ITouchableHandler::DestroyScreenArea ( IScreenArea *&  screenArea)
pure virtual

Destroy a screen area object.

Parameters
screenAreaA reference to the screen area object pointer. After destruction the pointer is set to null.
Returns
true if successful.

◆ CreateProjection()

virtual IProjection* Murl::Input::ITouchableHandler::CreateProjection ( )
pure virtual

Create a projection object.

Returns
The created projection object

◆ DestroyProjection()

virtual Bool Murl::Input::ITouchableHandler::DestroyProjection ( IProjection *&  screenProjection)
pure virtual

Destroy a projection object.

Parameters
screenProjectionA reference to the projection object pointer. After destruction the pointer is set to null.
Returns
true if successful.

◆ CreatePlanarTouchArea()

virtual ITouchArea* Murl::Input::ITouchableHandler::CreatePlanarTouchArea ( IEnums::TouchAreaShape  type)
pure virtual

Create a planar touch area object.

Parameters
typeThe kind of planar touch area to create.
Returns
The created touch area object

◆ CreateMeshTouchArea()

virtual ITouchArea* Murl::Input::ITouchableHandler::CreateMeshTouchArea ( )
pure virtual

Create a mesh touch area object.

Returns
The created touch area object

◆ DestroyTouchArea()

virtual Bool Murl::Input::ITouchableHandler::DestroyTouchArea ( ITouchArea *&  touchArea)
pure virtual

Destroy a touch area object.

Parameters
touchAreaA reference to the touch area pointer. After destruction the pointer is set to null.
Returns
true if successful.

◆ Reset()

virtual Bool Murl::Input::ITouchableHandler::Reset ( )
pure virtual

Reset all screen projections.

Returns
true if successful.

◆ SetCurrentTransform()

virtual Bool Murl::Input::ITouchableHandler::SetCurrentTransform ( const Matrix transform,
SInt32  depthOrder 
)
pure virtual

Set the current transformation.

Parameters
transformThe current transformation matrix.
depthOrderThe current depth order.
Returns
true if successful.

◆ SetCurrentLayer()

virtual Bool Murl::Input::ITouchableHandler::SetCurrentLayer ( UInt32  layer)
pure virtual

Set the current layer.

Parameters
layerThe current layer.
Returns
true if successful.

◆ AddCurrentProjection()

virtual Bool Murl::Input::ITouchableHandler::AddCurrentProjection ( IProjection projection,
IScreenArea screenArea 
)
pure virtual

Add and set the current projection.

Parameters
projectionThe current projection to add or null.
screenAreaThe screen area the projection belongs to, or null for default.
Returns
true if successful, false if null is added.

◆ AddTouchArea()

virtual Bool Murl::Input::ITouchableHandler::AddTouchArea ( ITouchArea touchArea,
IScreenArea subScreenArea 
)
pure virtual

Add a touch area to the current screen projection considering the current tansformation, depth order and layer.

Parameters
touchAreaThe touch area to add.
subScreenAreaThe optional screen area to delegate input to, or null if no delegation is desired.
Returns
true if successful.

◆ ReportBegin()

virtual Bool Murl::Input::ITouchableHandler::ReportBegin ( )
pure virtual

Begin reporting device inputs.

Returns
true if successful.

◆ ReportDevice()

virtual Bool Murl::Input::ITouchableHandler::ReportDevice ( IEnums::InputDeviceType  deviceType,
UInt32  deviceId,
Bool  hasUpdate,
const IMouseButtons buttons,
Real  posX,
Real  posY,
Bool  inRangeX,
Bool  inRangeY,
Bool  moved,
Bool  cancelled 
)
pure virtual

Report a device input.

Parameters
deviceTypeThe device type.
deviceIdThe device identifier.
hasUpdatetrue if the device has received new data since the last report.
buttonsThe mouse buttons interface.
posXThe device x-position on the display surface.
posYThe device y-position on the display surface.
inRangeXtrue if posX was not clamped to the window area.
inRangeYtrue if posY was not clamped to the window area.
movedtrue if the device was moved.
cancelledtrue if the device input was cancelled.
Returns
true if successful.

◆ ReportEnd()

virtual Bool Murl::Input::ITouchableHandler::ReportEnd ( )
pure virtual

End reporting device inputs.

Returns
true if successful.

The documentation for this interface was generated from the following file:
  • murl_input_i_touchable_handler.h


Copyright © 2011-2024 Spraylight GmbH.