Nebula
|
#include <inputserverbase.h>
The InputServer is the central object of the Input subsystem.
It mainly manages a prioritized list of input handlers which process incoming input events.
Inherits Core::RefCounted.
Inherited by GLFW::GLFWInputServer.
Public Member Functions | |
InputServerBase () | |
constructor | |
virtual | ~InputServerBase () |
destructor | |
void | SetMaxNumLocalPlayers (SizeT maxNumLocalPlayers) |
set the max number of local players for this application (default is 4) | |
SizeT | GetMaxNumLocalPlayers () const |
get the max number of local players | |
virtual void | Open () |
open the input server | |
virtual void | Close () |
close the input server | |
bool | IsOpen () const |
return true if open | |
void | SetQuitRequested (bool b) |
set the quit requested flag | |
bool | IsQuitRequested () const |
return true if some subsystem has requested to quit the app (e.g. Alt-F4) | |
void | Reset () |
reset input state | |
const Ptr< Input::Keyboard > & | GetDefaultKeyboard () const |
get the default keyboard input handler | |
const Ptr< Input::Mouse > & | GetDefaultMouse () const |
get the default mouse input handler | |
Ptr< Input::GamePad > | GetDefaultGamePad (IndexT playerIndex) const |
get default gamepad handler (playerIndex is valid up to MaxNumLocalPlayers) | |
void | AttachInputHandler (Input::InputPriority::Code pri, const Ptr< Input::InputHandler > &inputHandler) |
attach an input handler | |
void | RemoveInputHandler (const Ptr< Input::InputHandler > &inputHandler) |
remove an input handler | |
void | AddGamePad (const Ptr< Input::GamePad > pad, IndexT playerIndex) |
virtual void | BeginFrame () |
call before processing window events | |
virtual void | OnFrame () |
call after processing window events | |
void | EndFrame () |
call at end of frame | |
void | PutEvent (const Input::InputEvent &ie) |
put an input event into the handler chain | |
void | ClearMouseCapture () |
clear the current mouse capture (if exists) | |
void | ClearKeyboardCapture () |
clear the current keyboard capture (if exists) | |
void | ClearCapture () |
clear both mouse and keyboard captures | |
const Ptr< Input::InputHandler > & | GetMouseCaptureHandler () const |
return the current mouse capture input handler (return invalid ptr if no capture set) | |
const Ptr< Input::InputHandler > & | GetKeyboardCaptureHandler () const |
return the current keyboard capture input handler (return invalid ptr if no capture set) | |
void | ObtainMouseCapture (const Ptr< Input::InputHandler > &inputHandler) |
only call from InputHandler: capture mouse input to the given input handler | |
void | ReleaseMouseCapture (const Ptr< Input::InputHandler > &inputHandler) |
only call from InputHandler: release mouse capture | |
void | ObtainKeyboardCapture (const Ptr< Input::InputHandler > &inputHandler) |
only call from InputHandler: capture keyboard input to the given input handler | |
void | ReleaseKeyboardCapture (const Ptr< Input::InputHandler > &inputHandler) |
only call from InputHandler: release keyboard capture | |
bool | HasFocus () const |
return true if the application has focus | |
Public Member Functions inherited from Core::RefCounted | |
RefCounted () | |
constructor | |
int | GetRefCount () const |
get the current refcount | |
void | AddRef () |
increment refcount by one | |
void | Release () |
decrement refcount and destroy object if refcount is zero | |
bool | IsInstanceOf (const Rtti &rtti) const |
return true if this object is instance of given class | |
bool | IsInstanceOf (const Util::String &className) const |
return true if this object is instance of given class by string | |
bool | IsInstanceOf (const Util::FourCC &classFourCC) const |
return true if this object is instance of given class by fourcc | |
bool | IsA (const Rtti &rtti) const |
return true if this object is instance of given class, or a derived class | |
bool | IsA (const Util::String &rttiName) const |
return true if this object is instance of given class, or a derived class, by string | |
bool | IsA (const Util::FourCC &rttiFourCC) const |
return true if this object is instance of given class, or a derived class, by fourcc | |
const Util::String & | GetClassName () const |
get the class name | |
Util::FourCC | GetClassFourCC () const |
get the class FourCC code | |
Private Member Functions | |
__DeclareClass (InputServerBase) | |
Additional Inherited Members | |
Static Public Member Functions inherited from Core::RefCounted | |
static void | DumpRefCountingLeaks () |
dump refcounting leaks, call at end of application (NEBULA_DEBUG builds only!) | |
Protected Member Functions inherited from Core::RefCounted | |
virtual | ~RefCounted () |
destructor (called when refcount reaches zero) | |
Base::InputServerBase::InputServerBase | ( | ) |
constructor
|
virtual |
destructor
|
private |
void Base::InputServerBase::AddGamePad | ( | const Ptr< Input::GamePad > | pad, |
IndexT | playerIndex ) |
void Base::InputServerBase::AttachInputHandler | ( | Input::InputPriority::Code | pri, |
const Ptr< Input::InputHandler > & | inputHandler ) |
attach an input handler
|
virtual |
call before processing window events
void Base::InputServerBase::ClearCapture | ( | ) |
clear both mouse and keyboard captures
This clears the mouse and keyboards captures, if set.
void Base::InputServerBase::ClearKeyboardCapture | ( | ) |
clear the current keyboard capture (if exists)
This clears the currently set keyboard capture (if exists).
void Base::InputServerBase::ClearMouseCapture | ( | ) |
clear the current mouse capture (if exists)
This clears the currently set mouse capture (if exists).
|
virtual |
close the input server
Reimplemented in GLFW::GLFWInputServer.
void Base::InputServerBase::EndFrame | ( | ) |
call at end of frame
Call this somewhere towards the end of frame, when it is guaraneteed that noone needs input anymore.
Ptr< Input::GamePad > Base::InputServerBase::GetDefaultGamePad | ( | IndexT | playerIndex | ) | const |
get default gamepad handler (playerIndex is valid up to MaxNumLocalPlayers)
|
inline |
get the default keyboard input handler
|
inline |
get the default mouse input handler
const Ptr< InputHandler > & Base::InputServerBase::GetKeyboardCaptureHandler | ( | ) | const |
return the current keyboard capture input handler (return invalid ptr if no capture set)
|
inline |
get the max number of local players
const Ptr< InputHandler > & Base::InputServerBase::GetMouseCaptureHandler | ( | ) | const |
return the current mouse capture input handler (return invalid ptr if no capture set)
|
inline |
return true if the application has focus
|
inline |
return true if open
|
inline |
return true if some subsystem has requested to quit the app (e.g. Alt-F4)
void Base::InputServerBase::ObtainKeyboardCapture | ( | const Ptr< Input::InputHandler > & | inputHandler | ) |
only call from InputHandler: capture keyboard input to the given input handler
Obtain the keyboard capture.
All keyboard input will go exclusively to the capture input handler until ReleaseKeyboardCapture() is called.
void Base::InputServerBase::ObtainMouseCapture | ( | const Ptr< Input::InputHandler > & | inputHandler | ) |
only call from InputHandler: capture mouse input to the given input handler
Obtain the mouse capture.
All mouse input will go exclusively to the capture input handler until ReleaseMouseCapture() is called.
|
virtual |
call after processing window events
Reimplemented in GLFW::GLFWInputServer.
|
virtual |
open the input server
Reimplemented in GLFW::GLFWInputServer.
void Base::InputServerBase::PutEvent | ( | const Input::InputEvent & | ie | ) |
put an input event into the handler chain
NOTE: MouseMove and RawMouseMove events will be distributed to all input handlers regardless of mouse capture state!
void Base::InputServerBase::ReleaseKeyboardCapture | ( | const Ptr< Input::InputHandler > & | inputHandler | ) |
only call from InputHandler: release keyboard capture
Release the mouse capture.
The provided pointer must match the current capture input handler.
void Base::InputServerBase::ReleaseMouseCapture | ( | const Ptr< Input::InputHandler > & | inputHandler | ) |
only call from InputHandler: release mouse capture
Release the mouse capture.
The provided pointer must match the current capture input handler.
void Base::InputServerBase::RemoveInputHandler | ( | const Ptr< Input::InputHandler > & | inputHandler | ) |
remove an input handler
void Base::InputServerBase::Reset | ( | ) |
reset input state
void Base::InputServerBase::SetMaxNumLocalPlayers | ( | SizeT | num | ) |
set the max number of local players for this application (default is 4)
Setup the maximum number of local players for this application.
The default number is 1. This defines the number of game pad objects created and queried.
|
inline |
set the quit requested flag
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |