Blender V4.3
blendthumb_png.cc File Reference
#include <cstring>
#include <optional>
#include <zlib.h>
#include "blendthumb.hh"
#include "BLI_endian_defines.h"
#include "BLI_endian_switch.h"
#include "BLI_vector.hh"

Go to the source code of this file.

Macros

#define PNG_CHUNK_EXTRA   12
 

Functions

static void png_extend_native_int32 (blender::Vector< uint8_t > &output, int32_t data)
 
static void png_chunk_create (blender::Vector< uint8_t > &output, const uint32_t tag, const blender::Vector< uint8_t > &data)
 
static blender::Vector< uint8_tfiltered_rows_from_thumb (const Thumbnail *thumb)
 
static std::optional< blender::Vector< uint8_t > > zlib_compress (const blender::Vector< uint8_t > &data)
 
std::optional< blender::Vector< uint8_t > > blendthumb_create_png_data_from_thumb (const Thumbnail *thumb)
 

Detailed Description

Expose blendthumb_create_png_data_from_thumb that creates the PNG data but does not write it to a file.

Definition in file blendthumb_png.cc.

Macro Definition Documentation

◆ PNG_CHUNK_EXTRA

#define PNG_CHUNK_EXTRA   12

The number of bytes each chunk uses on top of the data that's written.

Definition at line 31 of file blendthumb_png.cc.

Referenced by blendthumb_create_png_data_from_thumb().

Function Documentation

◆ blendthumb_create_png_data_from_thumb()

◆ filtered_rows_from_thumb()

◆ png_chunk_create()

static void png_chunk_create ( blender::Vector< uint8_t > & output,
const uint32_t tag,
const blender::Vector< uint8_t > & data )
static

Definition at line 33 of file blendthumb_png.cc.

References png_extend_native_int32().

Referenced by blendthumb_create_png_data_from_thumb().

◆ png_extend_native_int32()

static void png_extend_native_int32 ( blender::Vector< uint8_t > & output,
int32_t data )
static

◆ zlib_compress()