Nebula
|
#include <inputserver.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 GLFW::GLFWInputServer.
Public Member Functions | |
InputServer () | |
constructor | |
virtual | ~InputServer () |
destructor | |
Public Member Functions inherited from GLFW::GLFWInputServer | |
GLFWInputServer () | |
constructor | |
virtual | ~GLFWInputServer () |
destructor | |
void | Open () |
open the input server | |
void | Close () |
close the input server | |
void | OnFrame () |
call after processing window events | |
Public Member Functions inherited from Base::InputServerBase | |
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 | |
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 | |
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 (InputServer) | |
__DeclareInterfaceSingleton (InputServer) | |
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) | |
Protected Attributes inherited from Base::InputServerBase | |
bool | isOpen |
bool | inBeginFrame |
bool | isQuitRequested |
bool | hasFocus |
int | inputHandlersLockCount |
SizeT | maxNumLocalPlayers |
Util::Array< Util::KeyValuePair< Input::InputPriority::Code, Ptr< Input::InputHandler > > > | inputHandlers |
Ptr< Input::InputHandler > | mouseCaptureHandler |
Ptr< Input::InputHandler > | keyboardCaptureHandler |
Ptr< Input::Keyboard > | defaultKeyboard |
Ptr< Input::Mouse > | defaultMouse |
Util::FixedArray< Ptr< Input::GamePad > > | defaultGamePad |
Threading::CriticalSection | critSect |
Threading::ThreadId | creatorThreadId |
Input::InputServer::InputServer | ( | ) |
constructor
|
virtual |
destructor
|
private |
|
private |