00001
00032 #ifndef LL_MOUSEHANDLER_H
00033 #define LL_MOUSEHANDLER_H
00034
00035 #include "llstring.h"
00036
00037
00038
00039
00040
00041 class LLMouseHandler
00042 {
00043 public:
00044 LLMouseHandler() {}
00045 virtual ~LLMouseHandler() {}
00046
00047 virtual BOOL handleMouseDown(S32 x, S32 y, MASK mask) = 0;
00048 virtual BOOL handleMouseUp(S32 x, S32 y, MASK mask) = 0;
00049 virtual BOOL handleHover(S32 x, S32 y, MASK mask) = 0;
00050 virtual BOOL handleScrollWheel(S32 x, S32 y, S32 clicks) = 0;
00051 virtual BOOL handleDoubleClick(S32 x, S32 y, MASK mask) = 0;
00052 virtual BOOL handleRightMouseDown(S32 x, S32 y, MASK mask) = 0;
00053 virtual BOOL handleRightMouseUp(S32 x, S32 y, MASK mask) = 0;
00054 virtual BOOL handleToolTip(S32 x, S32 y, LLString& msg, LLRect* sticky_rect_screen) = 0;
00055 virtual const LLString& getName() const = 0;
00056
00057 virtual void onMouseCaptureLost() = 0;
00058
00059
00060 virtual BOOL isView() = 0;
00061
00062 virtual void screenPointToLocal(S32 screen_x, S32 screen_y, S32* local_x, S32* local_y) const = 0;
00063 virtual void localPointToScreen(S32 local_x, S32 local_y, S32* screen_x, S32* screen_y) const = 0;
00064
00065 virtual BOOL hasMouseCapture() = 0;
00066 };
00067
00068 #endif