mirror of
https://gitlab.gnome.org/GNOME/gimp.git
synced 2025-07-04 09:53:25 +00:00
app: Remove repeat options from gradient for paint tools
Repeat for gradient/color or any other dynamic driving is provided by fade.
This commit is contained in:
parent
2337581a2d
commit
d2ad292848
3 changed files with 1 additions and 119 deletions
|
@ -86,9 +86,6 @@ enum
|
||||||
|
|
||||||
PROP_USE_GRADIENT,
|
PROP_USE_GRADIENT,
|
||||||
PROP_GRADIENT_REVERSE,
|
PROP_GRADIENT_REVERSE,
|
||||||
PROP_GRADIENT_REPEAT,
|
|
||||||
PROP_GRADIENT_LENGTH,
|
|
||||||
PROP_GRADIENT_UNIT,
|
|
||||||
|
|
||||||
PROP_BRUSH_VIEW_TYPE,
|
PROP_BRUSH_VIEW_TYPE,
|
||||||
PROP_BRUSH_VIEW_SIZE,
|
PROP_BRUSH_VIEW_SIZE,
|
||||||
|
@ -197,19 +194,6 @@ gimp_paint_options_class_init (GimpPaintOptionsClass *klass)
|
||||||
"gradient-reverse", NULL,
|
"gradient-reverse", NULL,
|
||||||
DEFAULT_GRADIENT_REVERSE,
|
DEFAULT_GRADIENT_REVERSE,
|
||||||
GIMP_PARAM_STATIC_STRINGS);
|
GIMP_PARAM_STATIC_STRINGS);
|
||||||
GIMP_CONFIG_INSTALL_PROP_ENUM (object_class, PROP_GRADIENT_REPEAT,
|
|
||||||
"gradient-repeat", NULL,
|
|
||||||
GIMP_TYPE_REPEAT_MODE,
|
|
||||||
DEFAULT_GRADIENT_REPEAT,
|
|
||||||
GIMP_PARAM_STATIC_STRINGS);
|
|
||||||
GIMP_CONFIG_INSTALL_PROP_DOUBLE (object_class, PROP_GRADIENT_LENGTH,
|
|
||||||
"gradient-length", NULL,
|
|
||||||
0.0, 32767.0, DEFAULT_GRADIENT_LENGTH,
|
|
||||||
GIMP_PARAM_STATIC_STRINGS);
|
|
||||||
GIMP_CONFIG_INSTALL_PROP_UNIT (object_class, PROP_GRADIENT_UNIT,
|
|
||||||
"gradient-unit", NULL,
|
|
||||||
TRUE, TRUE, DEFAULT_GRADIENT_UNIT,
|
|
||||||
GIMP_PARAM_STATIC_STRINGS);
|
|
||||||
|
|
||||||
GIMP_CONFIG_INSTALL_PROP_ENUM (object_class, PROP_BRUSH_VIEW_TYPE,
|
GIMP_CONFIG_INSTALL_PROP_ENUM (object_class, PROP_BRUSH_VIEW_TYPE,
|
||||||
"brush-view-type", NULL,
|
"brush-view-type", NULL,
|
||||||
|
@ -346,18 +330,6 @@ gimp_paint_options_set_property (GObject *object,
|
||||||
gradient_options->gradient_reverse = g_value_get_boolean (value);
|
gradient_options->gradient_reverse = g_value_get_boolean (value);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PROP_GRADIENT_REPEAT:
|
|
||||||
gradient_options->gradient_repeat = g_value_get_enum (value);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case PROP_GRADIENT_LENGTH:
|
|
||||||
gradient_options->gradient_length = g_value_get_double (value);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case PROP_GRADIENT_UNIT:
|
|
||||||
gradient_options->gradient_unit = g_value_get_int (value);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case PROP_BRUSH_VIEW_TYPE:
|
case PROP_BRUSH_VIEW_TYPE:
|
||||||
options->brush_view_type = g_value_get_enum (value);
|
options->brush_view_type = g_value_get_enum (value);
|
||||||
break;
|
break;
|
||||||
|
@ -461,18 +433,6 @@ gimp_paint_options_get_property (GObject *object,
|
||||||
g_value_set_boolean (value, gradient_options->gradient_reverse);
|
g_value_set_boolean (value, gradient_options->gradient_reverse);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PROP_GRADIENT_REPEAT:
|
|
||||||
g_value_set_enum (value, gradient_options->gradient_repeat);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case PROP_GRADIENT_LENGTH:
|
|
||||||
g_value_set_double (value, gradient_options->gradient_length);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case PROP_GRADIENT_UNIT:
|
|
||||||
g_value_set_int (value, gradient_options->gradient_unit);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case PROP_BRUSH_VIEW_TYPE:
|
case PROP_BRUSH_VIEW_TYPE:
|
||||||
g_value_set_enum (value, options->brush_view_type);
|
g_value_set_enum (value, options->brush_view_type);
|
||||||
break;
|
break;
|
||||||
|
@ -661,7 +621,7 @@ gimp_paint_options_get_gradient_color (GimpPaintOptions *paint_options,
|
||||||
|
|
||||||
dynamics = gimp_context_get_dynamics (GIMP_CONTEXT (paint_options));
|
dynamics = gimp_context_get_dynamics (GIMP_CONTEXT (paint_options));
|
||||||
|
|
||||||
if (gimp_dynamics_output_is_enabled(dynamics->color_output))
|
if (gimp_dynamics_output_is_enabled(dynamics->color_output) && gradient_options->use_gradient)
|
||||||
{
|
{
|
||||||
gimp_gradient_get_color_at (gradient, GIMP_CONTEXT (paint_options),
|
gimp_gradient_get_color_at (gradient, GIMP_CONTEXT (paint_options),
|
||||||
NULL, grad_point,
|
NULL, grad_point,
|
||||||
|
@ -670,58 +630,6 @@ gimp_paint_options_get_gradient_color (GimpPaintOptions *paint_options,
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
else if (gradient_options->use_gradient)
|
|
||||||
{
|
|
||||||
gdouble gradient_length = 0.0;
|
|
||||||
gdouble unit_factor;
|
|
||||||
gdouble pos;
|
|
||||||
|
|
||||||
switch (gradient_options->gradient_unit)
|
|
||||||
{
|
|
||||||
case GIMP_UNIT_PIXEL:
|
|
||||||
gradient_length = gradient_options->gradient_length;
|
|
||||||
break;
|
|
||||||
case GIMP_UNIT_PERCENT:
|
|
||||||
gradient_length = (MAX (gimp_image_get_width (image),
|
|
||||||
gimp_image_get_height (image)) *
|
|
||||||
gradient_options->gradient_length / 100);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
{
|
|
||||||
gdouble xres;
|
|
||||||
gdouble yres;
|
|
||||||
|
|
||||||
gimp_image_get_resolution (image, &xres, &yres);
|
|
||||||
|
|
||||||
unit_factor = gimp_unit_get_factor (gradient_options->gradient_unit);
|
|
||||||
gradient_length = (gradient_options->gradient_length *
|
|
||||||
MAX (xres, yres) / unit_factor);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (gradient_length > 0.0)
|
|
||||||
pos = pixel_dist / gradient_length;
|
|
||||||
else
|
|
||||||
pos = 1.0;
|
|
||||||
|
|
||||||
/* for no repeat, set pos close to 1.0 after the first chunk */
|
|
||||||
if (gradient_options->gradient_repeat == GIMP_REPEAT_NONE && pos >= 1.0)
|
|
||||||
pos = 0.9999999;
|
|
||||||
|
|
||||||
if (((gint) pos & 1) &&
|
|
||||||
gradient_options->gradient_repeat != GIMP_REPEAT_SAWTOOTH)
|
|
||||||
pos = 1.0 - (pos - (gint) pos);
|
|
||||||
else
|
|
||||||
pos = pos - (gint) pos;
|
|
||||||
|
|
||||||
gimp_gradient_get_color_at (gradient, GIMP_CONTEXT (paint_options),
|
|
||||||
NULL, pos,
|
|
||||||
gradient_options->gradient_reverse,
|
|
||||||
color);
|
|
||||||
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
|
@ -54,8 +54,6 @@ struct _GimpGradientOptions
|
||||||
{
|
{
|
||||||
gboolean use_gradient;
|
gboolean use_gradient;
|
||||||
gboolean gradient_reverse;
|
gboolean gradient_reverse;
|
||||||
gdouble gradient_length;
|
|
||||||
GimpUnit gradient_unit;
|
|
||||||
GimpRepeatMode gradient_repeat;
|
GimpRepeatMode gradient_repeat;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -308,29 +308,5 @@ gradient_options_gui (GimpPaintOptions *paint_options,
|
||||||
_("Gradient:"), 0.0, 0.5,
|
_("Gradient:"), 0.0, 0.5,
|
||||||
button, 2, TRUE);
|
button, 2, TRUE);
|
||||||
|
|
||||||
/* the gradient length scale */
|
|
||||||
spinbutton = gimp_prop_spin_button_new (config, "gradient-length",
|
|
||||||
1.0, 50.0, 0);
|
|
||||||
gtk_entry_set_width_chars (GTK_ENTRY (spinbutton), 6);
|
|
||||||
|
|
||||||
gimp_table_attach_aligned (GTK_TABLE (table), 0, 1,
|
|
||||||
_("Length:"), 0.0, 0.5,
|
|
||||||
spinbutton, 1, FALSE);
|
|
||||||
|
|
||||||
/* the gradient unitmenu */
|
|
||||||
menu = gimp_prop_unit_menu_new (config, "gradient-unit", "%a");
|
|
||||||
gtk_table_attach (GTK_TABLE (table), menu, 2, 3, 1, 2,
|
|
||||||
GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0);
|
|
||||||
gtk_widget_show (menu);
|
|
||||||
|
|
||||||
g_object_set_data (G_OBJECT (menu), "set_digits", spinbutton);
|
|
||||||
gimp_unit_menu_set_pixel_digits (GIMP_UNIT_MENU (menu), 0);
|
|
||||||
|
|
||||||
/* the repeat type */
|
|
||||||
combo = gimp_prop_enum_combo_box_new (config, "gradient-repeat", 0, 0);
|
|
||||||
gimp_table_attach_aligned (GTK_TABLE (table), 0, 2,
|
|
||||||
_("Repeat:"), 0.0, 0.5,
|
|
||||||
combo, 2, FALSE);
|
|
||||||
|
|
||||||
return frame;
|
return frame;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue