00001 00032 #ifndef LL_LLTEXTUREVIEW_H 00033 #define LL_LLTEXTUREVIEW_H 00034 00035 #include "llcontainerview.h" 00036 #include "linked_lists.h" 00037 00038 class LLViewerImage; 00039 class LLTextureBar; 00040 class LLGLTexMemBar; 00041 00042 class LLTextureView : public LLContainerView 00043 { 00044 friend class LLTextureBar; 00045 friend class LLGLTexMemBar; 00046 public: 00047 LLTextureView(const std::string& name, const LLRect& rect); 00048 ~LLTextureView(); 00049 00050 virtual EWidgetType getWidgetType() const; 00051 virtual LLString getWidgetTag() const; 00052 00053 /*virtual*/ void draw(); 00054 /*virtual*/ BOOL handleMouseDown(S32 x, S32 y, MASK mask); 00055 /*virtual*/ BOOL handleMouseUp(S32 x, S32 y, MASK mask); 00056 /*virtual*/ BOOL handleKey(KEY key, MASK mask, BOOL called_from_parent); 00057 00058 static void addDebugImage(LLViewerImage* image) { sDebugImages.insert(image); } 00059 static void removeDebugImage(LLViewerImage* image) { sDebugImages.insert(image); } 00060 static void clearDebugImages() { sDebugImages.clear(); } 00061 00062 private: 00063 BOOL addBar(LLViewerImage *image, BOOL hilight = FALSE); 00064 void removeAllBars(); 00065 00066 private: 00067 BOOL mFreezeView; 00068 BOOL mOrderFetch; 00069 BOOL mPrintList; 00070 00071 LLTextBox *mInfoTextp; 00072 00073 std::vector<LLTextureBar*> mTextureBars; 00074 U32 mNumTextureBars; 00075 00076 LLGLTexMemBar* mGLTexMemBar; 00077 00078 public: 00079 static std::set<LLViewerImage*> sDebugImages; 00080 }; 00081 00082 extern LLTextureView *gTextureView; 00083 #endif // LL_TEXTURE_VIEW_H