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.(C) 2007 Radon Labs GmbH
Public Member Functions | |
InputServer () | |
constructor | |
virtual | ~InputServer () |
destructor | |
void | Open () |
open the input server | |
void | Close () |
close the input server | |
void | OnFrame () |
call after processing window events (reads DInput raw mouse events) | |
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 | |
const Ptr < Input::GamePad > & | GetDefaultGamePad (IndexT playerIndex) const |
get default gamepad handler (up to 4) | |
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 | |
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 | |
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 | |
Static Public Member Functions | |
static void | DumpRefCountingLeaks () |
dump refcounting leaks, call at end of application (NEBULA3_DEBUG builds only!) | |
Protected Member Functions | |
bool | OpenDInputMouse () |
setup the DirectInput mouse device for tracking mouse movement | |
void | CloseDInputMouse () |
shutdown the DirectInput mouse device | |
void | ReadDInputMouse () |
get mouse readings | |
const Math::float2 & | GetMouseMovement () const |
get the current mouse movement |
Member Function Documentation
bool Win32::Win32InputServer::OpenDInputMouse | ( | ) | [protected, inherited] |
setup the DirectInput mouse device for tracking mouse movement
This intitialies a DirectInput mouse device in order to track raw mouse movement (WM mouse events stop at the screen borders).
void Win32::Win32InputServer::CloseDInputMouse | ( | ) | [protected, inherited] |
shutdown the DirectInput mouse device
Close the DirectInput mouse and DirectInput.
void Win32::Win32InputServer::ReadDInputMouse | ( | ) | [protected, inherited] |
get mouse readings
Read data from the DirectInput mouse (relative mouse movement since the last frame).
void Base::InputServerBase::EndFrame | ( | ) | [inherited] |
call at end of frame
Call this somewhere towards the end of frame, when it is guaraneteed that noone needs input anymore.
void Base::InputServerBase::PutEvent | ( | const Input::InputEvent & | ie | ) | [inherited] |
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::ClearMouseCapture | ( | ) | [inherited] |
clear the current mouse capture (if exists)
This clears the currently set mouse capture (if exists).
void Base::InputServerBase::ClearKeyboardCapture | ( | ) | [inherited] |
clear the current keyboard capture (if exists)
This clears the currently set keyboard capture (if exists).
void Base::InputServerBase::ClearCapture | ( | ) | [inherited] |
clear both mouse and keyboard captures
This clears the mouse and keyboards captures, if set.
void Base::InputServerBase::ObtainMouseCapture | ( | const Ptr< Input::InputHandler > & | inputHandler | ) | [inherited] |
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.
void Base::InputServerBase::ReleaseMouseCapture | ( | const Ptr< Input::InputHandler > & | inputHandler | ) | [inherited] |
only call from InputHandler: release mouse capture
Release the mouse capture. The provided pointer must match the current capture input handler.
void Base::InputServerBase::ObtainKeyboardCapture | ( | const Ptr< Input::InputHandler > & | inputHandler | ) | [inherited] |
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::ReleaseKeyboardCapture | ( | const Ptr< Input::InputHandler > & | inputHandler | ) | [inherited] |
only call from InputHandler: release keyboard capture
Release the mouse capture. The provided pointer must match the current capture input handler.
int Core::RefCounted::GetRefCount | ( | ) | const [inline, inherited] |
get the current refcount
Return the current refcount of the object.
void Core::RefCounted::AddRef | ( | ) | [inline, inherited] |
increment refcount by one
Increment the refcount of the object.
void Core::RefCounted::Release | ( | ) | [inline, inherited] |
decrement refcount and destroy object if refcount is zero
Decrement the refcount and destroy object if refcount is zero.
const Util::String & Core::RefCounted::GetClassName | ( | ) | const [inline, inherited] |
get the class name
Get the class name of the object.
Util::FourCC Core::RefCounted::GetClassFourCC | ( | ) | const [inline, inherited] |
get the class FourCC code
Get the class FourCC of the object.
void Core::RefCounted::DumpRefCountingLeaks | ( | ) | [static, inherited] |
dump refcounting leaks, call at end of application (NEBULA3_DEBUG builds only!)
This method should be called as the very last before an application exits.