Blender  V3.3
Macros | Functions
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 30 of file blendthumb_png.cc.

Function Documentation

◆ blendthumb_create_png_data_from_thumb()

std::optional<blender::Vector<uint8_t> > blendthumb_create_png_data_from_thumb ( const Thumbnail thumb)

◆ filtered_rows_from_thumb()

static blender::Vector<uint8_t> filtered_rows_from_thumb ( const Thumbnail thumb)
static

◆ 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 32 of file blendthumb_png.cc.

References data, output, and 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()

static std::optional<blender::Vector<uint8_t> > zlib_compress ( const blender::Vector< uint8_t > &  data)
static