Nebula
Loading...
Searching...
No Matches
Input::InputServer Class Reference

#include <inputserver.h>

Detailed Description

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::GamePadGetDefaultGamePad (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::StringGetClassName () 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::InputHandlermouseCaptureHandler
Ptr< Input::InputHandlerkeyboardCaptureHandler
Ptr< Input::KeyboarddefaultKeyboard
Ptr< Input::MousedefaultMouse
Util::FixedArray< Ptr< Input::GamePad > > defaultGamePad
Threading::CriticalSection critSect
Threading::ThreadId creatorThreadId

Constructor & Destructor Documentation

◆ InputServer()

Input::InputServer::InputServer ( )

constructor

◆ ~InputServer()

Input::InputServer::~InputServer ( )
virtual

destructor

Member Function Documentation

◆ __DeclareClass()

Input::InputServer::__DeclareClass ( InputServer )
private

◆ __DeclareInterfaceSingleton()

Input::InputServer::__DeclareInterfaceSingleton ( InputServer )
private

The documentation for this class was generated from the following files: