Blender  V3.3
Functions
blendthumb_extract.cc File Reference
#include <cstring>
#include "BLI_alloca.h"
#include "BLI_endian_defines.h"
#include "BLI_endian_switch.h"
#include "BLI_fileops.h"
#include "BLI_filereader.h"
#include "BLI_string.h"
#include "blendthumb.hh"

Go to the source code of this file.

Functions

static bool blend_header_check_magic (const char header[12])
 
static bool blend_header_is_version_valid (const char header[12])
 
static int blend_header_pointer_size (const char header[12])
 
static bool blend_header_is_endian_switch_needed (const char header[12])
 
static void thumb_data_vertical_flip (Thumbnail *thumb)
 
static int32_t bytes_to_native_i32 (const uint8_t bytes[4], bool endian_switch)
 
static bool file_read (FileReader *file, uint8_t *buf, size_t buf_len)
 
static bool file_seek (FileReader *file, size_t len)
 
static eThumbStatus blendthumb_extract_from_file_impl (FileReader *file, Thumbnail *thumb, const size_t bhead_size, const bool endian_switch)
 
eThumbStatus blendthumb_create_thumb_from_file (FileReader *rawfile, Thumbnail *thumb)
 

Detailed Description

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

Definition in file blendthumb_extract.cc.

Function Documentation

◆ blend_header_check_magic()

static bool blend_header_check_magic ( const char  header[12])
static

Definition at line 22 of file blendthumb_extract.cc.

References BLI_str_startswith(), and ELEM.

Referenced by blendthumb_create_thumb_from_file().

◆ blend_header_is_endian_switch_needed()

static bool blend_header_is_endian_switch_needed ( const char  header[12])
static

Definition at line 53 of file blendthumb_extract.cc.

References B_ENDIAN, ENDIAN_ORDER, and L_ENDIAN.

Referenced by blendthumb_create_thumb_from_file().

◆ blend_header_is_version_valid()

static bool blend_header_is_version_valid ( const char  header[12])
static

Definition at line 39 of file blendthumb_extract.cc.

Referenced by blendthumb_create_thumb_from_file().

◆ blend_header_pointer_size()

static int blend_header_pointer_size ( const char  header[12])
static

Definition at line 48 of file blendthumb_extract.cc.

Referenced by blendthumb_create_thumb_from_file().

◆ blendthumb_create_thumb_from_file()

eThumbStatus blendthumb_create_thumb_from_file ( struct FileReader rawfile,
Thumbnail thumb 
)

◆ blendthumb_extract_from_file_impl()

static eThumbStatus blendthumb_extract_from_file_impl ( FileReader file,
Thumbnail thumb,
const size_t  bhead_size,
const bool  endian_switch 
)
static

◆ bytes_to_native_i32()

static int32_t bytes_to_native_i32 ( const uint8_t  bytes[4],
bool  endian_switch 
)
static

Definition at line 77 of file blendthumb_extract.cc.

References BLI_endian_switch_int32(), and data.

Referenced by blendthumb_extract_from_file_impl().

◆ file_read()

static bool file_read ( FileReader file,
uint8_t buf,
size_t  buf_len 
)
static

Definition at line 87 of file blendthumb_extract.cc.

References file.

Referenced by blendthumb_extract_from_file_impl().

◆ file_seek()

static bool file_seek ( FileReader file,
size_t  len 
)
static

◆ thumb_data_vertical_flip()

static void thumb_data_vertical_flip ( Thumbnail thumb)
static