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
00024 #pragma once
00025
00026 #include "cinder/Cinder.h"
00027 #include "cinder/app/Event.h"
00028 #include "cinder/Vector.h"
00029
00030
00031 namespace cinder { namespace app {
00032
00034 class MouseEvent : public Event {
00035 public:
00036 MouseEvent() : Event() {}
00037 MouseEvent( WindowRef win, int aInitiator, int aX, int aY, unsigned int aModifiers, float aWheelIncrement, uint32_t aNativeModifiers )
00038 : Event( win ), mInitiator( aInitiator ), mX( aX ), mY( aY ), mModifiers( aModifiers ), mWheelIncrement( aWheelIncrement ), mNativeModifiers( aNativeModifiers )
00039 {}
00040
00042 int getX() const { return mX; }
00044 int getY() const { return mY; }
00046 Vec2i getPos() const { return Vec2i( mX, mY ); }
00048 bool isLeft() const { return ( mInitiator & LEFT_DOWN ) ? true : false; }
00050 bool isRight() const { return ( mInitiator & RIGHT_DOWN ) ? true : false; }
00052 bool isMiddle() const { return ( mInitiator & MIDDLE_DOWN ) ? true : false; }
00054 bool isLeftDown() const { return (mModifiers & LEFT_DOWN) ? true : false; }
00056 bool isRightDown() const { return (mModifiers & RIGHT_DOWN) ? true : false; }
00058 bool isMiddleDown() const { return (mModifiers & MIDDLE_DOWN) ? true : false; }
00060 bool isShiftDown() const { return (mModifiers & SHIFT_DOWN) ? true : false; }
00062 bool isAltDown() const { return (mModifiers & ALT_DOWN) ? true : false; }
00064 bool isControlDown() const { return (mModifiers & CTRL_DOWN) ? true : false; }
00066 bool isMetaDown() const { return (mModifiers & META_DOWN) ? true : false; }
00068 bool isAccelDown() const { return (mModifiers & ACCEL_DOWN) ? true : false; }
00070 float getWheelIncrement() const { return mWheelIncrement; }
00071
00073 uint32_t getNativeModifiers() const { return mNativeModifiers; }
00074
00075 enum { LEFT_DOWN = 0x0001,
00076 RIGHT_DOWN = 0x0002,
00077 MIDDLE_DOWN = 0x0004,
00078 SHIFT_DOWN = 0x0008,
00079 ALT_DOWN = 0x0010,
00080 CTRL_DOWN = 0x0020,
00081 META_DOWN = 0x0040,
00082 #if defined( CINDER_MSW )
00083 ACCEL_DOWN = CTRL_DOWN
00084 #else
00085 ACCEL_DOWN = META_DOWN
00086 #endif
00087 };
00088
00089 private:
00090 int mInitiator;
00091 int mX, mY;
00092 unsigned int mModifiers;
00093 float mWheelIncrement;
00094 uint32_t mNativeModifiers;
00095 };
00096
00097 } }