Blender  V3.3
BKE_colortools.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later
2  * Copyright 2006 Blender Foundation. All rights reserved. */
3 #pragma once
4 
9 #ifdef __cplusplus
10 extern "C" {
11 #endif
12 
13 struct BlendDataReader;
14 struct BlendWriter;
18 struct CurveMap;
19 struct CurveMapPoint;
20 struct CurveMapping;
21 struct Histogram;
22 struct ImBuf;
23 struct Scopes;
24 struct rctf;
25 
27  struct CurveMapping *cumap, int tot, float minx, float miny, float maxx, float maxy);
28 struct CurveMapping *BKE_curvemapping_add(int tot, float minx, float miny, float maxx, float maxy);
29 void BKE_curvemapping_free_data(struct CurveMapping *cumap);
30 void BKE_curvemapping_free(struct CurveMapping *cumap);
31 void BKE_curvemapping_copy_data(struct CurveMapping *target, const struct CurveMapping *cumap);
32 struct CurveMapping *BKE_curvemapping_copy(const struct CurveMapping *cumap);
33 void BKE_curvemapping_set_black_white_ex(const float black[3],
34  const float white[3],
35  float r_bwmul[3]);
37  const float black[3],
38  const float white[3]);
39 
40 enum {
44 };
45 
49 void BKE_curvemapping_reset_view(struct CurveMapping *cumap);
50 void BKE_curvemap_reset(struct CurveMap *cuma, const struct rctf *clipr, int preset, int slope);
54 void BKE_curvemap_remove(struct CurveMap *cuma, short flag);
58 bool BKE_curvemap_remove_point(struct CurveMap *cuma, struct CurveMapPoint *cmp);
59 struct CurveMapPoint *BKE_curvemap_insert(struct CurveMap *cuma, float x, float y);
63 void BKE_curvemap_handle_set(struct CurveMap *cuma, int type);
64 
68 void BKE_curvemapping_changed(struct CurveMapping *cumap, bool rem_doubles);
69 void BKE_curvemapping_changed_all(struct CurveMapping *cumap);
70 
74 void BKE_curvemapping_init(struct CurveMapping *cumap);
75 
81 float BKE_curvemap_evaluateF(const struct CurveMapping *cumap,
82  const struct CurveMap *cuma,
83  float value);
88 float BKE_curvemapping_evaluateF(const struct CurveMapping *cumap, int cur, float value);
92 void BKE_curvemapping_evaluate3F(const struct CurveMapping *cumap,
93  float vecout[3],
94  const float vecin[3]);
99  float vecout[3],
100  const float vecin[3]);
105  unsigned char vecout_byte[3],
106  const unsigned char vecin_byte[3]);
118  float vecout[3],
119  const float vecin[3],
120  const float black[3],
121  const float bwmul[3]);
126  float vecout[3],
127  const float vecin[3]);
129 void BKE_curvemapping_table_F(const struct CurveMapping *cumap, float **array, int *size);
130 void BKE_curvemapping_table_RGBA(const struct CurveMapping *cumap, float **array, int *size);
131 
133 void BKE_curvemapping_get_range_minimums(const struct CurveMapping *curve_mapping,
134  float minimums[4]);
135 
139 void BKE_curvemapping_compute_range_dividers(const struct CurveMapping *curve_mapping,
140  float dividers[4]);
141 
145 void BKE_curvemapping_compute_slopes(const struct CurveMapping *curve_mapping,
146  float start_slopes[4],
147  float end_slopes[4]);
148 
160 bool BKE_curvemapping_is_map_identity(const struct CurveMapping *curve_mapping, int index);
161 
166 void BKE_curvemapping_premultiply(struct CurveMapping *cumap, bool restore);
167 
168 void BKE_curvemapping_blend_write(struct BlendWriter *writer, const struct CurveMapping *cumap);
170  const struct CurveMapping *cumap);
174 void BKE_curvemapping_blend_read(struct BlendDataReader *reader, struct CurveMapping *cumap);
175 
177  struct ImBuf *ibuf,
178  const struct ColorManagedViewSettings *view_settings,
179  const struct ColorManagedDisplaySettings *display_settings);
180 void BKE_scopes_update(struct Scopes *scopes,
181  struct ImBuf *ibuf,
182  const struct ColorManagedViewSettings *view_settings,
183  const struct ColorManagedDisplaySettings *display_settings);
184 void BKE_scopes_free(struct Scopes *scopes);
185 void BKE_scopes_new(struct Scopes *scopes);
186 
189  const struct ColorManagedDisplaySettings *settings);
190 
197  struct ColorManagedViewSettings *settings,
198  const struct ColorManagedDisplaySettings *display_settings,
199  const char *view_transform);
200 
206  struct ColorManagedViewSettings *settings,
207  const struct ColorManagedDisplaySettings *display_settings);
208 
210  const struct ColorManagedViewSettings *settings);
212 
214  struct ColorManagedViewSettings *settings);
216  struct ColorManagedViewSettings *settings);
217 
219  struct ColorManagedColorspaceSettings *colorspace_settings);
221  struct ColorManagedColorspaceSettings *colorspace_settings,
222  const struct ColorManagedColorspaceSettings *settings);
224  const struct ColorManagedColorspaceSettings *settings1,
225  const struct ColorManagedColorspaceSettings *settings2);
226 
227 #ifdef __cplusplus
228 }
229 #endif
void BKE_curvemapping_evaluate_premulRGBF_ex(const struct CurveMapping *cumap, float vecout[3], const float vecin[3], const float black[3], const float bwmul[3])
void BKE_curvemap_handle_set(struct CurveMap *cuma, int type)
Definition: colortools.c:424
void BKE_scopes_new(struct Scopes *scopes)
Definition: colortools.c:1773
void BKE_curvemapping_evaluate_premulRGB(const struct CurveMapping *cumap, unsigned char vecout_byte[3], const unsigned char vecin_byte[3])
void BKE_curvemapping_evaluate_premulRGBF(const struct CurveMapping *cumap, float vecout[3], const float vecin[3])
bool BKE_color_managed_colorspace_settings_equals(const struct ColorManagedColorspaceSettings *settings1, const struct ColorManagedColorspaceSettings *settings2)
void BKE_color_managed_display_settings_copy(struct ColorManagedDisplaySettings *new_settings, const struct ColorManagedDisplaySettings *settings)
void BKE_curvemapping_premultiply(struct CurveMapping *cumap, bool restore)
Definition: colortools.c:782
void BKE_curvemapping_changed(struct CurveMapping *cumap, bool rem_doubles)
Definition: colortools.c:855
void BKE_color_managed_view_settings_init_default(struct ColorManagedViewSettings *settings, const struct ColorManagedDisplaySettings *display_settings)
Definition: colortools.c:1829
void BKE_color_managed_colorspace_settings_copy(struct ColorManagedColorspaceSettings *colorspace_settings, const struct ColorManagedColorspaceSettings *settings)
void BKE_curvemapping_evaluate3F(const struct CurveMapping *cumap, float vecout[3], const float vecin[3])
void BKE_curvemapping_free_data(struct CurveMapping *cumap)
Definition: colortools.c:83
bool BKE_curvemapping_RGBA_does_something(const struct CurveMapping *cumap)
bool BKE_curvemapping_is_map_identity(const struct CurveMapping *curve_mapping, int index)
void BKE_curvemapping_init(struct CurveMapping *cumap)
Definition: colortools.c:1235
void BKE_curvemapping_evaluateRGBF(const struct CurveMapping *cumap, float vecout[3], const float vecin[3])
void BKE_curvemapping_set_black_white(struct CurveMapping *cumap, const float black[3], const float white[3])
Definition: colortools.c:152
void BKE_curvemapping_set_defaults(struct CurveMapping *cumap, int tot, float minx, float miny, float maxx, float maxy)
Definition: colortools.c:37
void BKE_color_managed_colorspace_settings_init(struct ColorManagedColorspaceSettings *colorspace_settings)
Definition: colortools.c:1882
struct CurveMapPoint * BKE_curvemap_insert(struct CurveMap *cuma, float x, float y)
Definition: colortools.c:222
void BKE_curvemapping_table_F(const struct CurveMapping *cumap, float **array, int *size)
void BKE_curvemap_remove(struct CurveMap *cuma, short flag)
Definition: colortools.c:199
void BKE_curvemapping_set_black_white_ex(const float black[3], const float white[3], float r_bwmul[3])
Definition: colortools.c:140
struct CurveMapping * BKE_curvemapping_copy(const struct CurveMapping *cumap)
void BKE_color_managed_view_settings_blend_read_data(struct BlendDataReader *reader, struct ColorManagedViewSettings *settings)
Definition: colortools.c:1872
void BKE_histogram_update_sample_line(struct Histogram *hist, struct ImBuf *ibuf, const struct ColorManagedViewSettings *view_settings, const struct ColorManagedDisplaySettings *display_settings)
void BKE_curvemapping_get_range_minimums(const struct CurveMapping *curve_mapping, float minimums[4])
void BKE_scopes_update(struct Scopes *scopes, struct ImBuf *ibuf, const struct ColorManagedViewSettings *view_settings, const struct ColorManagedDisplaySettings *display_settings)
float BKE_curvemapping_evaluateF(const struct CurveMapping *cumap, int cur, float value)
void BKE_curvemapping_blend_read(struct BlendDataReader *reader, struct CurveMapping *cumap)
Definition: colortools.c:1300
void BKE_curvemapping_curves_blend_write(struct BlendWriter *writer, const struct CurveMapping *cumap)
void BKE_color_managed_view_settings_free(struct ColorManagedViewSettings *settings)
Definition: colortools.c:1856
void BKE_curvemap_reset(struct CurveMap *cuma, const struct rctf *clipr, int preset, int slope)
void BKE_curvemapping_compute_slopes(const struct CurveMapping *curve_mapping, float start_slopes[4], float end_slopes[4])
void BKE_color_managed_view_settings_blend_write(struct BlendWriter *writer, struct ColorManagedViewSettings *settings)
Definition: colortools.c:1864
bool BKE_curvemap_remove_point(struct CurveMap *cuma, struct CurveMapPoint *cmp)
Definition: colortools.c:170
float BKE_curvemap_evaluateF(const struct CurveMapping *cumap, const struct CurveMap *cuma, float value)
void BKE_color_managed_view_settings_copy(struct ColorManagedViewSettings *new_settings, const struct ColorManagedViewSettings *settings)
void BKE_curvemapping_blend_write(struct BlendWriter *writer, const struct CurveMapping *cumap)
void BKE_color_managed_view_settings_init_render(struct ColorManagedViewSettings *settings, const struct ColorManagedDisplaySettings *display_settings, const char *view_transform)
void BKE_scopes_free(struct Scopes *scopes)
Definition: colortools.c:1765
void BKE_curvemapping_table_RGBA(const struct CurveMapping *cumap, float **array, int *size)
void BKE_color_managed_display_settings_init(struct ColorManagedDisplaySettings *settings)
Definition: colortools.c:1789
void BKE_curvemapping_free(struct CurveMapping *cumap)
Definition: colortools.c:103
@ CURVEMAP_SLOPE_NEGATIVE
@ CURVEMAP_SLOPE_POS_NEG
@ CURVEMAP_SLOPE_POSITIVE
void BKE_curvemapping_reset_view(struct CurveMapping *cumap)
Definition: colortools.c:946
void BKE_curvemapping_copy_data(struct CurveMapping *target, const struct CurveMapping *cumap)
void BKE_curvemapping_compute_range_dividers(const struct CurveMapping *curve_mapping, float dividers[4])
struct CurveMapping * BKE_curvemapping_add(int tot, float minx, float miny, float maxx, float maxy)
Definition: colortools.c:72
void BKE_curvemapping_changed_all(struct CurveMapping *cumap)
Definition: colortools.c:932
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint y
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
Definition: btDbvt.cpp:52
float white[3]
float black[3]