llresizehandle.h

Go to the documentation of this file.
00001 
00032 #ifndef LL_RESIZEHANDLE_H
00033 #define LL_RESIZEHANDLE_H
00034 
00035 #include "stdtypes.h"
00036 #include "llview.h"
00037 #include "llimagegl.h"
00038 #include "llcoord.h"
00039 
00040 
00041 class LLResizeHandle : public LLView
00042 {
00043 public:
00044         enum ECorner { LEFT_TOP, LEFT_BOTTOM, RIGHT_TOP, RIGHT_BOTTOM };
00045 
00046         
00047         LLResizeHandle(const LLString& name, const LLRect& rect, S32 min_width, S32 min_height, ECorner corner = RIGHT_BOTTOM );
00048 
00049         virtual EWidgetType getWidgetType() const;
00050         virtual LLString getWidgetTag() const;
00051 
00052         virtual void    draw();
00053         virtual BOOL    handleHover(S32 x, S32 y, MASK mask);
00054         virtual BOOL    handleMouseDown(S32 x, S32 y, MASK mask);
00055         virtual BOOL    handleMouseUp(S32 x, S32 y, MASK mask);
00056 
00057         void                    setResizeLimits( S32 min_width, S32 min_height ) { mMinWidth = min_width; mMinHeight = min_height; }
00058 
00059 protected:
00060         BOOL                    pointInHandle( S32 x, S32 y );
00061 
00062 protected:
00063         S32                             mDragLastScreenX;
00064         S32                             mDragLastScreenY;
00065         S32                             mLastMouseScreenX;
00066         S32                             mLastMouseScreenY;
00067         LLCoordGL               mLastMouseDir;
00068         LLPointer<LLImageGL>    mImage;
00069         S32                             mMinWidth;
00070         S32                             mMinHeight;
00071         ECorner                 mCorner;
00072 };
00073 
00074 const S32 RESIZE_HANDLE_HEIGHT = 16;
00075 const S32 RESIZE_HANDLE_WIDTH = 16;
00076 
00077 #endif  // LL_RESIZEHANDLE_H
00078 
00079 

Generated on Thu Jul 1 06:09:05 2010 for Second Life Viewer by  doxygen 1.4.7