llmousehandler.h

Go to the documentation of this file.
00001 
00032 #ifndef LL_MOUSEHANDLER_H
00033 #define LL_MOUSEHANDLER_H
00034 
00035 #include "llstring.h"
00036 
00037 // Abstract interface.
00038 // Intended for use via multiple inheritance. 
00039 // A class may have as many interfaces as it likes, but never needs to inherit one more than once.
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         // Hack to support LLFocusMgr
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

Generated on Thu Jul 1 06:08:54 2010 for Second Life Viewer by  doxygen 1.4.7