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