Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
gradientslider.h File Reference
#include "paint.h"
#include <gtk/gtk.h>
+ Include dependency graph for gradientslider.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  _GtkDarktableGradientSlider
 
struct  _GtkDarktableGradientSliderClass
 
struct  _gradient_slider_stop_t
 

Macros

#define GRADIENT_SLIDER_MAX_POSITIONS   10
 
#define DTGTK_GRADIENT_SLIDER(obj)    G_TYPE_CHECK_INSTANCE_CAST(obj, dtgtk_gradient_slider_get_type(), GtkDarktableGradientSlider)
 
#define DTGTK_GRADIENT_SLIDER_CLASS(klass)    G_TYPE_CHECK_CLASS_CAST(klass, dtgtk_gradient_slider_get_type(), GtkDarktableGradientSliderClass)
 
#define DTGTK_IS_GRADIENT_SLIDER(obj)    G_TYPE_CHECK_INSTANCE_TYPE(obj, dtgtk_gradient_slider_get_type())
 
#define DTGTK_IS_GRADIENT_SLIDER_CLASS(klass)    G_TYPE_CHECK_CLASS_TYPE(obj, dtgtk_gradient_slider_get_type())
 
#define DTGTK_GRADIENT_SLIDER_MULTIVALUE(obj)    G_TYPE_CHECK_INSTANCE_CAST(obj, dtgtk_gradient_slider_multivalue_get_type(), GtkDarktableGradientSlider)
 
#define DTGTK_GRADIENT_SLIDER_MULTIVALUE_CLASS(klass)    G_TYPE_CHECK_CLASS_CAST(klass, dtgtk_gradient_slider_multivalue_get_type(), GtkDarktableGradientSliderClass)
 
#define DTGTK_IS_GRADIENT_SLIDER_MULTIVALUE(obj)    G_TYPE_CHECK_INSTANCE_TYPE(obj, dtgtk_gradient_slider_multivalue_get_type())
 
#define DTGTK_IS_GRADIENT_SLIDER_MULTIVALUE_CLASS(klass)    G_TYPE_CHECK_CLASS_TYPE(obj, dtgtk_gradient_slider_multivalue_get_type())
 

Typedefs

typedef struct _GtkDarktableGradientSlider GtkDarktableGradientSlider
 
typedef struct _GtkDarktableGradientSliderClass GtkDarktableGradientSliderClass
 
typedef struct _gradient_slider_stop_t _gradient_slider_stop_t
 

Enumerations

enum  {
  GRADIENT_SLIDER_VALUE_CHANGED ,
  GRADIENT_SLIDER_LAST_SIGNAL
}
 
enum  _gradient_slider_direction {
  MOVE_LEFT = 0 ,
  MOVE_RIGHT = 1
}
 
enum  {
  GRADIENT_SLIDER_MARKER_DOUBLE_OPEN = 0x06 ,
  GRADIENT_SLIDER_MARKER_DOUBLE_FILLED = 0x07 ,
  GRADIENT_SLIDER_MARKER_UPPER_OPEN = 0x04 ,
  GRADIENT_SLIDER_MARKER_UPPER_FILLED = 0x05 ,
  GRADIENT_SLIDER_MARKER_LOWER_OPEN = 0x02 ,
  GRADIENT_SLIDER_MARKER_LOWER_FILLED = 0x03 ,
  GRADIENT_SLIDER_MARKER_DOUBLE_OPEN_BIG = 0x0e ,
  GRADIENT_SLIDER_MARKER_DOUBLE_FILLED_BIG = 0x0f ,
  GRADIENT_SLIDER_MARKER_UPPER_OPEN_BIG = 0x0c ,
  GRADIENT_SLIDER_MARKER_UPPER_FILLED_BIG = 0x0d ,
  GRADIENT_SLIDER_MARKER_LOWER_OPEN_BIG = 0x0a ,
  GRADIENT_SLIDER_MARKER_LOWER_FILLED_BIG = 0x0b
}
 
enum  {
  GRADIENT_SLIDER_MARGINS_DEFAULT = 6 ,
  GRADIENT_SLIDER_MARGINS_ZERO = 0 ,
  GRADIENT_SLIDER_MARGINS_SMALL = 2 ,
  GRADIENT_SLIDER_MARGINS_BIG = 6
}
 
enum  {
  GRADIENT_SLIDER_SET = 1 ,
  GRADIENT_SLIDER_GET = 2
}
 
enum  {
  FREE_MARKERS = 1 ,
  PROPORTIONAL_MARKERS = 2
}
 

Functions

GType dtgtk_gradient_slider_get_type (void)
 
GType dtgtk_gradient_slider_multivalue_get_type (void)
 
GtkWidgetdtgtk_gradient_slider_new ()
 
GtkWidgetdtgtk_gradient_slider_new_with_name (gchar *name)
 
GtkWidgetdtgtk_gradient_slider_new_with_color (GdkRGBA start, GdkRGBA end)
 
GtkWidgetdtgtk_gradient_slider_new_with_color_and_name (GdkRGBA start, GdkRGBA end, gchar *name)
 
void dtgtk_gradient_slider_set_stop (GtkDarktableGradientSlider *gslider, gfloat position, GdkRGBA color)
 
void dtgtk_gradient_slider_multivalue_clear_stops (GtkDarktableGradientSlider *gslider)
 
gdouble dtgtk_gradient_slider_get_value (GtkDarktableGradientSlider *gslider)
 
void dtgtk_gradient_slider_set_value (GtkDarktableGradientSlider *gslider, gdouble value)
 
gboolean dtgtk_gradient_slider_is_dragging (GtkDarktableGradientSlider *gslider)
 
void dtgtk_gradient_slider_set_marker (GtkDarktableGradientSlider *gslider, gint mark)
 
void dtgtk_gradient_slider_set_resetvalue (GtkDarktableGradientSlider *gslider, gdouble value)
 
void dtgtk_gradient_slider_set_picker (GtkDarktableGradientSlider *gslider, gdouble value)
 
void dtgtk_gradient_slider_set_picker_meanminmax (GtkDarktableGradientSlider *gslider, gdouble mean, gdouble min, gdouble max)
 
void dtgtk_gradient_slider_set_increment (GtkDarktableGradientSlider *gslider, gdouble value)
 
GtkWidgetdtgtk_gradient_slider_multivalue_new (gint positions)
 
GtkWidgetdtgtk_gradient_slider_multivalue_new_with_name (gint positions, gchar *name)
 
GtkWidgetdtgtk_gradient_slider_multivalue_new_with_color (GdkRGBA start, GdkRGBA end, gint positions)
 
GtkWidgetdtgtk_gradient_slider_multivalue_new_with_color_and_name (GdkRGBA start, GdkRGBA end, gint positions, gchar *name)
 
void dtgtk_gradient_slider_multivalue_set_stop (GtkDarktableGradientSlider *gslider, gfloat position, GdkRGBA color)
 
gdouble dtgtk_gradient_slider_multivalue_get_value (GtkDarktableGradientSlider *gslider, gint position)
 
void dtgtk_gradient_slider_multivalue_get_values (GtkDarktableGradientSlider *gslider, gdouble *values)
 
void dtgtk_gradient_slider_multivalue_set_value (GtkDarktableGradientSlider *gslider, gdouble value, gint position)
 
void dtgtk_gradient_slider_multivalue_set_values (GtkDarktableGradientSlider *gslider, gdouble *values)
 
gboolean dtgtk_gradient_slider_multivalue_is_dragging (GtkDarktableGradientSlider *gslider)
 
void dtgtk_gradient_slider_multivalue_set_marker (GtkDarktableGradientSlider *gslider, gint mark, gint pos)
 
void dtgtk_gradient_slider_multivalue_set_markers (GtkDarktableGradientSlider *gslider, gint *markers)
 
void dtgtk_gradient_slider_multivalue_set_resetvalue (GtkDarktableGradientSlider *gslider, gdouble value, gint pos)
 
void dtgtk_gradient_slider_multivalue_set_resetvalues (GtkDarktableGradientSlider *gslider, gdouble *values)
 
gdouble dtgtk_gradient_slider_multivalue_get_resetvalue (GtkDarktableGradientSlider *gslider, gint pos)
 
gdouble dtgtk_gradient_slider_multivalue_get_resetvalues (GtkDarktableGradientSlider *gslider)
 
void dtgtk_gradient_slider_multivalue_set_picker (GtkDarktableGradientSlider *gslider, gdouble value)
 
void dtgtk_gradient_slider_multivalue_set_picker_meanminmax (GtkDarktableGradientSlider *gslider, gdouble mean, gdouble min, gdouble max)
 
void dtgtk_gradient_slider_multivalue_set_increment (GtkDarktableGradientSlider *gslider, gdouble value)
 
void dtgtk_gradient_slider_multivalue_set_scale_callback (GtkDarktableGradientSlider *gslider, float(*callback)(GtkWidget *self, float value, int dir))
 

Macro Definition Documentation

◆ DTGTK_GRADIENT_SLIDER

#define DTGTK_GRADIENT_SLIDER (   obj)     G_TYPE_CHECK_INSTANCE_CAST(obj, dtgtk_gradient_slider_get_type(), GtkDarktableGradientSlider)

Definition at line 38 of file gradientslider.h.

◆ DTGTK_GRADIENT_SLIDER_CLASS

#define DTGTK_GRADIENT_SLIDER_CLASS (   klass)     G_TYPE_CHECK_CLASS_CAST(klass, dtgtk_gradient_slider_get_type(), GtkDarktableGradientSliderClass)

Definition at line 40 of file gradientslider.h.

◆ DTGTK_GRADIENT_SLIDER_MULTIVALUE

#define DTGTK_GRADIENT_SLIDER_MULTIVALUE (   obj)     G_TYPE_CHECK_INSTANCE_CAST(obj, dtgtk_gradient_slider_multivalue_get_type(), GtkDarktableGradientSlider)

Definition at line 47 of file gradientslider.h.

◆ DTGTK_GRADIENT_SLIDER_MULTIVALUE_CLASS

#define DTGTK_GRADIENT_SLIDER_MULTIVALUE_CLASS (   klass)     G_TYPE_CHECK_CLASS_CAST(klass, dtgtk_gradient_slider_multivalue_get_type(), GtkDarktableGradientSliderClass)

Definition at line 49 of file gradientslider.h.

◆ DTGTK_IS_GRADIENT_SLIDER

#define DTGTK_IS_GRADIENT_SLIDER (   obj)     G_TYPE_CHECK_INSTANCE_TYPE(obj, dtgtk_gradient_slider_get_type())

Definition at line 42 of file gradientslider.h.

◆ DTGTK_IS_GRADIENT_SLIDER_CLASS

#define DTGTK_IS_GRADIENT_SLIDER_CLASS (   klass)     G_TYPE_CHECK_CLASS_TYPE(obj, dtgtk_gradient_slider_get_type())

Definition at line 44 of file gradientslider.h.

◆ DTGTK_IS_GRADIENT_SLIDER_MULTIVALUE

#define DTGTK_IS_GRADIENT_SLIDER_MULTIVALUE (   obj)     G_TYPE_CHECK_INSTANCE_TYPE(obj, dtgtk_gradient_slider_multivalue_get_type())

Definition at line 51 of file gradientslider.h.

◆ DTGTK_IS_GRADIENT_SLIDER_MULTIVALUE_CLASS

#define DTGTK_IS_GRADIENT_SLIDER_MULTIVALUE_CLASS (   klass)     G_TYPE_CHECK_CLASS_TYPE(obj, dtgtk_gradient_slider_multivalue_get_type())

Definition at line 53 of file gradientslider.h.

◆ GRADIENT_SLIDER_MAX_POSITIONS

#define GRADIENT_SLIDER_MAX_POSITIONS   10

Definition at line 33 of file gradientslider.h.

Typedef Documentation

◆ _gradient_slider_stop_t

◆ GtkDarktableGradientSlider

◆ GtkDarktableGradientSliderClass

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
GRADIENT_SLIDER_VALUE_CHANGED 
GRADIENT_SLIDER_LAST_SIGNAL 

Definition at line 56 of file gradientslider.h.

◆ anonymous enum

anonymous enum

bitfields for marker: bit-0 open/filled, bit-1 lower off/on, bit-2 upper off/on, bit-3 size small/big

Enumerator
GRADIENT_SLIDER_MARKER_DOUBLE_OPEN 
GRADIENT_SLIDER_MARKER_DOUBLE_FILLED 
GRADIENT_SLIDER_MARKER_UPPER_OPEN 
GRADIENT_SLIDER_MARKER_UPPER_FILLED 
GRADIENT_SLIDER_MARKER_LOWER_OPEN 
GRADIENT_SLIDER_MARKER_LOWER_FILLED 
GRADIENT_SLIDER_MARKER_DOUBLE_OPEN_BIG 
GRADIENT_SLIDER_MARKER_DOUBLE_FILLED_BIG 
GRADIENT_SLIDER_MARKER_UPPER_OPEN_BIG 
GRADIENT_SLIDER_MARKER_UPPER_FILLED_BIG 
GRADIENT_SLIDER_MARKER_LOWER_OPEN_BIG 
GRADIENT_SLIDER_MARKER_LOWER_FILLED_BIG 

Definition at line 70 of file gradientslider.h.

◆ anonymous enum

anonymous enum
Enumerator
GRADIENT_SLIDER_MARGINS_DEFAULT 
GRADIENT_SLIDER_MARGINS_ZERO 
GRADIENT_SLIDER_MARGINS_SMALL 
GRADIENT_SLIDER_MARGINS_BIG 

Definition at line 87 of file gradientslider.h.

◆ anonymous enum

anonymous enum
Enumerator
GRADIENT_SLIDER_SET 
GRADIENT_SLIDER_GET 

Definition at line 95 of file gradientslider.h.

◆ anonymous enum

anonymous enum
Enumerator
FREE_MARKERS 
PROPORTIONAL_MARKERS 

Definition at line 101 of file gradientslider.h.

◆ _gradient_slider_direction

Enumerator
MOVE_LEFT 
MOVE_RIGHT 

Definition at line 62 of file gradientslider.h.

Function Documentation

◆ dtgtk_gradient_slider_get_type()

GType dtgtk_gradient_slider_get_type ( void  )

Definition at line 965 of file gradientslider.c.

◆ dtgtk_gradient_slider_get_value()

gdouble dtgtk_gradient_slider_get_value ( GtkDarktableGradientSlider gslider)

Get the slider value 0 - 1.0

Definition at line 970 of file gradientslider.c.

References dtgtk_gradient_slider_multivalue_get_value().

Referenced by center_callback().

◆ dtgtk_gradient_slider_is_dragging()

gboolean dtgtk_gradient_slider_is_dragging ( GtkDarktableGradientSlider gslider)

Definition at line 1013 of file gradientslider.c.

References FALSE, _GtkDarktableGradientSlider::is_dragging, and IS_NULL_PTR.

◆ dtgtk_gradient_slider_multivalue_clear_stops()

void dtgtk_gradient_slider_multivalue_clear_stops ( GtkDarktableGradientSlider gslider)

Clear all stops

Definition at line 780 of file gradientslider.c.

References _GtkDarktableGradientSlider::colors, dt_free_gpointer(), and IS_NULL_PTR.

Referenced by _blendop_blendif_update_tab().

◆ dtgtk_gradient_slider_multivalue_get_resetvalue()

gdouble dtgtk_gradient_slider_multivalue_get_resetvalue ( GtkDarktableGradientSlider gslider,
gint  pos 
)

◆ dtgtk_gradient_slider_multivalue_get_resetvalues()

gdouble dtgtk_gradient_slider_multivalue_get_resetvalues ( GtkDarktableGradientSlider gslider)

◆ dtgtk_gradient_slider_multivalue_get_type()

GType dtgtk_gradient_slider_multivalue_get_type ( void  )

Definition at line 787 of file gradientslider.c.

◆ dtgtk_gradient_slider_multivalue_get_value()

gdouble dtgtk_gradient_slider_multivalue_get_value ( GtkDarktableGradientSlider gslider,
gint  position 
)

Get the slider value 0 - 1.0 for multivalue control

Definition at line 792 of file gradientslider.c.

References GRADIENT_SLIDER_GET, _GtkDarktableGradientSlider::position, and _GtkDarktableGradientSlider::scale_callback.

Referenced by _blendop_blendif_sliders_callback(), and dtgtk_gradient_slider_get_value().

◆ dtgtk_gradient_slider_multivalue_get_values()

void dtgtk_gradient_slider_multivalue_get_values ( GtkDarktableGradientSlider gslider,
gdouble *  values 
)

◆ dtgtk_gradient_slider_multivalue_is_dragging()

gboolean dtgtk_gradient_slider_multivalue_is_dragging ( GtkDarktableGradientSlider gslider)

Definition at line 887 of file gradientslider.c.

References FALSE, _GtkDarktableGradientSlider::is_dragging, and IS_NULL_PTR.

◆ dtgtk_gradient_slider_multivalue_new()

GtkWidget * dtgtk_gradient_slider_multivalue_new ( gint  positions)

◆ dtgtk_gradient_slider_multivalue_new_with_color()

◆ dtgtk_gradient_slider_multivalue_new_with_color_and_name()

GtkWidget * dtgtk_gradient_slider_multivalue_new_with_color_and_name ( GdkRGBA  start,
GdkRGBA  end,
gint  positions,
gchar *  name 
)

Definition at line 751 of file gradientslider.c.

References dtgtk_gradient_slider_multivalue_new_with_color(), and name.

Referenced by gui_init().

◆ dtgtk_gradient_slider_multivalue_new_with_name()

GtkWidget * dtgtk_gradient_slider_multivalue_new_with_name ( gint  positions,
gchar *  name 
)

Definition at line 719 of file gradientslider.c.

References dtgtk_gradient_slider_multivalue_new(), and name.

Referenced by dt_iop_gui_init_blendif().

◆ dtgtk_gradient_slider_multivalue_set_increment()

void dtgtk_gradient_slider_multivalue_set_increment ( GtkDarktableGradientSlider gslider,
gdouble  value 
)

set increment for scroll action

Definition at line 893 of file gradientslider.c.

References _GtkDarktableGradientSlider::increment, IS_NULL_PTR, and value.

Referenced by _blendop_blendif_update_tab().

◆ dtgtk_gradient_slider_multivalue_set_marker()

void dtgtk_gradient_slider_multivalue_set_marker ( GtkDarktableGradientSlider gslider,
gint  mark,
gint  pos 
)

Set the slider markers for multivalue control

Definition at line 828 of file gradientslider.c.

References IS_NULL_PTR, and _GtkDarktableGradientSlider::marker.

Referenced by _blendop_blendif_polarity_callback(), _blendop_blendif_update_tab(), dtgtk_gradient_slider_set_marker(), gui_init(), and gui_init().

◆ dtgtk_gradient_slider_multivalue_set_markers()

void dtgtk_gradient_slider_multivalue_set_markers ( GtkDarktableGradientSlider gslider,
gint *  markers 
)

◆ dtgtk_gradient_slider_multivalue_set_picker()

void dtgtk_gradient_slider_multivalue_set_picker ( GtkDarktableGradientSlider gslider,
gdouble  value 
)

◆ dtgtk_gradient_slider_multivalue_set_picker_meanminmax()

void dtgtk_gradient_slider_multivalue_set_picker_meanminmax ( GtkDarktableGradientSlider gslider,
gdouble  mean,
gdouble  min,
gdouble  max 
)

◆ dtgtk_gradient_slider_multivalue_set_resetvalue()

void dtgtk_gradient_slider_multivalue_set_resetvalue ( GtkDarktableGradientSlider gslider,
gdouble  value,
gint  pos 
)

◆ dtgtk_gradient_slider_multivalue_set_resetvalues()

◆ dtgtk_gradient_slider_multivalue_set_scale_callback()

◆ dtgtk_gradient_slider_multivalue_set_stop()

void dtgtk_gradient_slider_multivalue_set_stop ( GtkDarktableGradientSlider gslider,
gfloat  position,
GdkRGBA  color 
)

◆ dtgtk_gradient_slider_multivalue_set_value()

◆ dtgtk_gradient_slider_multivalue_set_values()

◆ dtgtk_gradient_slider_new()

GtkWidget * dtgtk_gradient_slider_new ( )

instantiate a new darktable gradient slider control

Definition at line 930 of file gradientslider.c.

References dt_gui_add_class(), and dtgtk_gradient_slider_multivalue_new().

Referenced by dtgtk_gradient_slider_new_with_name().

◆ dtgtk_gradient_slider_new_with_color()

GtkWidget * dtgtk_gradient_slider_new_with_color ( GdkRGBA  start,
GdkRGBA  end 
)

◆ dtgtk_gradient_slider_new_with_color_and_name()

GtkWidget * dtgtk_gradient_slider_new_with_color_and_name ( GdkRGBA  start,
GdkRGBA  end,
gchar *  name 
)

Definition at line 952 of file gradientslider.c.

References dtgtk_gradient_slider_new_with_color(), and name.

Referenced by gui_init().

◆ dtgtk_gradient_slider_new_with_name()

GtkWidget * dtgtk_gradient_slider_new_with_name ( gchar *  name)

Definition at line 937 of file gradientslider.c.

References dtgtk_gradient_slider_new(), and name.

◆ dtgtk_gradient_slider_set_increment()

void dtgtk_gradient_slider_set_increment ( GtkDarktableGradientSlider gslider,
gdouble  value 
)

set increment for scroll action

Definition at line 1019 of file gradientslider.c.

References _GtkDarktableGradientSlider::increment, IS_NULL_PTR, and value.

◆ dtgtk_gradient_slider_set_marker()

void dtgtk_gradient_slider_set_marker ( GtkDarktableGradientSlider gslider,
gint  mark 
)

Set the slider marker

Definition at line 980 of file gradientslider.c.

References dtgtk_gradient_slider_multivalue_set_marker().

◆ dtgtk_gradient_slider_set_picker()

void dtgtk_gradient_slider_set_picker ( GtkDarktableGradientSlider gslider,
gdouble  value 
)

◆ dtgtk_gradient_slider_set_picker_meanminmax()

void dtgtk_gradient_slider_set_picker_meanminmax ( GtkDarktableGradientSlider gslider,
gdouble  mean,
gdouble  min,
gdouble  max 
)

◆ dtgtk_gradient_slider_set_resetvalue()

void dtgtk_gradient_slider_set_resetvalue ( GtkDarktableGradientSlider gslider,
gdouble  value 
)

Set the slider reset value

Definition at line 985 of file gradientslider.c.

References dtgtk_gradient_slider_multivalue_set_resetvalue(), and value.

◆ dtgtk_gradient_slider_set_stop()

void dtgtk_gradient_slider_set_stop ( GtkDarktableGradientSlider gslider,
gfloat  position,
GdkRGBA  color 
)

Set a color at specified stop

Definition at line 960 of file gradientslider.c.

References dtgtk_gradient_slider_multivalue_set_stop(), and position().

◆ dtgtk_gradient_slider_set_value()

void dtgtk_gradient_slider_set_value ( GtkDarktableGradientSlider gslider,
gdouble  value 
)

Definition at line 975 of file gradientslider.c.

References dtgtk_gradient_slider_multivalue_set_value(), and value.

Referenced by gui_update().