CrossFramework Library
|
00001 00006 #if defined(XG3D_INCLUDED_RESTEX_HPP) 00007 #else 00008 #define XG3D_INCLUDED_RESTEX_HPP 00009 00010 //------------------------------------------------------------ 00011 #include <XBase/FunctionAttribute.hpp> 00012 #include <XG3D/BuiltInTypes.hpp> 00013 #include <XG3D/ITexRes.hpp> 00014 #include <XG3D/ResTexFormat.hpp> 00015 #include <XData/XData.hpp> 00016 00017 //------------------------------------------------------------ 00018 namespace XG3D { 00019 struct BinResTex; 00020 } 00021 00022 //------------------------------------------------------------ 00023 namespace XG3D { 00025 00026 00031 class ResTex : public ITexRes 00032 { 00033 public: 00035 00036 00037 ResTex(); 00038 00044 ResTex( const_ptr_t aBin ); 00046 00048 00049 00050 bool isValid()const; 00052 00054 00055 u16 width()const; 00056 u16 height()const; 00057 ResTexFormat format()const; 00058 const byte_t* pixels()const; 00059 00060 00062 00063 XBASE_OVERRIDE( const TexResData texResData()const ); 00065 00066 private: 00067 const_ptr_t mPtr; 00068 //------------------------------------------------------------ 00069 bool checkInvalid()const; 00070 const BinResTex& bin()const; 00071 const_ptr_t ref( ::XData::Reference val )const; 00072 }; 00074 } 00075 //------------------------------------------------------------ 00076 #endif 00077 // EOF