[gimp] gimpoperationwarp: add a hardness property
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] gimpoperationwarp: add a hardness property
- Date: Tue, 21 May 2013 21:47:04 +0000 (UTC)
commit 061a6ad85e1a5830f0817b810198d56f2065f74f
Author: Michael Muré <batolettre gmail com>
Date: Tue Jul 5 16:35:32 2011 +0200
gimpoperationwarp: add a hardness property
and use it to compute influence with a gaussian like curve
implementation use a lookup table to speed things gimpwarpoptions: add
a hardness property and UI
app/tools/gimpwarpoptions.c | 28 ++++++++++++++++++++++++----
app/tools/gimpwarpoptions.h | 1 +
app/tools/gimpwarptool.c | 1 +
3 files changed, 26 insertions(+), 4 deletions(-)
---
diff --git a/app/tools/gimpwarpoptions.c b/app/tools/gimpwarpoptions.c
index 0ee2b96..c9bb508 100644
--- a/app/tools/gimpwarpoptions.c
+++ b/app/tools/gimpwarpoptions.c
@@ -41,6 +41,7 @@ enum
PROP_0,
PROP_EFFECT_STRENGTH,
PROP_EFFECT_SIZE,
+ PROP_EFFECT_HARDNESS,
PROP_BEHAVIOR
};
@@ -79,6 +80,11 @@ gimp_warp_options_class_init (GimpWarpOptionsClass *klass)
1.0, 10000.0, 40.0,
GIMP_PARAM_STATIC_STRINGS);
+ GIMP_CONFIG_INSTALL_PROP_DOUBLE (object_class, PROP_EFFECT_HARDNESS,
+ "effect-hardness", _("Effect Hardness"),
+ 0.0, 1.0, 0.5,
+ GIMP_PARAM_STATIC_STRINGS);
+
GIMP_CONFIG_INSTALL_PROP_ENUM (object_class, PROP_BEHAVIOR,
"behavior",
N_("Behavior"),
@@ -108,6 +114,9 @@ gimp_warp_options_set_property (GObject *object,
case PROP_EFFECT_SIZE:
options->effect_size = g_value_get_double (value);
break;
+ case PROP_EFFECT_HARDNESS:
+ options->effect_hardness = g_value_get_double (value);
+ break;
case PROP_BEHAVIOR:
options->behavior = g_value_get_enum (value);
break;
@@ -134,6 +143,9 @@ gimp_warp_options_get_property (GObject *object,
case PROP_EFFECT_SIZE:
g_value_set_double (value, options->effect_size);
break;
+ case PROP_EFFECT_HARDNESS:
+ g_value_set_double (value, options->effect_hardness);
+ break;
case PROP_BEHAVIOR:
g_value_set_enum (value, options->behavior);
break;
@@ -152,24 +164,32 @@ gimp_warp_options_gui (GimpToolOptions *tool_options)
GtkWidget *behavior;
GtkWidget *strength;
GtkWidget *size;
+ GtkWidget *hardness;
behavior = gimp_prop_enum_combo_box_new (config, "behavior", 0, 0);
gtk_box_pack_start (GTK_BOX (vbox), behavior, FALSE, FALSE, 0);
gtk_widget_show (behavior);
strength = gimp_prop_spin_scale_new (config, "effect-strength",
- _("Strength"),
- 0.01, 1.0, 2);
+ _("Strength"),
+ 0.01, 1.0, 2);
gimp_spin_scale_set_scale_limits (GIMP_SPIN_SCALE (strength), 0.0, 1.0);
gtk_box_pack_start (GTK_BOX (vbox), strength, FALSE, FALSE, 0);
gtk_widget_show (strength);
size = gimp_prop_spin_scale_new (config, "effect-size",
- _("Size"),
- 0.01, 1.0, 2);
+ _("Size"),
+ 0.01, 1.0, 2);
gimp_spin_scale_set_scale_limits (GIMP_SPIN_SCALE (size), 1.0, 1000.0);
gtk_box_pack_start (GTK_BOX (vbox), size, FALSE, FALSE, 0);
gtk_widget_show (size);
+ hardness = gimp_prop_spin_scale_new (config, "effect-hardness",
+ _("Hardness"),
+ 0.01, 1.0, 2);
+ gimp_spin_scale_set_scale_limits (GIMP_SPIN_SCALE (hardness), 0.0, 1.0);
+ gtk_box_pack_start (GTK_BOX (vbox), hardness, FALSE, FALSE, 0);
+ gtk_widget_show (hardness);
+
return vbox;
}
diff --git a/app/tools/gimpwarpoptions.h b/app/tools/gimpwarpoptions.h
index d5d07a4..926197f 100644
--- a/app/tools/gimpwarpoptions.h
+++ b/app/tools/gimpwarpoptions.h
@@ -41,6 +41,7 @@ struct _GimpWarpOptions
gdouble effect_strength;
gdouble effect_size;
+ gdouble effect_hardness;
GimpWarpBehavior behavior;
};
diff --git a/app/tools/gimpwarptool.c b/app/tools/gimpwarptool.c
index 9b4c2fa..48efdbb 100644
--- a/app/tools/gimpwarptool.c
+++ b/app/tools/gimpwarptool.c
@@ -559,6 +559,7 @@ gimp_warp_tool_add_op (GimpWarpTool *wt)
"behavior", options->behavior,
"strength", options->effect_strength,
"size", options->effect_size,
+ "hardness", options->effect_hardness,
"stroke", wt->current_stroke,
NULL);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]