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: