code cleanup: make header defines more consistent, JOYSENSOR header guard had a typo...
[blender-staging.git] / source / blender / imbuf / IMB_imbuf_types.h
index be93d51d7d7637a3fdc7982d74757e55a952b265..76c247b219507a73cd05713a5fea49a6c3f72335 100644 (file)
@@ -101,7 +101,6 @@ typedef struct ImBuf {
 
        /* parameters used by conversion between byte and float */
        float dither;                           /* random dither value, for conversion from float -> byte rect */
-       short profile;                          /* color space/profile preset that the byte rect buffer represents */
 
        /* mipmapping */
        struct ImBuf *mipmap[IB_MIPMAP_LEVELS]; /* MipMap levels, a series of halved images */
@@ -127,6 +126,13 @@ typedef struct ImBuf {
        unsigned int   encodedsize;       /* Size of data written to encodedbuffer */
        unsigned int   encodedbuffersize; /* Size of encodedbuffer */
 
+       /* color management */
+       struct ColorSpace *rect_colorspace;          /* color space of byte buffer */
+       struct ColorSpace *float_colorspace;         /* color space of float buffer, used by sequencer only */
+       unsigned int *display_buffer_flags;          /* array of per-display display buffers dirty flags */
+       struct ColormanageCache *colormanage_cache;  /* cache used by color management */
+       int colormanage_flag;
+
        /* information for compressed textures */
        struct DDSData dds_data;
 } ImBuf;
@@ -136,10 +142,11 @@ typedef struct ImBuf {
  * \brief userflags: Flags used internally by blender for imagebuffers
  */
 
-#define IB_BITMAPFONT          (1 << 0)        /* this image is a font */
-#define IB_BITMAPDIRTY         (1 << 1)        /* image needs to be saved is not the same as filename */
-#define IB_MIPMAP_INVALID      (1 << 2)        /* image mipmaps are invalid, need recreate */
-#define IB_RECT_INVALID                (1 << 3)    /* float buffer changed, needs recreation of byte rect */
+#define IB_BITMAPFONT                  (1 << 0)        /* this image is a font */
+#define IB_BITMAPDIRTY                 (1 << 1)        /* image needs to be saved is not the same as filename */
+#define IB_MIPMAP_INVALID              (1 << 2)        /* image mipmaps are invalid, need recreate */
+#define IB_RECT_INVALID                        (1 << 3)        /* float buffer changed, needs recreation of byte rect */
+#define IB_DISPLAY_BUFFER_INVALID      (1 << 4)        /* either float or byte buffer changed, need to re-calculate display buffers */
 
 /**
  * \name Imbuf Component flags
@@ -235,7 +242,7 @@ typedef struct ImBuf {
        ((unsigned long)(unsigned char)(ch1) << 8) | \
        ((unsigned long)(unsigned char)(ch2) << 16) | \
        ((unsigned long)(unsigned char)(ch3) << 24))
-#endif //MAKEFOURCC
+#endif  /* MAKEFOURCC */
 
 /*
  * FOURCC codes for DX compressed-texture pixel formats
@@ -248,10 +255,14 @@ typedef struct ImBuf {
 #define FOURCC_DXT4  (MAKEFOURCC('D','X','T','4'))
 #define FOURCC_DXT5  (MAKEFOURCC('D','X','T','5'))
 
-#endif // DDS
+#endif  /* DDS */
 extern const char *imb_ext_image[];
 extern const char *imb_ext_image_qt[];
 extern const char *imb_ext_movie[];
 extern const char *imb_ext_audio[];
 
+enum {
+       IMB_COLORMANAGE_IS_DATA = (1 << 0)
+};
+
 #endif