![]() |
Ansel 0.0
A darktable fork - bloat + design vision
|
Include dependency graph for channelmixerrgb_shared.h:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Data Structures | |
| struct | dt_iop_channelmixer_shared_simple_params_t |
| struct | dt_iop_channelmixer_shared_primaries_params_t |
Macros | |
| #define | DT_IOP_CHANNELMIXER_SHARED_SIMPLE_TAN_SCALE 1.55f |
| #define | DT_IOP_CHANNELMIXER_SHARED_SIMPLE_EPS 5e-5f |
| #define | DT_IOP_CHANNELMIXER_SHARED_SIMPLE_CHROMA_PROBE 0.5f |
Typedefs | |
| typedef struct _GtkWidget | GtkWidget |
| typedef enum dt_iop_channelmixer_shared_primaries_basis_t | dt_iop_channelmixer_shared_primaries_basis_t |
| typedef enum dt_iop_channelmixer_shared_simple_probe_t | dt_iop_channelmixer_shared_simple_probe_t |
| typedef struct dt_iop_channelmixer_shared_simple_params_t | dt_iop_channelmixer_shared_simple_params_t |
| typedef struct dt_iop_channelmixer_shared_primaries_params_t | dt_iop_channelmixer_shared_primaries_params_t |
| #define DT_IOP_CHANNELMIXER_SHARED_SIMPLE_CHROMA_PROBE 0.5f |
| #define DT_IOP_CHANNELMIXER_SHARED_SIMPLE_EPS 5e-5f |
| #define DT_IOP_CHANNELMIXER_SHARED_SIMPLE_TAN_SCALE 1.55f |
| typedef enum dt_iop_channelmixer_shared_primaries_basis_t dt_iop_channelmixer_shared_primaries_basis_t |
| typedef struct dt_iop_channelmixer_shared_primaries_params_t dt_iop_channelmixer_shared_primaries_params_t |
| typedef struct dt_iop_channelmixer_shared_simple_params_t dt_iop_channelmixer_shared_simple_params_t |
| typedef struct _GtkWidget GtkWidget |
| float dt_iop_channelmixer_shared_decode_simple_coupling_amount | ( | float | slider | ) |
| float dt_iop_channelmixer_shared_decode_simple_stretch | ( | float | slider | ) |
| float dt_iop_channelmixer_shared_encode_simple_coupling_amount | ( | float | amount | ) |
References DT_IOP_CHANNELMIXER_SHARED_SIMPLE_TAN_SCALE.
Referenced by dt_iop_channelmixer_shared_simple_to_sliders().
| float dt_iop_channelmixer_shared_encode_simple_stretch | ( | float | stretch | ) |
Referenced by dt_iop_channelmixer_shared_simple_to_sliders().
| gboolean dt_iop_channelmixer_shared_get_matrix | ( | const float | rows[3][3], |
| const gboolean | normalize[3], | ||
| gboolean | force_normalize, | ||
| float | M[3][3] | ||
| ) |
| void dt_iop_channelmixer_shared_module_color_to_display | ( | const float | module_color[3], |
| dt_adaptation_t | adaptation, | ||
| const dt_iop_order_iccprofile_info_t * | work_profile, | ||
| const dt_iop_order_iccprofile_info_t * | display_profile, | ||
| float | display_rgb[3] | ||
| ) |
| void dt_iop_channelmixer_shared_mul3x3 | ( | const float | A[3][3], |
| const float | B[3][3], | ||
| float | C[3][3] | ||
| ) |
References A, B, C, k, and row.
Referenced by _build_point_transform(), _mixer_from_chroma_basis(), and _mixer_to_chroma_basis().
| void dt_iop_channelmixer_shared_paint_primaries_sliders | ( | dt_adaptation_t | adaptation, |
| const dt_iop_order_iccprofile_info_t * | work_profile, | ||
| const dt_iop_order_iccprofile_info_t * | display_profile, | ||
| dt_iop_channelmixer_shared_primaries_basis_t | basis, | ||
| const dt_iop_channelmixer_shared_primaries_params_t * | primaries, | ||
| GtkWidget *const | widgets[9] | ||
| ) |
References _shared_primaries_probe_color(), dt_iop_channelmixer_shared_primaries_params_t::achromatic_hue, dt_iop_channelmixer_shared_primaries_params_t::achromatic_purity, adaptation, dt_iop_channelmixer_shared_primaries_params_t::blue_hue, dt_iop_channelmixer_shared_primaries_params_t::blue_purity, dt_bauhaus_slider_clear_stops(), dt_bauhaus_slider_get_hard_max(), dt_bauhaus_slider_get_hard_min(), DT_BAUHAUS_SLIDER_MAX_STOPS, dt_bauhaus_slider_set_stop(), dt_iop_channelmixer_shared_module_color_to_display(), dt_iop_channelmixer_shared_primaries_to_matrix(), dt_iop_channelmixer_shared_primaries_params_t::gain, dt_iop_channelmixer_shared_primaries_params_t::green_hue, dt_iop_channelmixer_shared_primaries_params_t::green_purity, i, M, dt_iop_channelmixer_shared_primaries_params_t::red_hue, dt_iop_channelmixer_shared_primaries_params_t::red_purity, and value.
Referenced by _channelmixerrgb_update_primaries_colors(), and _update_point_slider_colors().
| void dt_iop_channelmixer_shared_paint_row_sliders | ( | dt_adaptation_t | adaptation, |
| const dt_iop_order_iccprofile_info_t * | work_profile, | ||
| const dt_iop_order_iccprofile_info_t * | display_profile, | ||
| float | r, | ||
| float | g, | ||
| float | b, | ||
| gboolean | normalize, | ||
| const float | row[3], | ||
| GtkWidget *const | widgets[3] | ||
| ) |
References _paint_RGB_slider_stop(), adaptation, dt_bauhaus_slider_clear_stops(), dt_bauhaus_slider_get_hard_max(), dt_bauhaus_slider_get_hard_min(), DT_BAUHAUS_SLIDER_MAX_STOPS, g, i, normalize(), r, RGB, and row.
Referenced by _update_point_slider_colors().
| void dt_iop_channelmixer_shared_paint_simple_sliders | ( | dt_adaptation_t | adaptation, |
| const dt_iop_order_iccprofile_info_t * | work_profile, | ||
| const dt_iop_order_iccprofile_info_t * | display_profile, | ||
| const dt_iop_channelmixer_shared_simple_params_t * | simple, | ||
| GtkWidget *const | widgets[6] | ||
| ) |
References _shared_paint_probe_matrix(), _shared_simple_hue_probe(), adaptation, dt_iop_channelmixer_shared_simple_params_t::coupling_amount, dt_iop_channelmixer_shared_simple_params_t::coupling_hue, dt_bauhaus_slider_clear_stops(), DT_BAUHAUS_SLIDER_MAX_STOPS, dt_bauhaus_slider_set_stop(), dt_iop_channelmixer_shared_decode_simple_coupling_amount(), dt_iop_channelmixer_shared_decode_simple_stretch(), DT_IOP_CHANNELMIXER_SHARED_INV_SQRT_3, dt_iop_channelmixer_shared_module_color_to_display(), DT_IOP_CHANNELMIXER_SHARED_SIMPLE_CHROMA_PROBE, DT_IOP_CHANNELMIXER_SHARED_SIMPLE_PROBE_AXIS_1, DT_IOP_CHANNELMIXER_SHARED_SIMPLE_PROBE_AXIS_2, DT_IOP_CHANNELMIXER_SHARED_SIMPLE_PROBE_ROTATION, dt_iop_channelmixer_shared_simple_probe_source(), dt_iop_channelmixer_shared_simple_to_matrix(), i, M, M_PI, P, dt_iop_channelmixer_shared_simple_params_t::psi, row, dt_iop_channelmixer_shared_simple_params_t::stretch_1, dt_iop_channelmixer_shared_simple_params_t::stretch_2, and dt_iop_channelmixer_shared_simple_params_t::theta.
Referenced by _channelmixerrgb_update_simple_colors(), and _update_point_slider_colors().
| dt_iop_channelmixer_shared_primaries_basis_t dt_iop_channelmixer_shared_primaries_basis_from_adaptation | ( | dt_adaptation_t | adaptation | ) |
References adaptation, DT_ADAPTATION_CAT16, DT_ADAPTATION_FULL_BRADFORD, DT_ADAPTATION_LAST, DT_ADAPTATION_LINEAR_BRADFORD, DT_ADAPTATION_RGB, DT_ADAPTATION_XYZ, DT_IOP_CHANNELMIXER_SHARED_PRIMARIES_BASIS_BRADFORD, DT_IOP_CHANNELMIXER_SHARED_PRIMARIES_BASIS_CAT16, DT_IOP_CHANNELMIXER_SHARED_PRIMARIES_BASIS_RGB, and DT_IOP_CHANNELMIXER_SHARED_PRIMARIES_BASIS_XYZ.
Referenced by _channelmixerrgb_primaries_slider_callback(), _channelmixerrgb_sync_primaries_from_params(), and _channelmixerrgb_update_primaries_colors().
| gboolean dt_iop_channelmixer_shared_primaries_from_matrix | ( | dt_iop_channelmixer_shared_primaries_basis_t | basis, |
| const float | M[3][3], | ||
| dt_iop_channelmixer_shared_primaries_params_t * | primaries | ||
| ) |
References _affine_normalize(), _affine_polar_from_point(), _affine_sum3(), _build_affine_simplex(), _primaries_reference_white(), dt_iop_channelmixer_shared_primaries_params_t::achromatic_hue, dt_iop_channelmixer_shared_primaries_params_t::achromatic_purity, dt_iop_channelmixer_shared_primaries_params_t::blue_hue, dt_iop_channelmixer_shared_primaries_params_t::blue_purity, DT_IOP_CHANNELMIXER_SHARED_SIMPLE_EPS, FALSE, dt_iop_channelmixer_shared_primaries_params_t::gain, dt_iop_channelmixer_shared_primaries_params_t::green_hue, dt_iop_channelmixer_shared_primaries_params_t::green_purity, M, mat3SSEinv(), dt_iop_channelmixer_shared_primaries_params_t::red_hue, dt_iop_channelmixer_shared_primaries_params_t::red_purity, row, and TRUE.
Referenced by _channelmixerrgb_sync_primaries_from_params(), and _sync_primaries_from_params().
| void dt_iop_channelmixer_shared_primaries_from_sliders | ( | GtkWidget *const | widgets[9], |
| dt_iop_channelmixer_shared_primaries_params_t * | primaries | ||
| ) |
References dt_iop_channelmixer_shared_primaries_params_t::achromatic_hue, dt_iop_channelmixer_shared_primaries_params_t::achromatic_purity, dt_iop_channelmixer_shared_primaries_params_t::blue_hue, dt_iop_channelmixer_shared_primaries_params_t::blue_purity, dt_bauhaus_slider_get(), dt_iop_channelmixer_shared_primaries_params_t::gain, dt_iop_channelmixer_shared_primaries_params_t::green_hue, dt_iop_channelmixer_shared_primaries_params_t::green_purity, dt_iop_channelmixer_shared_primaries_params_t::red_hue, and dt_iop_channelmixer_shared_primaries_params_t::red_purity.
Referenced by _channelmixerrgb_primaries_slider_callback(), _channelmixerrgb_update_primaries_colors(), _primaries_slider_callback(), and _update_point_slider_colors().
| gboolean dt_iop_channelmixer_shared_primaries_to_matrix | ( | dt_iop_channelmixer_shared_primaries_basis_t | basis, |
| const dt_iop_channelmixer_shared_primaries_params_t * | primaries, | ||
| float | M[3][3] | ||
| ) |
References _affine_point_from_polar(), _affine_sum3(), _build_affine_simplex(), _primaries_reference_white(), dt_iop_channelmixer_shared_primaries_params_t::achromatic_hue, dt_iop_channelmixer_shared_primaries_params_t::achromatic_purity, dt_iop_channelmixer_shared_primaries_params_t::blue_hue, dt_iop_channelmixer_shared_primaries_params_t::blue_purity, dt_apply_transposed_color_matrix(), DT_IOP_CHANNELMIXER_SHARED_SIMPLE_EPS, FALSE, dt_iop_channelmixer_shared_primaries_params_t::gain, dt_iop_channelmixer_shared_primaries_params_t::green_hue, dt_iop_channelmixer_shared_primaries_params_t::green_purity, M, mat3SSEinv(), dt_iop_channelmixer_shared_primaries_params_t::red_hue, dt_iop_channelmixer_shared_primaries_params_t::red_purity, row, and TRUE.
Referenced by _channelmixerrgb_primaries_slider_callback(), _channelmixerrgb_sync_primaries_from_params(), _primaries_slider_callback(), _sync_primaries_from_params(), and dt_iop_channelmixer_shared_paint_primaries_sliders().
| void dt_iop_channelmixer_shared_primaries_to_sliders | ( | const dt_iop_channelmixer_shared_primaries_params_t * | primaries, |
| GtkWidget *const | widgets[9] | ||
| ) |
References dt_iop_channelmixer_shared_primaries_params_t::achromatic_hue, dt_iop_channelmixer_shared_primaries_params_t::achromatic_purity, dt_iop_channelmixer_shared_primaries_params_t::blue_hue, dt_iop_channelmixer_shared_primaries_params_t::blue_purity, dt_bauhaus_slider_set(), dt_iop_channelmixer_shared_primaries_params_t::gain, dt_iop_channelmixer_shared_primaries_params_t::green_hue, dt_iop_channelmixer_shared_primaries_params_t::green_purity, dt_iop_channelmixer_shared_primaries_params_t::red_hue, and dt_iop_channelmixer_shared_primaries_params_t::red_purity.
Referenced by _channelmixerrgb_sync_primaries_from_params(), and _sync_primaries_from_params().
| float dt_iop_channelmixer_shared_roundtrip_error | ( | const float | M[3][3], |
| const float | roundtrip[3][3] | ||
| ) |
| gboolean dt_iop_channelmixer_shared_rows_are_normalized | ( | const gboolean | normalize[3] | ) |
References normalize().
Referenced by _channelmixerrgb_sync_simple_from_params(), _sync_simple_from_params(), and gui_changed().
| void dt_iop_channelmixer_shared_set_matrix | ( | float | rows[3][3], |
| const float | M[3][3] | ||
| ) |
| void dt_iop_channelmixer_shared_simple_from_matrix | ( | const float | M[3][3], |
| dt_iop_channelmixer_shared_simple_params_t * | simple | ||
| ) |
References _mixer_to_chroma_basis(), B, dt_iop_channelmixer_shared_simple_params_t::coupling_amount, dt_iop_channelmixer_shared_simple_params_t::coupling_hue, d, dt_iop_channelmixer_shared_wrap_half_pi(), dt_iop_channelmixer_shared_wrap_pi(), M, dt_iop_channelmixer_shared_simple_params_t::psi, dt_iop_channelmixer_shared_simple_params_t::stretch_1, dt_iop_channelmixer_shared_simple_params_t::stretch_2, and dt_iop_channelmixer_shared_simple_params_t::theta.
Referenced by _channelmixerrgb_sync_simple_from_params(), and _sync_simple_from_params().
| void dt_iop_channelmixer_shared_simple_from_sliders | ( | GtkWidget *const | widgets[6], |
| dt_iop_channelmixer_shared_simple_params_t * | simple | ||
| ) |
References dt_iop_channelmixer_shared_simple_params_t::coupling_amount, dt_iop_channelmixer_shared_simple_params_t::coupling_hue, dt_bauhaus_slider_get(), dt_iop_channelmixer_shared_decode_simple_coupling_amount(), dt_iop_channelmixer_shared_decode_simple_stretch(), M_PI, dt_iop_channelmixer_shared_simple_params_t::psi, dt_iop_channelmixer_shared_simple_params_t::stretch_1, dt_iop_channelmixer_shared_simple_params_t::stretch_2, and dt_iop_channelmixer_shared_simple_params_t::theta.
Referenced by _channelmixerrgb_simple_slider_callback(), _channelmixerrgb_update_simple_colors(), _simple_slider_callback(), and _update_point_slider_colors().
| void dt_iop_channelmixer_shared_simple_probe_source | ( | dt_iop_channelmixer_shared_simple_probe_t | probe, |
| float | source[3] | ||
| ) |
References DT_IOP_CHANNELMIXER_SHARED_INV_SQRT_3, DT_IOP_CHANNELMIXER_SHARED_SIMPLE_CHROMA_PROBE, DT_IOP_CHANNELMIXER_SHARED_SIMPLE_PROBE_AXIS_1, DT_IOP_CHANNELMIXER_SHARED_SIMPLE_PROBE_AXIS_2, DT_IOP_CHANNELMIXER_SHARED_SIMPLE_PROBE_ROTATION, P, and row.
Referenced by dt_iop_channelmixer_shared_paint_simple_sliders().
| void dt_iop_channelmixer_shared_simple_to_matrix | ( | const dt_iop_channelmixer_shared_simple_params_t * | simple, |
| float | M[3][3] | ||
| ) |
References _mixer_from_chroma_basis(), B, dt_iop_channelmixer_shared_simple_params_t::coupling_amount, dt_iop_channelmixer_shared_simple_params_t::coupling_hue, M, dt_iop_channelmixer_shared_simple_params_t::psi, dt_iop_channelmixer_shared_simple_params_t::stretch_1, dt_iop_channelmixer_shared_simple_params_t::stretch_2, and dt_iop_channelmixer_shared_simple_params_t::theta.
Referenced by _channelmixerrgb_simple_slider_callback(), _channelmixerrgb_sync_simple_from_params(), _simple_slider_callback(), _sync_simple_from_params(), and dt_iop_channelmixer_shared_paint_simple_sliders().
| void dt_iop_channelmixer_shared_simple_to_sliders | ( | const dt_iop_channelmixer_shared_simple_params_t * | simple, |
| GtkWidget *const | widgets[6] | ||
| ) |
References dt_iop_channelmixer_shared_simple_params_t::coupling_amount, dt_iop_channelmixer_shared_simple_params_t::coupling_hue, dt_bauhaus_slider_set(), dt_iop_channelmixer_shared_encode_simple_coupling_amount(), dt_iop_channelmixer_shared_encode_simple_stretch(), dt_iop_channelmixer_shared_wrap_half_pi(), dt_iop_channelmixer_shared_wrap_pi(), M_PI, dt_iop_channelmixer_shared_simple_params_t::psi, dt_iop_channelmixer_shared_simple_params_t::stretch_1, dt_iop_channelmixer_shared_simple_params_t::stretch_2, and dt_iop_channelmixer_shared_simple_params_t::theta.
Referenced by _channelmixerrgb_sync_simple_from_params(), and _sync_simple_from_params().
| void dt_iop_channelmixer_shared_work_rgb_to_display | ( | const dt_aligned_pixel_t | work_rgb, |
| const dt_iop_order_iccprofile_info_t * | work_profile, | ||
| const dt_iop_order_iccprofile_info_t * | display_profile, | ||
| dt_aligned_pixel_t | display_rgb | ||
| ) |
References _normalize_linear_display_rgb(), dt_apply_transposed_color_matrix(), IS_NULL_PTR, dt_iop_order_iccprofile_info_t::lut_in, dt_iop_order_iccprofile_info_t::lut_out, dt_iop_order_iccprofile_info_t::lutsize, dt_iop_order_iccprofile_info_t::matrix_in_transposed, dt_iop_order_iccprofile_info_t::matrix_out_transposed, dt_iop_order_iccprofile_info_t::nonlinearlut, and XYZ.
Referenced by _convert_GUI_colors(), _render_preview_surface(), and dt_iop_channelmixer_shared_module_color_to_display().
| float dt_iop_channelmixer_shared_wrap_half_pi | ( | float | angle | ) |
References M_PI.
Referenced by dt_iop_channelmixer_shared_simple_from_matrix(), and dt_iop_channelmixer_shared_simple_to_sliders().
| float dt_iop_channelmixer_shared_wrap_pi | ( | float | angle | ) |
References M_PI.
Referenced by _affine_polar_from_point(), dt_iop_channelmixer_shared_simple_from_matrix(), and dt_iop_channelmixer_shared_simple_to_sliders().