mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 08:57:34 +00:00
LibGfx: Use clear_with capacity instead of clear in PNGWriter
Same vector was cleared up and filled in continuously.
This commit is contained in:
parent
b70f2b00a3
commit
d1028f8aed
1 changed files with 11 additions and 4 deletions
|
@ -31,6 +31,9 @@ public:
|
||||||
|
|
||||||
void add_u8(u8);
|
void add_u8(u8);
|
||||||
|
|
||||||
|
template<typename T>
|
||||||
|
void add(T*, size_t);
|
||||||
|
|
||||||
void store_type();
|
void store_type();
|
||||||
void store_data_length();
|
void store_data_length();
|
||||||
u32 crc();
|
u32 crc();
|
||||||
|
@ -92,6 +95,12 @@ requires(IsUnsigned<T>) void PNGChunk::add(T data)
|
||||||
m_data.append(&data, sizeof(T));
|
m_data.append(&data, sizeof(T));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template<typename T>
|
||||||
|
void PNGChunk::add(T* data, size_t size)
|
||||||
|
{
|
||||||
|
m_data.append(data, size);
|
||||||
|
}
|
||||||
|
|
||||||
template<typename T>
|
template<typename T>
|
||||||
void PNGChunk::add_as_little_endian(T data)
|
void PNGChunk::add_as_little_endian(T data)
|
||||||
{
|
{
|
||||||
|
@ -117,7 +126,7 @@ void NonCompressibleBlock::add_byte_to_block(u8 data, PNGChunk& chunk)
|
||||||
update_adler(data);
|
update_adler(data);
|
||||||
if (full()) {
|
if (full()) {
|
||||||
add_block_to_chunk(chunk, false);
|
add_block_to_chunk(chunk, false);
|
||||||
m_non_compressible_data.clear();
|
m_non_compressible_data.clear_with_capacity();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -131,9 +140,7 @@ void NonCompressibleBlock::add_block_to_chunk(PNGChunk& png_chunk, bool last)
|
||||||
png_chunk.add_as_little_endian(len);
|
png_chunk.add_as_little_endian(len);
|
||||||
png_chunk.add_as_little_endian(nlen);
|
png_chunk.add_as_little_endian(nlen);
|
||||||
|
|
||||||
for (auto non_compressed_byte : m_non_compressible_data) {
|
png_chunk.add(m_non_compressible_data.data(), m_non_compressible_data.size());
|
||||||
png_chunk.add_u8(non_compressed_byte);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void NonCompressibleBlock::finalize(PNGChunk& chunk)
|
void NonCompressibleBlock::finalize(PNGChunk& chunk)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue