Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTon Roosendaal <ton@blender.org>2006-12-20 20:57:56 +0300
committerTon Roosendaal <ton@blender.org>2006-12-20 20:57:56 +0300
commit253432bfc7c2a1dae224a03fb3055de19743ec67 (patch)
tree2cea30606f9f29be51d5366ddf0d3747b9649b90 /source/blender/imbuf/IMB_imbuf_types.h
parent0a0753b409221b66f5003d8c257426043ada227e (diff)
The Big Image refactor!
Please read: http://www.blender3d.org/cms/Imaging.834.0.html Or in short: - adding MultiLayer Image support - recoded entire Image API - better integration of movie/sequence Images Was a whole load of work... went down for a week to do this. So, will need a lot of testing! Will be in irc all evening.
Diffstat (limited to 'source/blender/imbuf/IMB_imbuf_types.h')
-rw-r--r--source/blender/imbuf/IMB_imbuf_types.h34
1 files changed, 21 insertions, 13 deletions
diff --git a/source/blender/imbuf/IMB_imbuf_types.h b/source/blender/imbuf/IMB_imbuf_types.h
index 586dedc54e8..f5487bb9ac0 100644
--- a/source/blender/imbuf/IMB_imbuf_types.h
+++ b/source/blender/imbuf/IMB_imbuf_types.h
@@ -56,6 +56,8 @@
struct _AviMovie;
struct Mdec;
+#define IB_MIPMAP_LEVELS 10
+
/**
* \brief The basic imbuf type
* \ingroup imbuf
@@ -70,36 +72,41 @@ struct Mdec;
*
* Also, that iff.h needs to be in the final release "plugins/include" dir, too!
*/
-typedef struct ImBuf{
- short x, y; /**< width and Height of our image buffer */
- short skipx; /**< Width in ints to get to the next scanline */
+typedef struct ImBuf {
+ struct ImBuf *next, *prev; /**< allow lists of ImBufs, for caches or flipbooks */
+ short x, y; /**< width and Height of our image buffer */
+ short skipx; /**< Width in ints to get to the next scanline */
unsigned char depth; /**< Active amount of bits/bitplanes */
unsigned char cbits; /**< Amount of active bits in cmap */
unsigned short mincol; /**< smallest color in colormap */
unsigned short maxcol; /**< Largest color in colormap */
- int type; /**< 0=abgr, 1=bitplanes */
- int ftype; /**< File type we are going to save as */
+ int type; /**< 0=abgr, 1=bitplanes */
+ int ftype; /**< File type we are going to save as */
unsigned int *cmap; /**< Color map data. */
unsigned int *rect; /**< pixel values stored here */
unsigned int **planes; /**< bitplanes */
- int flags; /**< Controls which components should exist. */
- int mall; /**< what is malloced internal, and can be freed */
+ int flags; /**< Controls which components should exist. */
+ int mall; /**< what is malloced internal, and can be freed */
short xorig, yorig; /**< Cordinates of first pixel of an image used in some formats (example: targa) */
char name[1023]; /**< The file name assocated with this image */
char namenull; /**< Unused don't want to remove it thought messes things up */
- int userflags; /**< Used to set imbuf to Dirty and other stuff */
- int *zbuf; /**< z buffer data, original zbuffer */
- float *zbuf_float; /**< z buffer data, camera coordinates */
+ int userflags; /**< Used to set imbuf to Dirty and other stuff */
+ int *zbuf; /**< z buffer data, original zbuffer */
+ float *zbuf_float; /**< z buffer data, camera coordinates */
void *userdata;
unsigned char *encodedbuffer; /**< Compressed image only used with png currently */
unsigned int encodedsize; /**< Size of data written to encodedbuffer */
unsigned int encodedbuffersize; /**< Size of encodedbuffer */
float *rect_float; /**< floating point Rect equivilant */
+ int channels; /**< amount of channels in rect_float (0 = 4 channel default) */
float dither; /**< random dither value, for conversion from float -> byte rect */
struct MEM_CacheLimiterHandle_s * c_handle; /**< handle for cache limiter */
- int refcounter; /**< Refcounter for multiple users */
+ int refcounter; /**< Refcounter for multiple users */
+ int index; /**< reference index for ImBuf lists */
+
+ struct ImBuf *mipmap[IB_MIPMAP_LEVELS]; /**< MipMap levels, a series of halved images */
} ImBuf;
/* Moved from BKE_bmfont_types.h because it is a userflag bit mask. */
@@ -138,8 +145,9 @@ typedef enum {
#define IB_zbuf (1 << 13)
#define IB_mem (1 << 14)
-#define IB_rectfloat (1 << 15)
-#define IB_zbuffloat (1 << 16)
+#define IB_rectfloat (1 << 15)
+#define IB_zbuffloat (1 << 16)
+#define IB_multilayer (1 << 17)
/*
* The bit flag is stored in the ImBuf.ftype variable.