diff options
Diffstat (limited to 'TextureLoader/src/Image.cpp')
| -rw-r--r-- | TextureLoader/src/Image.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/TextureLoader/src/Image.cpp b/TextureLoader/src/Image.cpp index a260678..b2c7ab9 100644 --- a/TextureLoader/src/Image.cpp +++ b/TextureLoader/src/Image.cpp @@ -395,14 +395,11 @@ namespace Diligent } Image::Image( IReferenceCounters *pRefCounters, - IFileStream *pSrcFile, + IDataBlob *pFileData, const ImageLoadInfo& LoadInfo ) : TBase(pRefCounters), m_pData( MakeNewRCObj<DataBlobImpl>()(0) ) { - RefCntAutoPtr<IDataBlob> pFileData( MakeNewRCObj<DataBlobImpl>()(0) ); - pSrcFile->Read(pFileData); - if( LoadInfo.Format == EImageFileFormat::tiff ) { LoadTiffFile(pFileData, LoadInfo ); @@ -416,4 +413,12 @@ namespace Diligent LoadJpegFile(pFileData, LoadInfo ); } } + + void Image::CreateFromDataBlob(IDataBlob *pFileData, + const ImageLoadInfo& LoadInfo, + Image **ppImage) + { + *ppImage = MakeNewRCObj<Image>()(pFileData, LoadInfo); + (*ppImage)->AddRef(); + } } |
