Nebula
Loading...
Searching...
No Matches
Base::MouseBase Class Reference

#include <mousebase.h>

Detailed Description

An input handler which represents a mouse for polling.

Inherits Input::InputHandler.

Inherited by Input::Mouse.

Classes

struct  ButtonState

Public Member Functions

 MouseBase ()
 constructor
virtual ~MouseBase ()
 destructor
virtual void BeginCapture ()
 capture input to this event handler
virtual void EndCapture ()
 end input capturing to this event handler
bool ButtonPressed (Input::MouseButton::Code btn) const
 return true if button is currently pressed
bool ButtonDown (Input::MouseButton::Code btn) const
 return true if button was pushed down at least once in current frame
bool ButtonUp (Input::MouseButton::Code btn) const
 return true if button was released at least once in current frame
bool ButtonDoubleClicked (Input::MouseButton::Code btn) const
 return true if a button has been double clicked
bool WheelForward () const
 return true if mouse wheel rotated forward
bool WheelBackward () const
 return true if mouse wheel rotated backward
const Math::vec2GetPixelPosition () const
 get current absolute mouse position (in pixels)
const Math::vec2GetScreenPosition () const
 get current screen space mouse position (0.0 .. 1.0)
const Math::vec2GetMovement () const
 get mouse movement
virtual void LockToPosition (bool locked, Math::vec2 &position)
 locks the mouse to a screen position (0.0 .. 1.0)
bool IsLocked () const
 return true if the mouse is locked
Public Member Functions inherited from Input::InputHandler
 InputHandler ()
 constructor
virtual ~InputHandler ()
 destructor
bool IsAttached () const
 return true if the input handler is currently attached
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 OnBeginFrame ()
 called on InputServer::BeginFrame()
virtual bool OnEvent (const Input::InputEvent &inputEvent)
 called when an input event should be processed
virtual void OnObtainCapture ()
 called when input handler obtains capture
virtual void OnReleaseCapture ()
 called when input handler looses capture
virtual void OnReset ()
 reset the input handler
Protected Member Functions inherited from Input::InputHandler
virtual void OnRemove ()
 called when the handler is removed from the input server
virtual void OnEndFrame ()
 called on InputServer::EndFrame();
Protected Member Functions inherited from Core::RefCounted
virtual ~RefCounted ()
 destructor (called when refcount reaches zero)

Private Member Functions

 __DeclareClass (MouseBase)
void UpdateMousePositions (const Math::vec2 &pixelPos, const Math::vec2 &screenPos)
 update mouse position members

Private Attributes

Util::FixedArray< ButtonStatebuttonStates
Math::vec2 beginFramePixelPosition
Math::vec2 beginFrameScreenPosition
Math::vec2 pixelPosition
Math::vec2 screenPosition
Math::vec2 movement
Math::vec2 mouseLockedPosition
bool wheelForward
bool wheelBackward
bool initialMouseMovement
bool mouseLocked
bool mouseWasLocked

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 Attributes inherited from Input::InputHandler
bool isAttached
bool isCapturing

Constructor & Destructor Documentation

◆ MouseBase()

Base::MouseBase::MouseBase ( )

constructor

◆ ~MouseBase()

Base::MouseBase::~MouseBase ( )
virtual

destructor

Member Function Documentation

◆ __DeclareClass()

Base::MouseBase::__DeclareClass ( MouseBase )
private

◆ BeginCapture()

void Base::MouseBase::BeginCapture ( )
virtual

capture input to this event handler

Reimplemented from Input::InputHandler.

◆ ButtonDoubleClicked()

bool Base::MouseBase::ButtonDoubleClicked ( Input::MouseButton::Code btn) const
inline

return true if a button has been double clicked

◆ ButtonDown()

bool Base::MouseBase::ButtonDown ( Input::MouseButton::Code btn) const
inline

return true if button was pushed down at least once in current frame

◆ ButtonPressed()

bool Base::MouseBase::ButtonPressed ( Input::MouseButton::Code btn) const
inline

return true if button is currently pressed

◆ ButtonUp()

bool Base::MouseBase::ButtonUp ( Input::MouseButton::Code btn) const
inline

return true if button was released at least once in current frame

◆ EndCapture()

void Base::MouseBase::EndCapture ( )
virtual

end input capturing to this event handler

Reimplemented from Input::InputHandler.

◆ GetMovement()

const Math::vec2 & Base::MouseBase::GetMovement ( ) const
inline

get mouse movement

◆ GetPixelPosition()

const Math::vec2 & Base::MouseBase::GetPixelPosition ( ) const
inline

get current absolute mouse position (in pixels)

◆ GetScreenPosition()

const Math::vec2 & Base::MouseBase::GetScreenPosition ( ) const
inline

get current screen space mouse position (0.0 .. 1.0)

◆ IsLocked()

bool Base::MouseBase::IsLocked ( ) const
inline

return true if the mouse is locked

◆ LockToPosition()

void Base::MouseBase::LockToPosition ( bool locked,
Math::vec2 & position )
inlinevirtual

locks the mouse to a screen position (0.0 .. 1.0)

◆ OnAttach()

void Base::MouseBase::OnAttach ( )
protectedvirtual

called when the handler is attached to the input server

Reimplemented from Input::InputHandler.

◆ OnBeginFrame()

void Base::MouseBase::OnBeginFrame ( )
protectedvirtual

called on InputServer::BeginFrame()

Reimplemented from Input::InputHandler.

◆ OnEvent()

bool Base::MouseBase::OnEvent ( const Input::InputEvent & inputEvent)
protectedvirtual

called when an input event should be processed

Reimplemented from Input::InputHandler.

◆ OnObtainCapture()

void Base::MouseBase::OnObtainCapture ( )
protectedvirtual

called when input handler obtains capture

Reimplemented from Input::InputHandler.

◆ OnReleaseCapture()

void Base::MouseBase::OnReleaseCapture ( )
protectedvirtual

called when input handler looses capture

Reimplemented from Input::InputHandler.

◆ OnReset()

void Base::MouseBase::OnReset ( )
protectedvirtual

reset the input handler

Reimplemented from Input::InputHandler.

◆ UpdateMousePositions()

void Base::MouseBase::UpdateMousePositions ( const Math::vec2 & pixelPos,
const Math::vec2 & screenPos )
private

update mouse position members

◆ WheelBackward()

bool Base::MouseBase::WheelBackward ( ) const
inline

return true if mouse wheel rotated backward

◆ WheelForward()

bool Base::MouseBase::WheelForward ( ) const
inline

return true if mouse wheel rotated forward

Member Data Documentation

◆ beginFramePixelPosition

Math::vec2 Base::MouseBase::beginFramePixelPosition
private

◆ beginFrameScreenPosition

Math::vec2 Base::MouseBase::beginFrameScreenPosition
private

◆ buttonStates

Util::FixedArray<ButtonState> Base::MouseBase::buttonStates
private

◆ initialMouseMovement

bool Base::MouseBase::initialMouseMovement
private

◆ mouseLocked

bool Base::MouseBase::mouseLocked
private

◆ mouseLockedPosition

Math::vec2 Base::MouseBase::mouseLockedPosition
private

◆ mouseWasLocked

bool Base::MouseBase::mouseWasLocked
private

◆ movement

Math::vec2 Base::MouseBase::movement
private

◆ pixelPosition

Math::vec2 Base::MouseBase::pixelPosition
private

◆ screenPosition

Math::vec2 Base::MouseBase::screenPosition
private

◆ wheelBackward

bool Base::MouseBase::wheelBackward
private

◆ wheelForward

bool Base::MouseBase::wheelForward
private

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