@@ -68,7 +68,7 @@ namespace Diligent
6868class TIFFClientOpenWrapper
6969{
7070public:
71- explicit TIFFClientOpenWrapper (IDataBlob* pData) noexcept :
71+ explicit TIFFClientOpenWrapper (const IDataBlob* pData) noexcept :
7272 m_Offset{0 },
7373 m_Size{pData->GetSize ()},
7474 m_pData{pData}
@@ -86,6 +86,7 @@ class TIFFClientOpenWrapper
8686
8787 static tmsize_t TIFFWriteProc (thandle_t pClientData, void * pBuffer, tmsize_t Size)
8888 {
89+ #if 0
8990 TIFFClientOpenWrapper* pThis = static_cast<TIFFClientOpenWrapper*>(pClientData);
9091 if (pThis->m_Offset + Size > pThis->m_Size)
9192 {
@@ -96,6 +97,9 @@ class TIFFClientOpenWrapper
9697 memcpy(pDstPtr, pBuffer, Size);
9798 pThis->m_Offset += Size;
9899 return Size;
100+ #endif
101+ UNSUPPORTED (" TIFF write is not supported" );
102+ return 0 ;
99103 }
100104
101105 static toff_t TIFFSeekProc (thandle_t pClientData, toff_t Offset, int Whence)
@@ -114,8 +118,8 @@ class TIFFClientOpenWrapper
114118
115119 static int TIFFCloseProc (thandle_t pClientData)
116120 {
117- auto * pThis = reinterpret_cast <TIFFClientOpenWrapper*>(pClientData);
118- pThis->m_pData . Release () ;
121+ auto * pThis = reinterpret_cast <TIFFClientOpenWrapper*>(pClientData);
122+ pThis->m_pData = nullptr ;
119123 pThis->m_Size = 0 ;
120124 pThis->m_Offset = 0 ;
121125 return 0 ;
@@ -139,12 +143,12 @@ class TIFFClientOpenWrapper
139143 }
140144
141145private:
142- size_t m_Offset ;
143- size_t m_Size ;
144- RefCntAutoPtr< IDataBlob> m_pData;
146+ size_t m_Offset = 0 ;
147+ size_t m_Size = 0 ;
148+ const IDataBlob* m_pData = nullptr ;
145149};
146150
147- void Image::LoadTiffFile (IDataBlob* pFileData, const ImageLoadInfo& LoadInfo)
151+ void Image::LoadTiffFile (const IDataBlob* pFileData, const ImageLoadInfo& LoadInfo)
148152{
149153 TIFFClientOpenWrapper TiffClientOpenWrpr (pFileData);
150154
@@ -283,7 +287,7 @@ void Image::LoadTiffFile(IDataBlob* pFileData, const ImageLoadInfo& LoadInfo)
283287}
284288
285289
286- static bool LoadHDRFile (IDataBlob* pSrcHdrBits, IDataBlob* pDstPixels, ImageDesc* pDstImgDesc)
290+ static bool LoadHDRFile (const IDataBlob* pSrcHdrBits, IDataBlob* pDstPixels, ImageDesc* pDstImgDesc)
287291{
288292 Int32 Width = 0 , Height = 0 , NumComponents = 0 ;
289293 float * pFloatData = stbi_loadf_from_memory (pSrcHdrBits->GetConstDataPtr <stbi_uc>(), static_cast <Int32>(pSrcHdrBits->GetSize ()), &Width, &Height, &NumComponents, 0 );
@@ -305,7 +309,7 @@ static bool LoadHDRFile(IDataBlob* pSrcHdrBits, IDataBlob* pDstPixels, ImageDesc
305309 return true ;
306310}
307311
308- static bool LoadTGAFile (IDataBlob* pSrcTgaBits, IDataBlob* pDstPixels, ImageDesc* pDstImgDesc)
312+ static bool LoadTGAFile (const IDataBlob* pSrcTgaBits, IDataBlob* pDstPixels, ImageDesc* pDstImgDesc)
309313{
310314 Int32 Width = 0 , Height = 0 , NumComponents = 0 ;
311315 Uint8* pFloatData = stbi_load_from_memory (pSrcTgaBits->GetConstDataPtr <stbi_uc>(), static_cast <Int32>(pSrcTgaBits->GetSize ()), &Width, &Height, &NumComponents, 0 );
@@ -328,7 +332,7 @@ static bool LoadTGAFile(IDataBlob* pSrcTgaBits, IDataBlob* pDstPixels, ImageDesc
328332}
329333
330334Image::Image (IReferenceCounters* pRefCounters,
331- IDataBlob* pFileData,
335+ const IDataBlob* pFileData,
332336 const ImageLoadInfo& LoadInfo) :
333337 TBase{pRefCounters},
334338 m_pData{DataBlobImpl::Create (LoadInfo.pAllocator )}
@@ -394,7 +398,7 @@ Image::Image(IReferenceCounters* pRefCounters,
394398 }
395399}
396400
397- void Image::CreateFromDataBlob (IDataBlob* pFileData,
401+ void Image::CreateFromDataBlob (const IDataBlob* pFileData,
398402 const ImageLoadInfo& LoadInfo,
399403 Image** ppImage)
400404{
0 commit comments