Merge branch 'master' into blender2.8
[blender.git] / source / blender / makesdna / DNA_color_types.h
index 4ead26c04f3f4718978f20df6a4748f0de1f77cc..f7ee1ff3915935cfeeb51be9fa4ddd003840deac 100644 (file)
@@ -49,7 +49,8 @@ typedef struct CurveMapPoint {
 /* curvepoint->flag */
 enum {
        CUMA_SELECT = 1,
-       CUMA_VECTOR = 2
+       CUMA_HANDLE_VECTOR = 2,
+       CUMA_HANDLE_AUTO_ANIM = 4,
 };
 
 typedef struct CurveMap {
@@ -60,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 */
@@ -130,7 +134,6 @@ typedef struct Histogram {
        float co[2][2];
 } Histogram;
 
-struct ImBuf;
 
 typedef struct Scopes {
        int ok;
@@ -155,11 +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, 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 */
+       struct CurveMapping *curve_mapping;  /* pre-display RGB curves transform */
+       void *pad2;
+} ColorManagedViewSettings;
+
+typedef struct ColorManagedDisplaySettings {
+       char display_device[64];
+} ColorManagedDisplaySettings;
+
+typedef struct ColorManagedColorspaceSettings {
+       char name[64];    /* MAX_COLORSPACE_NAME */
+} ColorManagedColorspaceSettings;
+
+/* ColorManagedViewSettings->flag */
+enum {
+       COLORMANAGE_VIEW_USE_CURVES = (1 << 0)
+};
 
 #endif
-