[gimp] app: Add "Border style" combo to the "Select -> Border..." dialog
- From: N/A <ell src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] app: Add "Border style" combo to the "Select -> Border..." dialog
- Date: Sun, 8 May 2016 19:34:09 +0000 (UTC)
commit 60b31cce0f82f0287271c9b5a2c89629ae277b83
Author: Ell <ell_se yahoo com>
Date: Mon Apr 4 16:00:07 2016 +0000
app: Add "Border style" combo to the "Select -> Border..." dialog
instead of the "Feather border" toggle, and pass the selected style
to gimp_channel_border().
The border style defaults to "Smooth", whereas the previous default
behavior corresponds to "Hard".
app/actions/select-commands.c | 44 +++++++++++++++++++++-------------------
1 files changed, 23 insertions(+), 21 deletions(-)
---
diff --git a/app/actions/select-commands.c b/app/actions/select-commands.c
index 3124244..dde3e50 100644
--- a/app/actions/select-commands.c
+++ b/app/actions/select-commands.c
@@ -70,13 +70,13 @@ static void select_shrink_callback (GtkWidget *widget,
/* private variables */
-static gdouble select_feather_radius = 5.0;
-static gint select_grow_pixels = 1;
-static gint select_shrink_pixels = 1;
-static gboolean select_shrink_edge_lock = FALSE;
-static gint select_border_radius = 5;
-static gboolean select_border_feather = FALSE;
-static gboolean select_border_edge_lock = FALSE;
+static gdouble select_feather_radius = 5.0;
+static gint select_grow_pixels = 1;
+static gint select_shrink_pixels = 1;
+static gboolean select_shrink_edge_lock = FALSE;
+static gint select_border_radius = 5;
+static GimpChannelBorderStyle select_border_style = GIMP_CHANNEL_BORDER_STYLE_SMOOTH;
+static gboolean select_border_edge_lock = FALSE;
/* public functions */
@@ -260,6 +260,7 @@ select_border_cmd_callback (GtkAction *action,
GimpDisplay *display;
GimpImage *image;
GtkWidget *dialog;
+ GtkWidget *combo;
GtkWidget *button;
gdouble xres;
gdouble yres;
@@ -281,16 +282,17 @@ select_border_cmd_callback (GtkAction *action,
G_OBJECT (image), "disconnect",
select_border_callback, image);
- /* Feather button */
- button = gtk_check_button_new_with_mnemonic (_("_Feather border"));
+ /* Border style combo */
+ combo = gimp_enum_combo_box_new (GIMP_TYPE_CHANNEL_BORDER_STYLE);
+ gimp_int_combo_box_set_label (GIMP_INT_COMBO_BOX (combo), _("Border style"));
- gtk_box_pack_start (GTK_BOX (GIMP_QUERY_BOX_VBOX (dialog)), button,
+ gtk_box_pack_start (GTK_BOX (GIMP_QUERY_BOX_VBOX (dialog)), combo,
FALSE, FALSE, 0);
- g_object_set_data (G_OBJECT (dialog), "border-feather-toggle", button);
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button),
- select_border_feather);
- gtk_widget_show (button);
+ g_object_set_data (G_OBJECT (dialog), "border-style-combo", combo);
+ gimp_int_combo_box_set_active (GIMP_INT_COMBO_BOX (combo),
+ select_border_style);
+ gtk_widget_show (combo);
/* Edge lock button */
button = gtk_check_button_new_with_mnemonic (_("_Selected areas continue outside the image"));
@@ -536,17 +538,19 @@ select_border_callback (GtkWidget *widget,
gpointer data)
{
GimpImage *image = GIMP_IMAGE (data);
- GtkWidget *feather_button = g_object_get_data (G_OBJECT (widget),
- "border-feather-toggle");
+ GtkWidget *style_combo = g_object_get_data (G_OBJECT (widget),
+ "border-style-combo");
GtkWidget *edge_lock_button = g_object_get_data (G_OBJECT (widget),
"edge-lock-toggle");
gdouble radius_x;
gdouble radius_y;
+ gint border_style;
radius_x = radius_y = select_border_radius = ROUND (size);
- select_border_feather =
- gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (feather_button));
+ if (gimp_int_combo_box_get_active (GIMP_INT_COMBO_BOX (style_combo),
+ &border_style))
+ select_border_style = (GimpChannelBorderStyle) border_style;
select_border_edge_lock =
gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (edge_lock_button));
@@ -569,9 +573,7 @@ select_border_callback (GtkWidget *widget,
}
gimp_channel_border (gimp_image_get_mask (image), radius_x, radius_y,
- ! select_border_feather ? GIMP_CHANNEL_BORDER_STYLE_HARD :
- GIMP_CHANNEL_BORDER_STYLE_FEATHERED,
- select_border_edge_lock, TRUE);
+ select_border_style, select_border_edge_lock, TRUE);
gimp_image_flush (image);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]