Blender  V3.3
Classes | Macros | Typedefs | Enumerations | Variables
IMB_imbuf_types.h File Reference

Contains defines and structs used throughout the imbuf module. More...

#include "DNA_vec_types.h"

Go to the source code of this file.

Classes

struct  DDSData
 
struct  ImbFormatOptions
 
struct  ImBuf
 

Macros

#define IMB_MIPMAP_LEVELS   20
 
#define IMB_FILENAME_SIZE   1024
 
#define IMB_FTYPE_NONE   0
 
#define OPENEXR_HALF   (1 << 8)
 
#define OPENEXR_COMPRESS   (15)
 
#define PNG_16BIT   (1 << 10)
 
#define RAWTGA   1
 
Imbuf Preset Profile Tags

Some predefined color space profiles that 8 bit imbufs can represent.

#define IB_PROFILE_NONE   0
 
#define IB_PROFILE_LINEAR_RGB   1
 
#define IB_PROFILE_SRGB   2
 
#define IB_PROFILE_CUSTOM   3
 

Typedefs

typedef struct DDSData DDSData
 
typedef struct ImbFormatOptions ImbFormatOptions
 

Enumerations

enum  eImbFileType {
  IMB_FTYPE_PNG = 1 , IMB_FTYPE_TGA = 2 , IMB_FTYPE_JPG = 3 , IMB_FTYPE_BMP = 4 ,
  IMB_FTYPE_OPENEXR = 5 , IMB_FTYPE_IMAGIC = 6
}
 
Imbuf Color Management Flag
enum  { IMB_COLORMANAGE_IS_DATA = (1 << 0) }
 

Variables

const char * imb_ext_image []
 
const char * imb_ext_movie []
 
const char * imb_ext_audio []
 
const char * imb_ext_image_filepath_only []
 

Imbuf Component flags

These flags determine the components of an ImBuf struct.

enum  eImBufFlags {
  IB_rect = 1 << 0 , IB_test = 1 << 1 , IB_zbuf = 1 << 3 , IB_mem = 1 << 4 ,
  IB_rectfloat = 1 << 5 , IB_zbuffloat = 1 << 6 , IB_multilayer = 1 << 7 , IB_metadata = 1 << 8 ,
  IB_animdeinterlace = 1 << 9 , IB_tiles = 1 << 10 , IB_tilecache = 1 << 11 , IB_alphamode_premul = 1 << 12 ,
  IB_alphamode_detect = 1 << 13 , IB_alphamode_channel_packed = 1 << 14 , IB_alphamode_ignore = 1 << 15 , IB_thumbnail = 1 << 16 ,
  IB_multiview = 1 << 17 , IB_halffloat = 1 << 18
}
 
typedef enum eImBufFlags eImBufFlags
 

Image Buffer

enum  {
  IB_BITMAPDIRTY = (1 << 1) , IB_MIPMAP_INVALID = (1 << 2) , IB_RECT_INVALID = (1 << 3) , IB_DISPLAY_BUFFER_INVALID = (1 << 4) ,
  IB_PERSISTENT = (1 << 5)
}
 userflags: Flags used internally by blender for image-buffers. More...
 
typedef struct ImBuf ImBuf
 

Detailed Description

Contains defines and structs used throughout the imbuf module.

Todo:
Clean up includes.

Types needed for using the image buffer.

Imbuf is external code, slightly adapted to live in the Blender context. It requires an external jpeg module, and the avi-module (also external code) in order to function correctly.

This file contains types and some constants that go with them. Most are self-explanatory (e.g. IS_amiga tests whether the buffer contains an Amiga-format file).

Definition in file IMB_imbuf_types.h.

Macro Definition Documentation

◆ IB_PROFILE_CUSTOM

#define IB_PROFILE_CUSTOM   3

Definition at line 305 of file IMB_imbuf_types.h.

◆ IB_PROFILE_LINEAR_RGB

#define IB_PROFILE_LINEAR_RGB   1

Definition at line 303 of file IMB_imbuf_types.h.

◆ IB_PROFILE_NONE

#define IB_PROFILE_NONE   0

Definition at line 302 of file IMB_imbuf_types.h.

◆ IB_PROFILE_SRGB

#define IB_PROFILE_SRGB   2

Definition at line 304 of file IMB_imbuf_types.h.

◆ IMB_FILENAME_SIZE

#define IMB_FILENAME_SIZE   1024

Definition at line 29 of file IMB_imbuf_types.h.

◆ IMB_FTYPE_NONE

#define IMB_FTYPE_NONE   0

Definition at line 88 of file IMB_imbuf_types.h.

◆ IMB_MIPMAP_LEVELS

#define IMB_MIPMAP_LEVELS   20

Definition at line 28 of file IMB_imbuf_types.h.

◆ OPENEXR_COMPRESS

#define OPENEXR_COMPRESS   (15)

Definition at line 95 of file IMB_imbuf_types.h.

◆ OPENEXR_HALF

#define OPENEXR_HALF   (1 << 8)

Definition at line 93 of file IMB_imbuf_types.h.

◆ PNG_16BIT

#define PNG_16BIT   (1 << 10)

Definition at line 114 of file IMB_imbuf_types.h.

◆ RAWTGA

#define RAWTGA   1

Definition at line 116 of file IMB_imbuf_types.h.

Typedef Documentation

◆ DDSData

typedef struct DDSData DDSData

◆ eImBufFlags

typedef enum eImBufFlags eImBufFlags

◆ ImbFormatOptions

◆ ImBuf

typedef struct ImBuf ImBuf

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

userflags: Flags used internally by blender for image-buffers.

Enumerator
IB_BITMAPDIRTY 

image needs to be saved is not the same as filename

IB_MIPMAP_INVALID 

image mipmaps are invalid, need recreate

IB_RECT_INVALID 

float buffer changed, needs recreation of byte rect

IB_DISPLAY_BUFFER_INVALID 

either float or byte buffer changed, need to re-calculate display buffers

IB_PERSISTENT 

image buffer is persistent in the memory and should never be removed from the cache

Definition at line 281 of file IMB_imbuf_types.h.

◆ anonymous enum

anonymous enum
Enumerator
IMB_COLORMANAGE_IS_DATA 

Definition at line 342 of file IMB_imbuf_types.h.

◆ eImBufFlags

Enumerator
IB_rect 
IB_test 
IB_zbuf 
IB_mem 
IB_rectfloat 
IB_zbuffloat 
IB_multilayer 
IB_metadata 
IB_animdeinterlace 
IB_tiles 
IB_tilecache 
IB_alphamode_premul 

indicates whether image on disk have premul alpha

IB_alphamode_detect 

if this flag is set, alpha mode would be guessed from file

IB_alphamode_channel_packed 
IB_alphamode_ignore 

ignore alpha on load and substitute it with 1.0f

IB_thumbnail 
IB_multiview 
IB_halffloat 

Definition at line 137 of file IMB_imbuf_types.h.

Variable Documentation

◆ imb_ext_audio

const char* imb_ext_audio[]
extern

Sort of wrong having audio extensions in imbuf.

Definition at line 88 of file util.c.

Referenced by ED_path_extension_type().

◆ imb_ext_image

const char* imb_ext_image[]
extern

Definition at line 43 of file util.c.

Referenced by do_add_image_extension(), ED_path_extension_type(), and studiolight_add_file().

◆ imb_ext_image_filepath_only

const char* imb_ext_image_filepath_only[]
extern

Image formats that can only be loaded via filepath.

Definition at line 72 of file util.c.

Referenced by imb_is_filepath_format().

◆ imb_ext_movie

const char* imb_ext_movie[]
extern

Definition at line 81 of file util.c.

Referenced by BKE_image_load(), ED_path_extension_type(), and image_replace_exec().