code cleanup: make header defines more consistent, JOYSENSOR header guard had a typo...
[blender-staging.git] / source / blender / imbuf / IMB_imbuf_types.h
index 58b9d3742cc06f2ab0b35055a42647615093dce1..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 */
@@ -128,11 +127,12 @@ typedef struct ImBuf {
        unsigned int   encodedbuffersize; /* Size of encodedbuffer */
 
        /* color management */
-       int colormanage_refcounter;
-       unsigned int colormanage_flags;
-       unsigned int *display_buffer_flags;  /* array of per-display display buffers dirty flags */
-       void *colormanage_cache_data;        /* cache data which is being assigned when */
-                                            /* put ImBuf to colormanage cache */
+       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;
@@ -142,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
@@ -171,8 +172,10 @@ typedef struct ImBuf {
 
 /*
  * The bit flag is stored in the ImBuf.ftype variable.
- * Note that the lower 10 bits is used for storing custom flags 
+ * Note that the lower 10 bits is used for storing custom flags
  */
+#define IB_CUSTOM_FLAGS_MASK 0x3ff
+
 #define PNG                            (1 << 30)
 #define TGA                            (1 << 28)
 #define JPG                            (1 << 27)
@@ -239,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
@@ -252,13 +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[];
 
-/* colormanage flags */
-#define IMB_COLORMANAGED               (1 << 0)
+enum {
+       IMB_COLORMANAGE_IS_DATA = (1 << 0)
+};
 
 #endif