![]() |
Ansel 0.0
A darktable fork - bloat + design vision
|
#include <assert.h>
#include <stdlib.h>
#include <string.h>
#include "common/darktable.h"
#include "common/math.h"
#include "develop/develop.h"
#include "gradientslider.h"
#include "gui/gtk.h"
Macros | |
#define | DTGTK_GRADIENT_SLIDER_VALUE_CHANGED_DELAY_MAX 50 |
#define | DTGTK_GRADIENT_SLIDER_VALUE_CHANGED_DELAY_MIN 10 |
#define | DTGTK_GRADIENT_SLIDER_DEFAULT_INCREMENT 0.01 |
#define | parent_class _gradient_slider_parent_class |
Enumerations | |
enum | { VALUE_CHANGED , VALUE_RESET , LAST_SIGNAL } |
Variables | |
static guint | _signals [LAST_SIGNAL] = { 0 } |
#define DTGTK_GRADIENT_SLIDER_DEFAULT_INCREMENT 0.01 |
#define DTGTK_GRADIENT_SLIDER_VALUE_CHANGED_DELAY_MAX 50 |
#define DTGTK_GRADIENT_SLIDER_VALUE_CHANGED_DELAY_MIN 10 |
#define parent_class _gradient_slider_parent_class |
|
inlinestatic |
References _GtkDarktableGradientSlider::position, and _GtkDarktableGradientSlider::positions.
Referenced by _gradient_slider_add_delta_internal().
|
static |
Referenced by _gradient_slider_set_defaults(), and dtgtk_gradient_slider_multivalue_set_scale_callback().
|
inlinestatic |
|
static |
References _get_active_marker_internal().
Referenced by _gradient_slider_button_press(), and _gradient_slider_motion_notify().
|
static |
|
inlinestatic |
|
static |
References _clamp_marker(), _gradient_slider_postponed_value_change(), DTGTK_GRADIENT_SLIDER, DTGTK_IS_GRADIENT_SLIDER, _GtkDarktableGradientSlider::is_changed, _GtkDarktableGradientSlider::position, _GtkDarktableGradientSlider::timeout_handle, and TRUE.
Referenced by _gradient_slider_key_press_event(), and _gradient_slider_scroll_event().
|
static |
References _get_active_marker_from_screen(), _get_position_from_screen(), _slider_move(), darktable, _GtkDarktableGradientSlider::do_reset, DTGTK_GRADIENT_SLIDER, DTGTK_IS_GRADIENT_SLIDER, FALSE, darktable_t::gui, dt_gui_gtk_t::has_scroll_focus, _GtkDarktableGradientSlider::is_changed, _GtkDarktableGradientSlider::is_dragging, _GtkDarktableGradientSlider::is_resettable, MOVE_LEFT, MOVE_RIGHT, _GtkDarktableGradientSlider::position, _GtkDarktableGradientSlider::positions, _GtkDarktableGradientSlider::resetvalue, _GtkDarktableGradientSlider::selected, and TRUE.
Referenced by _gradient_slider_class_init().
|
static |
References _get_active_marker(), _get_position_from_screen(), _gradient_slider_postponed_value_change(), _slider_move(), _GtkDarktableGradientSlider::do_reset, DTGTK_GRADIENT_SLIDER, DTGTK_IS_GRADIENT_SLIDER, FALSE, _GtkDarktableGradientSlider::is_changed, _GtkDarktableGradientSlider::is_dragging, MOVE_LEFT, MOVE_RIGHT, _GtkDarktableGradientSlider::position, and TRUE.
Referenced by _gradient_slider_class_init().
|
static |
References _gradient_slider_button_press(), _gradient_slider_button_release(), _gradient_slider_destroy(), _gradient_slider_draw(), _gradient_slider_enter_notify_event(), _gradient_slider_get_preferred_height(), _gradient_slider_get_preferred_width(), _gradient_slider_key_press_event(), _gradient_slider_leave_notify_event(), _gradient_slider_motion_notify(), _gradient_slider_scroll_event(), _signals, VALUE_CHANGED, and VALUE_RESET.
|
static |
|
static |
References _scale_to_screen(), _gradient_slider_stop_t::color, _GtkDarktableGradientSlider::colors, CPF_DIRECTION_DOWN, CPF_DIRECTION_UP, dtgtk_cairo_paint_solid_triangle(), dtgtk_cairo_paint_triangle(), DTGTK_GRADIENT_SLIDER, DTGTK_IS_GRADIENT_SLIDER, FALSE, _GtkDarktableGradientSlider::is_entered, _GtkDarktableGradientSlider::marker, _GtkDarktableGradientSlider::picker, _GtkDarktableGradientSlider::position, _gradient_slider_stop_t::position, _GtkDarktableGradientSlider::positions, and _GtkDarktableGradientSlider::selected.
Referenced by _gradient_slider_class_init().
|
static |
References DTGTK_GRADIENT_SLIDER, DTGTK_IS_GRADIENT_SLIDER, FALSE, _GtkDarktableGradientSlider::is_entered, and TRUE.
Referenced by _gradient_slider_class_init().
|
static |
Referenced by _gradient_slider_class_init().
|
static |
References DTGTK_GRADIENT_SLIDER, and DTGTK_IS_GRADIENT_SLIDER.
Referenced by _gradient_slider_class_init().
|
static |
References darktable, darktable_t::gui, dt_gui_gtk_t::scroll_mask, and TRUE.
|
static |
|
static |
|
static |
References _get_active_marker_from_screen(), _get_position_from_screen(), _gradient_slider_postponed_value_change(), _slider_move(), _GtkDarktableGradientSlider::active, _GtkDarktableGradientSlider::do_reset, DTGTK_GRADIENT_SLIDER, DTGTK_IS_GRADIENT_SLIDER, FALSE, _GtkDarktableGradientSlider::is_changed, _GtkDarktableGradientSlider::is_dragging, MOVE_LEFT, MOVE_RIGHT, _GtkDarktableGradientSlider::position, _GtkDarktableGradientSlider::selected, _GtkDarktableGradientSlider::timeout_handle, and TRUE.
Referenced by _gradient_slider_class_init().
|
static |
References DTGTK_GRADIENT_SLIDER, and FALSE.
Referenced by _gradient_slider_add_delta_internal(), _gradient_slider_button_release(), and _gradient_slider_motion_notify().
|
static |
References _get_active_marker(), _gradient_slider_add_delta_internal(), darktable, dt_gui_get_scroll_unit_delta(), DTGTK_GRADIENT_SLIDER, DTGTK_IS_GRADIENT_SLIDER, FALSE, darktable_t::gui, dt_gui_gtk_t::has_scroll_focus, _GtkDarktableGradientSlider::increment, and TRUE.
Referenced by _gradient_slider_class_init().
|
static |
References _default_linear_scale_callback(), _GtkDarktableGradientSlider::active, _GtkDarktableGradientSlider::colors, _GtkDarktableGradientSlider::do_reset, DTGTK_GRADIENT_SLIDER_DEFAULT_INCREMENT, FALSE, FREE_MARKERS, GRADIENT_SLIDER_MARGINS_DEFAULT, GRADIENT_SLIDER_MARKER_LOWER_FILLED_BIG, _GtkDarktableGradientSlider::increment, _GtkDarktableGradientSlider::is_changed, _GtkDarktableGradientSlider::is_dragging, _GtkDarktableGradientSlider::is_entered, _GtkDarktableGradientSlider::is_resettable, _GtkDarktableGradientSlider::margin_left, _GtkDarktableGradientSlider::margin_right, _GtkDarktableGradientSlider::marker, _GtkDarktableGradientSlider::markers_type, _GtkDarktableGradientSlider::min_spacing, _GtkDarktableGradientSlider::picker, _GtkDarktableGradientSlider::position, _GtkDarktableGradientSlider::positions, _GtkDarktableGradientSlider::resetvalue, _GtkDarktableGradientSlider::scale_callback, _GtkDarktableGradientSlider::selected, and _GtkDarktableGradientSlider::timeout_handle.
Referenced by dtgtk_gradient_slider_multivalue_new(), and dtgtk_gradient_slider_multivalue_new_with_color().
gint _list_find_by_position | ( | gconstpointer | a, |
gconstpointer | b | ||
) |
References _gradient_slider_stop_t::position, and position().
Referenced by dtgtk_gradient_slider_multivalue_set_stop().
|
inlinestatic |
References DTGTK_GRADIENT_SLIDER, _GtkDarktableGradientSlider::margin_left, and _GtkDarktableGradientSlider::margin_right.
Referenced by _gradient_slider_draw().
|
inlinestatic |
References DTGTK_GRADIENT_SLIDER, _GtkDarktableGradientSlider::margin_left, and _GtkDarktableGradientSlider::margin_right.
Referenced by _get_position_from_screen().
|
static |
References _slider_move(), DTGTK_GRADIENT_SLIDER, DTGTK_IS_GRADIENT_SLIDER, FREE_MARKERS, _GtkDarktableGradientSlider::markers_type, _GtkDarktableGradientSlider::min_spacing, MOVE_LEFT, MOVE_RIGHT, _GtkDarktableGradientSlider::position, _GtkDarktableGradientSlider::positions, and PROPORTIONAL_MARKERS.
Referenced by _gradient_slider_button_press(), _gradient_slider_button_release(), _gradient_slider_motion_notify(), and _slider_move().
|
inlinestatic |
References FALSE, GRADIENT_SLIDER_MARKER_LOWER_FILLED, GRADIENT_SLIDER_MARKER_LOWER_FILLED_BIG, GRADIENT_SLIDER_MARKER_LOWER_OPEN, GRADIENT_SLIDER_MARKER_LOWER_OPEN_BIG, GRADIENT_SLIDER_MARKER_UPPER_FILLED, GRADIENT_SLIDER_MARKER_UPPER_FILLED_BIG, GRADIENT_SLIDER_MARKER_UPPER_OPEN, GRADIENT_SLIDER_MARKER_UPPER_OPEN_BIG, and TRUE.
Referenced by _get_active_marker_internal().
gdouble dtgtk_gradient_slider_get_resetvalue | ( | GtkDarktableGradientSlider * | gslider | ) |
GType dtgtk_gradient_slider_get_type | ( | void | ) |
gdouble dtgtk_gradient_slider_get_value | ( | GtkDarktableGradientSlider * | gslider | ) |
Get the slider value 0 - 1.0
References dtgtk_gradient_slider_multivalue_get_value().
Referenced by center_callback().
gboolean dtgtk_gradient_slider_is_dragging | ( | GtkDarktableGradientSlider * | gslider | ) |
References FALSE, and _GtkDarktableGradientSlider::is_dragging.
void dtgtk_gradient_slider_multivalue_clear_stops | ( | GtkDarktableGradientSlider * | gslider | ) |
Clear all stops
References _GtkDarktableGradientSlider::colors.
Referenced by _blendop_blendif_update_tab().
gdouble dtgtk_gradient_slider_multivalue_get_resetvalue | ( | GtkDarktableGradientSlider * | gslider, |
gint | pos | ||
) |
References GRADIENT_SLIDER_GET, _GtkDarktableGradientSlider::resetvalue, and _GtkDarktableGradientSlider::scale_callback.
Referenced by dtgtk_gradient_slider_get_resetvalue().
GType dtgtk_gradient_slider_multivalue_get_type | ( | void | ) |
gdouble dtgtk_gradient_slider_multivalue_get_value | ( | GtkDarktableGradientSlider * | gslider, |
gint | position | ||
) |
Get the slider value 0 - 1.0 for multivalue control
References GRADIENT_SLIDER_GET, _GtkDarktableGradientSlider::position, and _GtkDarktableGradientSlider::scale_callback.
Referenced by _blendop_blendif_sliders_callback(), blend_color_picker_apply(), and dtgtk_gradient_slider_get_value().
void dtgtk_gradient_slider_multivalue_get_values | ( | GtkDarktableGradientSlider * | gslider, |
gdouble * | values | ||
) |
gboolean dtgtk_gradient_slider_multivalue_is_dragging | ( | GtkDarktableGradientSlider * | gslider | ) |
References FALSE, and _GtkDarktableGradientSlider::is_dragging.
GtkWidget * dtgtk_gradient_slider_multivalue_new | ( | gint | positions | ) |
instantiate a new darktable gradient slider multivalue control
References _gradient_slider_set_defaults(), dt_gui_add_class(), GRADIENT_SLIDER_MAX_POSITIONS, and _GtkDarktableGradientSlider::positions.
Referenced by dtgtk_gradient_slider_multivalue_new_with_name(), dtgtk_gradient_slider_new(), and gui_init().
GtkWidget * dtgtk_gradient_slider_multivalue_new_with_color | ( | GdkRGBA | start, |
GdkRGBA | end, | ||
gint | positions | ||
) |
References _gradient_slider_set_defaults(), _gradient_slider_stop_t::color, _GtkDarktableGradientSlider::colors, dt_gui_add_class(), GRADIENT_SLIDER_MAX_POSITIONS, _gradient_slider_stop_t::position, and _GtkDarktableGradientSlider::positions.
Referenced by dtgtk_gradient_slider_multivalue_new_with_color_and_name(), and dtgtk_gradient_slider_new_with_color().
GtkWidget * dtgtk_gradient_slider_multivalue_new_with_color_and_name | ( | GdkRGBA | start, |
GdkRGBA | end, | ||
gint | positions, | ||
gchar * | name | ||
) |
References dtgtk_gradient_slider_multivalue_new_with_color(), and name.
Referenced by gui_init().
GtkWidget * dtgtk_gradient_slider_multivalue_new_with_name | ( | gint | positions, |
gchar * | name | ||
) |
References dtgtk_gradient_slider_multivalue_new(), and name.
Referenced by dt_iop_gui_init_blendif().
void dtgtk_gradient_slider_multivalue_set_increment | ( | GtkDarktableGradientSlider * | gslider, |
gdouble | value | ||
) |
set increment for scroll action
References _GtkDarktableGradientSlider::increment.
Referenced by _blendop_blendif_update_tab().
void dtgtk_gradient_slider_multivalue_set_marker | ( | GtkDarktableGradientSlider * | gslider, |
gint | mark, | ||
gint | pos | ||
) |
Set the slider markers for multivalue control
References _GtkDarktableGradientSlider::marker.
Referenced by _blendop_blendif_polarity_callback(), _blendop_blendif_update_tab(), dtgtk_gradient_slider_set_marker(), gui_init(), and gui_init().
void dtgtk_gradient_slider_multivalue_set_markers | ( | GtkDarktableGradientSlider * | gslider, |
gint * | markers | ||
) |
void dtgtk_gradient_slider_multivalue_set_picker | ( | GtkDarktableGradientSlider * | gslider, |
gdouble | value | ||
) |
Set a picker for multivalue control
References GRADIENT_SLIDER_SET, _GtkDarktableGradientSlider::picker, and _GtkDarktableGradientSlider::scale_callback.
Referenced by _update_gradient_slider_pickers().
void dtgtk_gradient_slider_multivalue_set_picker_meanminmax | ( | GtkDarktableGradientSlider * | gslider, |
gdouble | mean, | ||
gdouble | min, | ||
gdouble | max | ||
) |
References GRADIENT_SLIDER_SET, _GtkDarktableGradientSlider::picker, and _GtkDarktableGradientSlider::scale_callback.
Referenced by _update_gradient_slider_pickers().
void dtgtk_gradient_slider_multivalue_set_resetvalue | ( | GtkDarktableGradientSlider * | gslider, |
gdouble | value, | ||
gint | pos | ||
) |
Set/get the slider reset values for multivalue control
References GRADIENT_SLIDER_SET, _GtkDarktableGradientSlider::is_resettable, _GtkDarktableGradientSlider::resetvalue, _GtkDarktableGradientSlider::scale_callback, and TRUE.
Referenced by _blendop_blendif_update_tab(), and dtgtk_gradient_slider_set_resetvalue().
void dtgtk_gradient_slider_multivalue_set_resetvalues | ( | GtkDarktableGradientSlider * | gslider, |
gdouble * | values | ||
) |
void dtgtk_gradient_slider_multivalue_set_scale_callback | ( | GtkDarktableGradientSlider * | gslider, |
float(*)(GtkWidget *self, float value, int dir) | callback | ||
) |
set scaling function callback
References _default_linear_scale_callback(), _GtkDarktableGradientSlider::colors, GRADIENT_SLIDER_GET, GRADIENT_SLIDER_SET, _GtkDarktableGradientSlider::picker, _GtkDarktableGradientSlider::position, _gradient_slider_stop_t::position, _GtkDarktableGradientSlider::positions, _GtkDarktableGradientSlider::resetvalue, and _GtkDarktableGradientSlider::scale_callback.
Referenced by _blendop_blendif_disp_alternative_worker().
void dtgtk_gradient_slider_multivalue_set_stop | ( | GtkDarktableGradientSlider * | gslider, |
gfloat | position, | ||
GdkRGBA | color | ||
) |
Set a color at specified stop for multivalue control
References _list_find_by_position(), _gradient_slider_stop_t::color, _GtkDarktableGradientSlider::colors, GRADIENT_SLIDER_SET, _gradient_slider_stop_t::position, position(), and _GtkDarktableGradientSlider::scale_callback.
Referenced by _blendop_blendif_update_tab(), and dtgtk_gradient_slider_set_stop().
void dtgtk_gradient_slider_multivalue_set_value | ( | GtkDarktableGradientSlider * | gslider, |
gdouble | value, | ||
gint | pos | ||
) |
References darktable, GRADIENT_SLIDER_SET, darktable_t::gui, _GtkDarktableGradientSlider::position, _GtkDarktableGradientSlider::positions, dt_gui_gtk_t::reset, _GtkDarktableGradientSlider::scale_callback, and _GtkDarktableGradientSlider::selected.
Referenced by _blendop_blendif_update_tab(), blend_color_picker_apply(), dtgtk_gradient_slider_set_value(), gui_init(), and gui_update().
void dtgtk_gradient_slider_multivalue_set_values | ( | GtkDarktableGradientSlider * | gslider, |
gdouble * | values | ||
) |
References darktable, GRADIENT_SLIDER_SET, darktable_t::gui, _GtkDarktableGradientSlider::position, _GtkDarktableGradientSlider::positions, dt_gui_gtk_t::reset, _GtkDarktableGradientSlider::scale_callback, and _GtkDarktableGradientSlider::selected.
Referenced by gui_init(), gui_update(), and rt_develop_ui_pipe_finished_callback().
GtkWidget * dtgtk_gradient_slider_new | ( | ) |
instantiate a new darktable gradient slider control
References dt_gui_add_class(), and dtgtk_gradient_slider_multivalue_new().
Referenced by dtgtk_gradient_slider_new_with_name().
GtkWidget * dtgtk_gradient_slider_new_with_color | ( | GdkRGBA | start, |
GdkRGBA | end | ||
) |
References dt_gui_add_class(), and dtgtk_gradient_slider_multivalue_new_with_color().
Referenced by dtgtk_gradient_slider_new_with_color_and_name().
GtkWidget * dtgtk_gradient_slider_new_with_color_and_name | ( | GdkRGBA | start, |
GdkRGBA | end, | ||
gchar * | name | ||
) |
References dtgtk_gradient_slider_new_with_color(), and name.
Referenced by gui_init().
GtkWidget * dtgtk_gradient_slider_new_with_name | ( | gchar * | name | ) |
References dtgtk_gradient_slider_new(), and name.
void dtgtk_gradient_slider_set_increment | ( | GtkDarktableGradientSlider * | gslider, |
gdouble | value | ||
) |
set increment for scroll action
References _GtkDarktableGradientSlider::increment.
void dtgtk_gradient_slider_set_marker | ( | GtkDarktableGradientSlider * | gslider, |
gint | mark | ||
) |
Set the slider marker
References dtgtk_gradient_slider_multivalue_set_marker().
void dtgtk_gradient_slider_set_picker | ( | GtkDarktableGradientSlider * | gslider, |
gdouble | value | ||
) |
Set a picker
References GRADIENT_SLIDER_SET, _GtkDarktableGradientSlider::picker, and _GtkDarktableGradientSlider::scale_callback.
void dtgtk_gradient_slider_set_picker_meanminmax | ( | GtkDarktableGradientSlider * | gslider, |
gdouble | mean, | ||
gdouble | min, | ||
gdouble | max | ||
) |
References GRADIENT_SLIDER_SET, _GtkDarktableGradientSlider::picker, and _GtkDarktableGradientSlider::scale_callback.
Referenced by color_picker_apply().
void dtgtk_gradient_slider_set_resetvalue | ( | GtkDarktableGradientSlider * | gslider, |
gdouble | value | ||
) |
Set the slider reset value
References dtgtk_gradient_slider_multivalue_set_resetvalue().
void dtgtk_gradient_slider_set_stop | ( | GtkDarktableGradientSlider * | gslider, |
gfloat | position, | ||
GdkRGBA | color | ||
) |
Set a color at specified stop
References dtgtk_gradient_slider_multivalue_set_stop(), and position().
void dtgtk_gradient_slider_set_value | ( | GtkDarktableGradientSlider * | gslider, |
gdouble | value | ||
) |
References dtgtk_gradient_slider_multivalue_set_value().
Referenced by gui_update().
G_DEFINE_TYPE | ( | GtkDarktableGradientSlider | , |
_gradient_slider | , | ||
GTK_TYPE_DRAWING_AREA | |||
) |
|
static |
Referenced by _gradient_slider_class_init().