iInputBinder Struct Reference
SCF interface for csInputBinder, used to bind input events (keypress, button press, mouse move, etc. More...
#include <iutil/binder.h>
Inheritance diagram for iInputBinder:
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 iEventHandler * | QueryHandler ()=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] |
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:
-
def Describes the physical axis to bind to. cmd The ID of the command to bind. sensitivity A 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:
-
def Describes the physical button to bind to. cmd The ID of the command to bind. toggle If 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] |
virtual void iInputBinder::LoadConfig | ( | iConfigFile * | , | |
const char * | subsection = 0 | |||
) | [pure virtual] |
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] |
virtual void iInputBinder::UnbindAll | ( | ) | [pure virtual] |
virtual bool iInputBinder::UnbindAxis | ( | unsigned | cmd | ) | [pure virtual] |
virtual bool iInputBinder::UnbindButton | ( | unsigned | cmd | ) | [pure virtual] |
The documentation for this struct was generated from the following file:
- iutil/binder.h
Generated for Crystal Space by doxygen 1.4.7