Merge branch 'master' into blender2.8
[blender.git] / source / blender / makesdna / DNA_color_types.h
index c386f912636acb6480ef7261de2c1216521eee26..f7ee1ff3915935cfeeb51be9fa4ddd003840deac 100644 (file)
@@ -47,8 +47,11 @@ typedef struct CurveMapPoint {
 } CurveMapPoint;
 
 /* curvepoint->flag */
-#define CUMA_SELECT            1
-#define CUMA_VECTOR            2
+enum {
+       CUMA_SELECT = 1,
+       CUMA_HANDLE_VECTOR = 2,
+       CUMA_HANDLE_AUTO_ANIM = 4,
+};
 
 typedef struct CurveMap {
        short totpoint, flag;
@@ -58,7 +61,10 @@ typedef struct CurveMap {
        float ext_in[2], ext_out[2];    /* for extrapolated curves, the direction vector */
        CurveMapPoint *curve;                   /* actual curve */
        CurveMapPoint *table;                   /* display and evaluate table */
+
        CurveMapPoint *premultable;             /* for RGB curves, premulled table */
+       float premul_ext_in[2];                 /* for RGB curves, premulled extrapolation vector */
+       float premul_ext_out[2];
 } CurveMap;
 
 /* cuma->flag */
@@ -128,7 +134,6 @@ typedef struct Histogram {
        float co[2][2];
 } Histogram;
 
-struct ImBuf;
 
 typedef struct Scopes {
        int ok;
@@ -153,30 +158,33 @@ typedef struct Scopes {
 
 /* scopes->wavefrm_mode */
 #define SCOPES_WAVEFRM_LUMA            0
-#define SCOPES_WAVEFRM_RGB             1
+#define SCOPES_WAVEFRM_RGB_PARADE      1
 #define SCOPES_WAVEFRM_YCC_601 2
 #define SCOPES_WAVEFRM_YCC_709 3
 #define SCOPES_WAVEFRM_YCC_JPEG        4
+#define SCOPES_WAVEFRM_RGB             5
 
 typedef struct ColorManagedViewSettings {
-       int flag;                  /* assodted flags such as using global settings from window and so */
+       int flag, pad;
+       char look[64];   /* look which is being applied when displaying buffer on the screen (prior to view transform) */
        char view_transform[64];   /* view transform which is being applied when displaying buffer on the screen */
        float exposure;            /* fstop exposure */
        float gamma;               /* post-display gamma transform */
-       int pad;
+       struct CurveMapping *curve_mapping;  /* pre-display RGB curves transform */
+       void *pad2;
 } ColorManagedViewSettings;
 
-enum {
-       COLORMANAGE_VIEW_USE_GLOBAL = (1 << 0)    /* use global display settings instead of per-space setting */
-};
-
 typedef struct ColorManagedDisplaySettings {
        char display_device[64];
 } ColorManagedDisplaySettings;
 
 typedef struct ColorManagedColorspaceSettings {
-       char name[64];
+       char name[64];    /* MAX_COLORSPACE_NAME */
 } ColorManagedColorspaceSettings;
 
-#endif
+/* ColorManagedViewSettings->flag */
+enum {
+       COLORMANAGE_VIEW_USE_CURVES = (1 << 0)
+};
 
+#endif