Fix for own mistake: arc diff swallowed a commit somehow, breaking
[blender.git] / source / blender / makesdna / DNA_image_types.h
index fe3550327f79e7251942a137ea708ce422e9c39c..0b9dddd0ea5eadd6ca52b2e1d736301fd11a219c 100644 (file)
@@ -32,6 +32,7 @@
 #ifndef __DNA_IMAGE_TYPES_H__
 #define __DNA_IMAGE_TYPES_H__
 
+#include "DNA_defs.h"
 #include "DNA_ID.h"
 #include "DNA_color_types.h"  /* for color management */
 
@@ -39,6 +40,7 @@ struct PackedFile;
 struct Scene;
 struct anim;
 struct ImBuf;
+struct MovieCache;
 struct RenderResult;
 struct GPUTexture;
 
@@ -73,7 +75,7 @@ typedef struct Image {
        
        char name[1024];                        /* file path, 1024 = FILE_MAX */
        
-       ListBase ibufs;                                 /* not written in file */
+       struct MovieCache *cache;       /* not written in file */
        struct GPUTexture *gputexture;  /* not written in file */
        
        /* sources from: */
@@ -101,33 +103,45 @@ typedef struct Image {
        float lastupdate;
        int lastused;
        short animspeed;
+       short pad2;
        
        /* for generated images */
-       short gen_x, gen_y;
+       int gen_x, gen_y;
        char gen_type, gen_flag;
+       short gen_depth;
        
        /* display aspect - for UV editing images resized for faster openGL display */
        float aspx, aspy;
 
        /* color management */
        ColorManagedColorspaceSettings colorspace_settings;
+       char alpha_mode;
+
+       char pad[7];
 } Image;
 
 
 /* **************** IMAGE ********************* */
 
 /* Image.flag */
-#define IMA_FIELDS                     1
-#define IMA_STD_FIELD          2
-#define IMA_DO_PREMUL          4
-#define IMA_REFLECT                    16
-#define IMA_NOCOLLECT          32
-#define IMA_DEPRECATED         64
-#define IMA_OLD_PREMUL         128
-#define IMA_CM_PREDIVIDE       256
-#define IMA_USED_FOR_RENDER    512
-#define IMA_USER_FRAME_IN_RANGE        1024 /* for image user, but these flags are mixed */
-#define IMA_VIEW_AS_RENDER     2048
+enum {
+       IMA_FIELDS              = (1 << 0),
+       IMA_STD_FIELD           = (1 << 1),
+       IMA_DO_PREMUL           = (1 << 2),  /* deprecated, should not be used */
+       IMA_REFLECT             = (1 << 4),
+       IMA_NOCOLLECT           = (1 << 5),
+       //IMA_DONE_TAG          = (1 << 6),  // UNUSED
+       IMA_OLD_PREMUL          = (1 << 7),
+       // IMA_CM_PREDIVIDE     = (1 << 8),  /* deprecated, should not be used */
+       IMA_USED_FOR_RENDER     = (1 << 9),
+       IMA_USER_FRAME_IN_RANGE = (1 << 10), /* for image user, but these flags are mixed */
+       IMA_VIEW_AS_RENDER      = (1 << 11),
+       IMA_IGNORE_ALPHA        = (1 << 12),
+};
+
+#if (DNA_DEPRECATED_GCC_POISON == 1)
+#pragma GCC poison IMA_DO_PREMUL
+#endif
 
 /* Image.tpageflag */
 #define IMA_TILES                      1
@@ -148,4 +162,10 @@ typedef struct Image {
 /* gen_flag */
 #define IMA_GEN_FLOAT          1
 
+/* alpha_mode */
+enum {
+       IMA_ALPHA_STRAIGHT = 0,
+       IMA_ALPHA_PREMUL = 1,
+};
+
 #endif