Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #pragma once
00024
00025 #include "cinder/Cinder.h"
00026 #include "cinder/app/Event.h"
00027 #include "cinder/Vector.h"
00028
00029
00030 namespace cinder { namespace app {
00031
00033 class MouseEvent : public Event {
00034 public:
00035 MouseEvent() : Event() {}
00036 MouseEvent( int aInitiator, int aX, int aY, unsigned int aModifiers, float aWheelIncrement, uint32_t aNativeModifiers )
00037 : Event(), mInitiator( aInitiator ), mX( aX ), mY( aY ), mModifiers( aModifiers ), mWheelIncrement( aWheelIncrement ), mNativeModifiers( aNativeModifiers )
00038 {}
00039
00041 int getX() const { return mX; }
00043 int getY() const { return mY; }
00045 Vec2i getPos() const { return Vec2i( mX, mY ); }
00047 bool isLeft() const { return ( mInitiator & LEFT_DOWN ) ? true : false; }
00049 bool isRight() const { return ( mInitiator & RIGHT_DOWN ) ? true : false; }
00051 bool isMiddle() const { return ( mInitiator & MIDDLE_DOWN ) ? true : false; }
00053 bool isLeftDown() const { return (mModifiers & LEFT_DOWN) ? true : false; }
00055 bool isRightDown() const { return (mModifiers & RIGHT_DOWN) ? true : false; }
00057 bool isMiddleDown() const { return (mModifiers & MIDDLE_DOWN) ? true : false; }
00059 bool isShiftDown() const { return (mModifiers & SHIFT_DOWN) ? true : false; }
00061 bool isAltDown() const { return (mModifiers & ALT_DOWN) ? true : false; }
00063 bool isControlDown() const { return (mModifiers & CTRL_DOWN) ? true : false; }
00065 bool isMetaDown() const { return (mModifiers & META_DOWN) ? true : false; }
00067 bool isAccelDown() const { return (mModifiers & ACCEL_DOWN) ? true : false; }
00069 float getWheelIncrement() const { return mWheelIncrement; }
00070
00072 uint32_t getNativeModifiers() const { return mNativeModifiers; }
00073
00074 enum { LEFT_DOWN = 0x0001,
00075 RIGHT_DOWN = 0x0002,
00076 MIDDLE_DOWN = 0x0004,
00077 SHIFT_DOWN = 0x0008,
00078 ALT_DOWN = 0x0010,
00079 CTRL_DOWN = 0x0020,
00080 META_DOWN = 0x0040,
00081 #if defined( CINDER_MSW )
00082 ACCEL_DOWN = CTRL_DOWN
00083 #else
00084 ACCEL_DOWN = META_DOWN
00085 #endif
00086 };
00087
00088 private:
00089 int mInitiator;
00090 int mX, mY;
00091 unsigned int mModifiers;
00092 float mWheelIncrement;
00093 uint32_t mNativeModifiers;
00094 };
00095
00096 } }