dtCore::GenericMouseListener Class Reference

Provides generic callback support for Mouse events. More...

#include <genericmouselistener.h>

Inheritance diagram for dtCore::GenericMouseListener:

dtCore::MouseListener

List of all members.

Public Types

typedef MouseListener BaseClass
typedef dtUtil::Functor< bool,
TYPELIST_2(const Mouse *,
Mouse::MouseButton
ButtonCallbackType )
typedef dtUtil::Functor< bool,
TYPELIST_3(const Mouse *,
Mouse::MouseButton, int) 
ClickCallbackType )
typedef dtUtil::Functor< bool,
TYPELIST_3(const Mouse *,
float, float) 
MovementCallbackType )
typedef dtUtil::Functor< bool,
TYPELIST_2(const Mouse *, int) 
WheelCallbackType )

Public Member Functions

 GenericMouseListener ()
bool HandleButtonPressed (const Mouse *mouse, Mouse::MouseButton button)
 Called when a button is pressed.
bool HandleButtonReleased (const Mouse *mouse, Mouse::MouseButton button)
 Called when a button is released.
bool HandleButtonClicked (const Mouse *mouse, Mouse::MouseButton button, int clickCount)
 Called when a button is clicked.
bool HandleMouseMoved (const Mouse *mouse, float x, float y)
 Called when the mouse pointer is moved.
bool HandleMouseDragged (const Mouse *mouse, float x, float y)
 Called when the mouse pointer is dragged.
bool HandleMouseScrolled (const Mouse *mouse, int delta)
 Called when the mouse is scrolled.
void SetPressedCallback (const ButtonCallbackType &callback)
const ButtonCallbackTypeGetPressedCallback () const
bool IsPressedCallbackEnabled () const
void DisablePressedCallback ()
void SetReleasedCallback (const ButtonCallbackType &callback)
const ButtonCallbackTypeGetReleasedCallback () const
bool IsReleasedCallbackEnabled () const
void DisableReleasedCallback ()
void SetClickedCallback (const ClickCallbackType &callback)
const ClickCallbackTypeGetClickedCallback () const
bool IsClickedCallbackEnabled () const
void DisableClickedCallback ()
void SetMovedCallback (const MovementCallbackType &callback)
const MovementCallbackTypeGetMovedCallback () const
bool IsMovedCallbackEnabled () const
void DisableMovedCallback ()
void SetDraggedCallback (const MovementCallbackType &callback)
const MovementCallbackTypeGetDraggedCallback () const
bool IsDraggedCallbackEnabled () const
void DisableDraggedCallback ()
void SetScrolledCallback (const WheelCallbackType &callback)
const WheelCallbackTypeGetScrolledCallback () const
bool IsScrolledCallbackEnabled () const
void DisableScrolledCallback ()

Protected Member Functions

 ~GenericMouseListener ()


Detailed Description

Provides generic callback support for Mouse events.

This class is an optional MouseListener-derived class which can be used instead of MouseListener. GenericMouseListener uses a callback approach to listening to Mouse events. Instead of deriving a class from MouseListener and overwriting the methods, you can create an instance of GenericMouseListener and supply callback functions which will be called.

To use this class, supply an instance to the mouse you wish to listen to. Then add any callback functions to want to be triggered using:

 class Handler
 {
 public:
    bool Pressed( const dtCore::Mouse *mouse, dtCore::Mouse::MouseButton button);
    {
       return true;
    }
 }; 
 
 Handler *h = new Handler();

 RefPtr<GenericMouseListener> ml = new GenericMouseListener();
 myMouse->AddMouseListener( ml.get() );
 
 ml->SetPressedCallback( GenericMouseListener::ButtonCallbackType(h, &Handler::Pressed) );

Member Typedef Documentation

typedef MouseListener dtCore::GenericMouseListener::BaseClass

typedef dtUtil::Functor<bool,TYPELIST_2(const Mouse*,Mouse::MouseButton) dtCore::GenericMouseListener::ButtonCallbackType)

typedef dtUtil::Functor<bool,TYPELIST_3(const Mouse*,Mouse::MouseButton,int) dtCore::GenericMouseListener::ClickCallbackType)

typedef dtUtil::Functor<bool,TYPELIST_3(const Mouse*,float,float) dtCore::GenericMouseListener::MovementCallbackType)

typedef dtUtil::Functor<bool,TYPELIST_2(const Mouse*,int) dtCore::GenericMouseListener::WheelCallbackType)


Constructor & Destructor Documentation

GenericMouseListener::GenericMouseListener (  ) 

GenericMouseListener::~GenericMouseListener (  )  [protected]


Member Function Documentation

bool GenericMouseListener::HandleButtonPressed ( const Mouse mouse,
Mouse::MouseButton  button 
) [virtual]

Called when a button is pressed.

Parameters:
mouse the source of the event
button the button pressed
Returns:
true if this MouseListener handled the event. The Mouse calling this function is responsbile for using this return value or not.

Implements dtCore::MouseListener.

bool GenericMouseListener::HandleButtonReleased ( const Mouse mouse,
Mouse::MouseButton  button 
) [virtual]

Called when a button is released.

Parameters:
mouse the source of the event
button the button released
Returns:
true if this MouseListener handled the event. The Mouse calling this function is responsbile for using this return value or not.

Implements dtCore::MouseListener.

bool GenericMouseListener::HandleButtonClicked ( const Mouse mouse,
Mouse::MouseButton  button,
int  clickCount 
) [virtual]

Called when a button is clicked.

Parameters:
mouse the source of the event
button the button clicked
clickCount the click count
Returns:
true if this MouseListener handled the event. The Mouse calling this function is responsbile for using this return value or not.

Implements dtCore::MouseListener.

bool GenericMouseListener::HandleMouseMoved ( const Mouse mouse,
float  x,
float  y 
) [virtual]

Called when the mouse pointer is moved.

Parameters:
mouse the source of the event
x the x coordinate
y the y coordinate
Returns:
true if this MouseListener handled the event. The Mouse calling this function is responsbile for using this return value or not.

Implements dtCore::MouseListener.

bool GenericMouseListener::HandleMouseDragged ( const Mouse mouse,
float  x,
float  y 
) [virtual]

Called when the mouse pointer is dragged.

Parameters:
mouse the source of the event
x the x coordinate
y the y coordinate
Returns:
true if this MouseListener handled the event. The Mouse calling this function is responsbile for using this return value or not.

Implements dtCore::MouseListener.

bool GenericMouseListener::HandleMouseScrolled ( const Mouse mouse,
int  delta 
) [virtual]

Called when the mouse is scrolled.

Parameters:
mouse the source of the event
delta the scroll delta (+1 for up one, -1 for down one)
Returns:
true if this MouseListener handled the event. The Mouse calling this function is responsbile for using this return value or not.

Implements dtCore::MouseListener.

void GenericMouseListener::SetPressedCallback ( const ButtonCallbackType callback  ) 

const GenericMouseListener::ButtonCallbackType & GenericMouseListener::GetPressedCallback (  )  const

bool GenericMouseListener::IsPressedCallbackEnabled (  )  const

void GenericMouseListener::DisablePressedCallback (  ) 

void GenericMouseListener::SetReleasedCallback ( const ButtonCallbackType callback  ) 

const GenericMouseListener::ButtonCallbackType & GenericMouseListener::GetReleasedCallback (  )  const

bool GenericMouseListener::IsReleasedCallbackEnabled (  )  const

void GenericMouseListener::DisableReleasedCallback (  ) 

void GenericMouseListener::SetClickedCallback ( const ClickCallbackType callback  ) 

const GenericMouseListener::ClickCallbackType & GenericMouseListener::GetClickedCallback (  )  const

bool GenericMouseListener::IsClickedCallbackEnabled (  )  const

void GenericMouseListener::DisableClickedCallback (  ) 

void GenericMouseListener::SetMovedCallback ( const MovementCallbackType callback  ) 

const GenericMouseListener::MovementCallbackType & GenericMouseListener::GetMovedCallback (  )  const

bool GenericMouseListener::IsMovedCallbackEnabled (  )  const

void GenericMouseListener::DisableMovedCallback (  ) 

void GenericMouseListener::SetDraggedCallback ( const MovementCallbackType callback  ) 

const GenericMouseListener::MovementCallbackType & GenericMouseListener::GetDraggedCallback (  )  const

bool GenericMouseListener::IsDraggedCallbackEnabled (  )  const

void GenericMouseListener::DisableDraggedCallback (  ) 

void GenericMouseListener::SetScrolledCallback ( const WheelCallbackType callback  ) 

const GenericMouseListener::WheelCallbackType & GenericMouseListener::GetScrolledCallback (  )  const

bool GenericMouseListener::IsScrolledCallbackEnabled (  )  const

void GenericMouseListener::DisableScrolledCallback (  ) 


http://www.delta3d.org
2.0.0 generated 14 Feb 2008