@ -462,13 +462,37 @@ class GlutApplication::MouseMoveEvent: public GlutApplication::InputEvent {
friend class GlutApplication ;
friend class GlutApplication ;
public :
public :
/**
* @ brief Mouse button
*
* @ see Buttons , buttons ( )
*/
enum class Button : UnsignedByte {
/**
* Any button . Note that GLUT doesn ' t differentiate between mouse
* buttons when firing the event .
*/
Left = 1
} ;
/**
* @ brief Set of mouse buttons
*
* @ see buttons ( )
*/
typedef Containers : : EnumSet < Button , UnsignedByte > Buttons ;
/** @brief Position */
/** @brief Position */
constexpr Vector2i position ( ) const { return _position ; }
constexpr Vector2i position ( ) const { return _position ; }
/** @brief Mouse buttons */
constexpr Buttons buttons ( ) { return _buttons ; }
private :
private :
constexpr MouseMoveEvent ( const Vector2i & position ) : _position ( position ) { }
constexpr MouseMoveEvent ( const Vector2i & position , Buttons buttons ) : _position ( position ) , _buttons ( buttons ) { }
const Vector2i _position ;
const Vector2i _position ;
const Buttons _buttons ;
} ;
} ;
/** @hideinitializer
/** @hideinitializer
@ -502,6 +526,8 @@ typedef GlutApplication Application;
# endif
# endif
# endif
# endif
CORRADE_ENUMSET_OPERATORS ( GlutApplication : : MouseMoveEvent : : Buttons )
/* Implementations for inline functions with unused parameters */
/* Implementations for inline functions with unused parameters */
inline void GlutApplication : : keyPressEvent ( KeyEvent & ) { }
inline void GlutApplication : : keyPressEvent ( KeyEvent & ) { }
inline void GlutApplication : : mousePressEvent ( MouseEvent & ) { }
inline void GlutApplication : : mousePressEvent ( MouseEvent & ) { }