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

#include <inputhandler.h>

Detailed Description

Input handlers receive and process input events.

Handlers are chained together, sorted by priority, and input events travel from one handler to the next. Input events may be blocked by an input handler, so that the blocked events are not passed on to the next lower-priority handlers. Subclasses of InputHandler present the received input in more specific ways.

Inherits Core::RefCounted.

Inherited by Base::GamePadBase, Base::KeyboardBase, Base::MouseBase, Dynui::ImguiInputHandler, and Im3d::Im3dInputHandler.

Public Member Functions

 InputHandler ()
 constructor
 
virtual ~InputHandler ()
 destructor
 
bool IsAttached () const
 return true if the input handler is currently attached
 
virtual void BeginCapture ()
 capture input to this event handler
 
virtual void EndCapture ()
 end input capturing to this event handler
 
bool IsCapturing () const
 return true if this input handler captures input
 
- 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
 

Protected Member Functions

virtual void OnAttach ()
 called when the handler is attached to the input server
 
virtual void OnRemove ()
 called when the handler is removed from the input server
 
virtual void OnBeginFrame ()
 called on InputServer::BeginFrame()
 
virtual void OnEndFrame ()
 called on InputServer::EndFrame();
 
virtual void OnObtainCapture ()
 called when input handler obtains capture
 
virtual void OnReleaseCapture ()
 called when input handler looses capture
 
virtual bool OnEvent (const InputEvent &inputEvent)
 called when an input event should be processed
 
virtual void OnReset ()
 called when the handler should reset itself
 
- Protected Member Functions inherited from Core::RefCounted
virtual ~RefCounted ()
 destructor (called when refcount reaches zero)
 

Protected Attributes

bool isAttached
 
bool isCapturing
 

Private Member Functions

 __DeclareClass (InputHandler)
 

Friends

class Base::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!)
 

Constructor & Destructor Documentation

◆ InputHandler()

Input::InputHandler::InputHandler ( )

constructor

◆ ~InputHandler()

Input::InputHandler::~InputHandler ( )
virtual

destructor

Member Function Documentation

◆ __DeclareClass()

Input::InputHandler::__DeclareClass ( InputHandler )
private

◆ BeginCapture()

void Input::InputHandler::BeginCapture ( )
virtual

capture input to this event handler

Begin capturing input to this input handler.

This method must be overriden in a subclass, the derived method must call ObtainMouseCapture(), ObtainKeyboardCapture(), or both, depending on what type input events you want to capture. An input handler which captures input gets all input events of the given type exclusively.

Reimplemented in Im3d::Im3dInputHandler, Dynui::ImguiInputHandler, Base::KeyboardBase, and Base::MouseBase.

◆ EndCapture()

void Input::InputHandler::EndCapture ( )
virtual

end input capturing to this event handler

End capturing input to this input handler.

Override this method in a subclass and release the captures obtained in BeginCapture().

Reimplemented in Im3d::Im3dInputHandler, Dynui::ImguiInputHandler, Base::KeyboardBase, and Base::MouseBase.

◆ IsAttached()

bool Input::InputHandler::IsAttached ( ) const
inline

return true if the input handler is currently attached

◆ IsCapturing()

bool Input::InputHandler::IsCapturing ( ) const
inline

return true if this input handler captures input

◆ OnAttach()

void Input::InputHandler::OnAttach ( )
protectedvirtual

called when the handler is attached to the input server

Reimplemented in Base::GamePadBase, Base::KeyboardBase, and Base::MouseBase.

◆ OnBeginFrame()

void Input::InputHandler::OnBeginFrame ( )
protectedvirtual

◆ OnEndFrame()

void Input::InputHandler::OnEndFrame ( )
protectedvirtual

◆ OnEvent()

bool Input::InputHandler::OnEvent ( const InputEvent & inputEvent)
protectedvirtual

called when an input event should be processed

Reimplemented in Im3d::Im3dInputHandler, Dynui::ImguiInputHandler, Base::KeyboardBase, and Base::MouseBase.

◆ OnObtainCapture()

void Input::InputHandler::OnObtainCapture ( )
protectedvirtual

called when input handler obtains capture

Reimplemented in Base::KeyboardBase, and Base::MouseBase.

◆ OnReleaseCapture()

void Input::InputHandler::OnReleaseCapture ( )
protectedvirtual

called when input handler looses capture

Reimplemented in Base::KeyboardBase, and Base::MouseBase.

◆ OnRemove()

void Input::InputHandler::OnRemove ( )
protectedvirtual

called when the handler is removed from the input server

◆ OnReset()

void Input::InputHandler::OnReset ( )
protectedvirtual

called when the handler should reset itself

OnReset is called when the app loses or gains focus (amongst other occasions).

The input handler should reset its state to prevent keys from sticking down, etc...

Reimplemented in Base::GamePadBase, Base::KeyboardBase, and Base::MouseBase.

Friends And Related Symbol Documentation

◆ Base::InputServerBase

friend class Base::InputServerBase
friend

Member Data Documentation

◆ isAttached

bool Input::InputHandler::isAttached
protected

◆ isCapturing

bool Input::InputHandler::isCapturing
protected

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