00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00043 #include "BIMouseEvent.h"
00044 #include "../Common/BCCommonInputEventData.h"
00045
00046 namespace BC
00047 {
00048
00056 class BCMouseEvent : public BAL::BIMouseEvent, public BCCommonInputEventData {
00057 public:
00058 BCMouseEvent(MouseEventType, const IntPoint& pos, const IntPoint& globalPos, MouseButton,
00059 int clickCount, bool shift, bool ctrl, bool alt, bool meta);
00060
00061 virtual const IntPoint& pos() const;
00062 virtual void shiftPos(int dx, int dy);
00063 virtual const IntPoint& globalPos() const;
00064
00065 virtual MouseButton button() const;
00066 virtual MouseEventType eventType() const { return m_eventType; }
00067 virtual int clickCount() const;
00068 virtual double timestamp() const { return m_timestamp; }
00069 virtual BIEvent* clone() const;
00070 virtual unsigned modifierFlags() const;
00071 virtual bool shiftKey() const { return BCCommonInputEventData::shiftKey(); }
00072 virtual bool ctrlKey() const { return BCCommonInputEventData::ctrlKey(); }
00073 virtual bool altKey() const { return BCCommonInputEventData::altKey(); }
00074 virtual bool metaKey() const { return BCCommonInputEventData::metaKey(); }
00075
00076 private:
00077 IntPoint m_position;
00078 IntPoint m_globalPosition;
00079 MouseButton m_button;
00080 MouseEventType m_eventType;
00081 int m_clickCount;
00082 double m_timestamp;
00083 };
00084
00085 }