1
0
mirror of https://github.com/tumic0/GPXSee.git synced 2025-02-08 04:25:12 +01:00
GPXSee/src/map/IMG/huffmanbuffer.cpp
2022-03-25 19:28:32 +01:00

23 lines
553 B
C++

#include "rgnfile.h"
#include "huffmanbuffer.h"
using namespace IMG;
bool HuffmanBuffer::load(const RGNFile *rgn, SubFile::Handle &rgnHdl)
{
quint32 recordSize, recordOffset = rgn->dict().offset;
for (int i = 0; i <= _id; i++) {
if (!rgn->seek(rgnHdl, recordOffset))
return false;
if (!rgn->readVUInt32(rgnHdl, recordSize))
return false;
recordOffset = rgn->pos(rgnHdl) + recordSize;
if (recordOffset > rgn->dict().offset + rgn->dict().size)
return false;
};
resize(recordSize);
return rgn->read(rgnHdl, data(), recordSize);
}