CrystalSpace

Public API Reference

Public Member Functions
iInputBinder Struct Reference

SCF interface for csInputBinder, used to bind input events (keypress, button press, mouse move, etc.) to commands which are represented by an unsigned integer. More...

#include <iutil/binder.h>

Inheritance diagram for iInputBinder:
iBase scfImplementation2< csInputBinder, iInputBinder, iEventHandler > csInputBinder

List of all members.

Public Member Functions

virtual int Axis (unsigned cmd)=0
 Returns the position of the given axis command.
virtual void BindAxis (csInputDefinition const &def, unsigned int cmd, int sensitivity=1)=0
 Bind an axis motion event to an axis command.
virtual void BindButton (csInputDefinition const &def, unsigned int cmd, bool toggle=false)=0
 Bind a button event to a button command.
virtual bool Button (unsigned cmd)=0
 Returns the status of the given button command.
virtual void LoadConfig (iConfigFile *, const char *subsection=0)=0
 Load bindings from a configuration file.
virtual iEventHandlerQueryHandler ()=0
 Get a pointer to the embedded iEventHander.
virtual void SaveConfig (iConfigFile *, const char *subsection=0)=0
 Save bindings to a configuration file.
virtual void UnbindAll ()=0
 Remove all bindings.
virtual bool UnbindAxis (unsigned cmd)=0
 Remove a binding.
virtual bool UnbindButton (unsigned cmd)=0
 Remove a binding.

Detailed Description

SCF interface for csInputBinder, used to bind input events (keypress, button press, mouse move, etc.) to commands which are represented by an unsigned integer.

It is up to the application to specify the meaning of a command value.

Example:

 enum MyCommand = { Walk, Shoot, Jump, LookX, LookY };
 ...
 csRef<iInputBinder> binder = ...;
 binder->BindButton (csInputDefinition ("ctrl"), Shoot);
 binder->BindAxis (csInputDefinition ("mousex"), LookX);
 ...
 if (binder->Button (Shoot))
   ...
 else
 {
   DoSomething (binder->Axis (LookX), binder->Axis (LookY));
 }

Definition at line 55 of file binder.h.


Member Function Documentation

virtual int iInputBinder::Axis ( unsigned  cmd) [pure virtual]

Returns the position of the given axis command.

Implemented in csInputBinder.

virtual void iInputBinder::BindAxis ( csInputDefinition const &  def,
unsigned int  cmd,
int  sensitivity = 1 
) [pure virtual]

Bind an axis motion event to an axis command.

Parameters:
defDescribes the physical axis to bind to.
cmdThe ID of the command to bind.
sensitivityA multiplier for the axis command.
Remarks:
Note that cmd is used as an array index so the numbers you use should be consecutive, starting with 0.

Implemented in csInputBinder.

virtual void iInputBinder::BindButton ( csInputDefinition const &  def,
unsigned int  cmd,
bool  toggle = false 
) [pure virtual]

Bind a button event to a button command.

Parameters:
defDescribes the physical button to bind to.
cmdThe ID of the command to bind.
toggleIf true, button status is only toggled on keydown events.
Remarks:
Note that cmd is used as an array index so the numbers you use should be consecutive, starting with 0. Also note that there must be a 1:1 mapping between buttons and commands, that is, a button cannot issue multiple commands, and the same command cannot be bound to multiple buttons. If you require this, you must handle it in your application. Binding a button (or command) will remove any previous bindings involving the button or command.

Implemented in csInputBinder.

virtual bool iInputBinder::Button ( unsigned  cmd) [pure virtual]

Returns the status of the given button command.

Implemented in csInputBinder.

virtual void iInputBinder::LoadConfig ( iConfigFile ,
const char *  subsection = 0 
) [pure virtual]

Load bindings from a configuration file.

Implemented in csInputBinder.

virtual iEventHandler* iInputBinder::QueryHandler ( ) [pure virtual]

Get a pointer to the embedded iEventHander.

Remarks:
This class has to be registered with the event queue: EventQueue->RegisterListener(InputBinder->QueryHandler (), CSMASK_Input); to get working Axis() and Button() methods.

Implemented in csInputBinder.

virtual void iInputBinder::SaveConfig ( iConfigFile ,
const char *  subsection = 0 
) [pure virtual]

Save bindings to a configuration file.

Implemented in csInputBinder.

virtual void iInputBinder::UnbindAll ( ) [pure virtual]

Remove all bindings.

Implemented in csInputBinder.

virtual bool iInputBinder::UnbindAxis ( unsigned  cmd) [pure virtual]

Remove a binding.

Implemented in csInputBinder.

virtual bool iInputBinder::UnbindButton ( unsigned  cmd) [pure virtual]

Remove a binding.

Implemented in csInputBinder.


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

Generated for Crystal Space 2.0 by doxygen 1.7.6.1