svn merge ^/trunk/blender -r50080:50089
[blender.git] / source / blender / blenkernel / BKE_colortools.h
index 1e05c759ea72d4eb30c80ba5826e3d9564b53594..51d5b45cd5de74363f209bf0bcbc940d792ff97a 100644 (file)
@@ -70,21 +70,28 @@ void                    curvemap_sethandle(struct CurveMap *cuma, int type);
 void                curvemapping_changed(struct CurveMapping *cumap, int rem_doubles);
 void                curvemapping_changed_all(struct CurveMapping *cumap);
 
+/* call before _all_ evaluation functions */
+void                curvemapping_initialize(struct CurveMapping *cumap);
+
+/* keep these (const CurveMap) - to help with thread safety */
 /* single curve, no table check */
-float               curvemap_evaluateF(struct CurveMap *cuma, float value);
+float               curvemap_evaluateF(const struct CurveMap *cuma, float value);
 /* single curve, with table check */
-float               curvemapping_evaluateF(struct CurveMapping *cumap, int cur, float value);
-void                curvemapping_evaluate3F(struct CurveMapping *cumap, float vecout[3], const float vecin[3]);
-void                curvemapping_evaluateRGBF(struct CurveMapping *cumap, float vecout[3], const float vecin[3]);
-void                curvemapping_evaluate_premulRGB(struct CurveMapping *cumap, unsigned char vecout_byte[3], const unsigned char vecin_byte[3]);
-void                curvemapping_evaluate_premulRGBF_ex(struct CurveMapping *cumap, float vecout[3], const float vecin[3],
+float               curvemapping_evaluateF(const struct CurveMapping *cumap, int cur, float value);
+void                curvemapping_evaluate3F(const struct CurveMapping *cumap, float vecout[3], const float vecin[3]);
+void                curvemapping_evaluateRGBF(const struct CurveMapping *cumap, float vecout[3], const float vecin[3]);
+void                curvemapping_evaluate_premulRGB(const struct CurveMapping *cumap, unsigned char vecout_byte[3], const unsigned char vecin_byte[3]);
+void                curvemapping_evaluate_premulRGBF_ex(const struct CurveMapping *cumap, float vecout[3], const float vecin[3],
                                                         const float black[3], const float bwmul[3]);
-void                curvemapping_evaluate_premulRGBF(struct CurveMapping *cumap, float vecout[3], const float vecin[3]);
+void                curvemapping_evaluate_premulRGBF(const struct CurveMapping *cumap, float vecout[3], const float vecin[3]);
+int                 curvemapping_RGBA_does_something(const struct CurveMapping *cumap);
+void                curvemapping_table_RGBA(const struct CurveMapping *cumap, float **array, int *size);
+
+/* non-const, these modify the curve */
 void                curvemapping_do_ibuf(struct CurveMapping *cumap, struct ImBuf *ibuf);
 void                curvemapping_premultiply(struct CurveMapping *cumap, int restore);
-int                 curvemapping_RGBA_does_something(struct CurveMapping *cumap);
-void                curvemapping_initialize(struct CurveMapping *cumap);
-void                curvemapping_table_RGBA(struct CurveMapping *cumap, float **array, int *size);
+
+
 void                BKE_histogram_update_sample_line(struct Histogram *hist, struct ImBuf *ibuf, const short use_color_management);
 void                scopes_update(struct Scopes *scopes, struct ImBuf *ibuf, int use_color_management);
 void                scopes_free(struct Scopes *scopes);