mirror of
https://github.com/thorvg/thorvg.git
synced 2025-07-25 15:48:58 +00:00
tvg_saver: add 4 bytes reserved area for future extensions.
This memory can be used for storing feature flags.
This commit is contained in:
parent
af002df5ff
commit
b6590314f6
4 changed files with 9 additions and 5 deletions
Binary file not shown.
|
@ -40,7 +40,7 @@ using TvgBinFlag = TvgBinByte;
|
|||
#define TVG_HEADER_SIGNATURE_LENGTH 6
|
||||
#define TVG_HEADER_VERSION "000400" //Major 00, Minor 04, Micro 00
|
||||
#define TVG_HEADER_VERSION_LENGTH 6
|
||||
|
||||
#define TVG_HEADER_RESERVED_LENGTH 4 //Storing flags for extensions
|
||||
|
||||
//Paint Type
|
||||
#define TVG_TAG_CLASS_PICTURE (TvgBinTag)0xfc
|
||||
|
|
|
@ -59,10 +59,13 @@ bool TvgLoader::readHeader()
|
|||
ptr += TVG_HEADER_VERSION_LENGTH;
|
||||
this->version = atoi(version);
|
||||
if (this->version > THORVG_VERSION_NUMBER()) {
|
||||
TVGLOG("TVG", "This TVG file expects a higher version(%d) of ThorVG symbol!, Current ThorVG(%d)", this->version, THORVG_VERSION_NUMBER());
|
||||
TVGLOG("TVG", "This TVG file expects a higher version(%d) of ThorVG symbol(%d)", this->version, THORVG_VERSION_NUMBER());
|
||||
}
|
||||
|
||||
//3. View Size
|
||||
//3. Reserved
|
||||
ptr += TVG_HEADER_RESERVED_LENGTH;
|
||||
|
||||
//4. View Size
|
||||
READ_FLOAT(&w, ptr);
|
||||
ptr += SIZE(float);
|
||||
READ_FLOAT(&h, ptr);
|
||||
|
|
|
@ -83,7 +83,8 @@ bool TvgSaver::flushTo(const std::string& path)
|
|||
/* WARNING: Header format shall not changed! */
|
||||
bool TvgSaver::writeHeader()
|
||||
{
|
||||
buffer.grow(TVG_HEADER_SIGNATURE_LENGTH + TVG_HEADER_VERSION_LENGTH);
|
||||
auto headerSize = TVG_HEADER_SIGNATURE_LENGTH + TVG_HEADER_VERSION_LENGTH + TVG_HEADER_RESERVED_LENGTH + SIZE(vsize);
|
||||
buffer.grow(headerSize);
|
||||
|
||||
//1. Signature
|
||||
auto ptr = buffer.ptr();
|
||||
|
@ -94,7 +95,7 @@ bool TvgSaver::writeHeader()
|
|||
memcpy(ptr, TVG_HEADER_VERSION, TVG_HEADER_VERSION_LENGTH);
|
||||
ptr += TVG_HEADER_VERSION_LENGTH;
|
||||
|
||||
buffer.count += (TVG_HEADER_SIGNATURE_LENGTH + TVG_HEADER_VERSION_LENGTH);
|
||||
buffer.count += (TVG_HEADER_SIGNATURE_LENGTH + TVG_HEADER_VERSION_LENGTH + TVG_HEADER_RESERVED_LENGTH);
|
||||
|
||||
//3. View Size
|
||||
writeData(vsize, SIZE(vsize));
|
||||
|
|
Loading…
Add table
Reference in a new issue