[gimp] app: change enum GimpColorPickState to { START, UPDATE, END }
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] app: change enum GimpColorPickState to { START, UPDATE, END }
- Date: Fri, 28 Nov 2014 11:03:32 +0000 (UTC)
commit bebdcbe0bfcf7d4a93e9b17c997dbd7328611569
Author: Michael Natterer <mitch gimp org>
Date: Fri Nov 28 12:00:53 2014 +0100
app: change enum GimpColorPickState to { START, UPDATE, END }
It used to be { NEW, UPDATE } but that didn't allow to distinguish the
final END update, which we will soon need for automatic color history
updating. Make sure all places that handle motion events on colors
(pick from canvas, gradient editor) correctly send and handle END
events.
app/tools/gimpcolortool.c | 7 +++++--
app/widgets/gimpgradienteditor.c | 11 ++++++++---
app/widgets/gimppaletteeditor.c | 3 ++-
app/widgets/widgets-enums.c | 6 ++++--
app/widgets/widgets-enums.h | 5 +++--
5 files changed, 22 insertions(+), 10 deletions(-)
---
diff --git a/app/tools/gimpcolortool.c b/app/tools/gimpcolortool.c
index c5e05b5..7dfe16d 100644
--- a/app/tools/gimpcolortool.c
+++ b/app/tools/gimpcolortool.c
@@ -245,7 +245,7 @@ gimp_color_tool_button_press (GimpTool *tool,
gimp_draw_tool_start (GIMP_DRAW_TOOL (tool), display);
- gimp_color_tool_pick (color_tool, GIMP_COLOR_PICK_STATE_NEW,
+ gimp_color_tool_pick (color_tool, GIMP_COLOR_PICK_STATE_START,
coords->x, coords->y);
}
}
@@ -336,6 +336,9 @@ gimp_color_tool_button_release (GimpTool *tool,
else
{
gimp_draw_tool_stop (GIMP_DRAW_TOOL (tool));
+
+ gimp_color_tool_pick (color_tool, GIMP_COLOR_PICK_STATE_END,
+ coords->x, coords->y);
}
}
@@ -683,7 +686,7 @@ gimp_color_tool_real_picked (GimpColorTool *color_tool,
GimpData *data;
/* don't blink like mad when updating */
- if (pick_state == GIMP_COLOR_PICK_STATE_UPDATE)
+ if (pick_state != GIMP_COLOR_PICK_STATE_START)
gimp_dockable_blink_cancel (GIMP_DOCKABLE (dockable));
palette_editor = gtk_bin_get_child (GTK_BIN (dockable));
diff --git a/app/widgets/gimpgradienteditor.c b/app/widgets/gimpgradienteditor.c
index dbe1d08..ed2cd5e 100644
--- a/app/widgets/gimpgradienteditor.c
+++ b/app/widgets/gimpgradienteditor.c
@@ -152,7 +152,8 @@ static void view_set_hint (GimpGradientEditor *editor,
gint x);
static void view_pick_color (GimpGradientEditor *editor,
- GimpColorPickMode mode,
+ GimpColorPickMode pick_mode,
+ GimpColorPickState pick_state,
gint x);
/* Gradient control functions */
@@ -820,6 +821,7 @@ view_events (GtkWidget *widget,
(mevent->state & gimp_get_toggle_behavior_mask ()) ?
GIMP_COLOR_PICK_MODE_BACKGROUND :
GIMP_COLOR_PICK_MODE_FOREGROUND,
+ GIMP_COLOR_PICK_STATE_UPDATE,
mevent->x);
}
else
@@ -849,6 +851,7 @@ view_events (GtkWidget *widget,
(bevent->state & gimp_get_toggle_behavior_mask ()) ?
GIMP_COLOR_PICK_MODE_BACKGROUND :
GIMP_COLOR_PICK_MODE_FOREGROUND,
+ GIMP_COLOR_PICK_STATE_START,
bevent->x);
}
}
@@ -915,6 +918,7 @@ view_events (GtkWidget *widget,
(bevent->state & gimp_get_toggle_behavior_mask ()) ?
GIMP_COLOR_PICK_MODE_BACKGROUND :
GIMP_COLOR_PICK_MODE_FOREGROUND,
+ GIMP_COLOR_PICK_STATE_END,
bevent->x);
break;
}
@@ -969,7 +973,8 @@ view_set_hint (GimpGradientEditor *editor,
static void
view_pick_color (GimpGradientEditor *editor,
- GimpColorPickMode mode,
+ GimpColorPickMode pick_mode,
+ GimpColorPickState pick_state,
gint x)
{
GimpDataEditor *data_editor = GIMP_DATA_EDITOR (editor);
@@ -993,7 +998,7 @@ view_pick_color (GimpGradientEditor *editor,
str3 = g_strdup_printf ("(%0.3f, %0.3f, %0.3f)", color.r, color.g, color.b);
- if (mode == GIMP_COLOR_PICK_MODE_FOREGROUND)
+ if (pick_mode == GIMP_COLOR_PICK_MODE_FOREGROUND)
{
gimp_context_set_foreground (data_editor->context, &color);
diff --git a/app/widgets/gimppaletteeditor.c b/app/widgets/gimppaletteeditor.c
index 0382908..a918cc0 100644
--- a/app/widgets/gimppaletteeditor.c
+++ b/app/widgets/gimppaletteeditor.c
@@ -464,7 +464,7 @@ gimp_palette_editor_pick_color (GimpPaletteEditor *editor,
switch (pick_state)
{
- case GIMP_COLOR_PICK_STATE_NEW:
+ case GIMP_COLOR_PICK_STATE_START:
if (editor->color)
index = editor->color->position + 1;
@@ -475,6 +475,7 @@ gimp_palette_editor_pick_color (GimpPaletteEditor *editor,
break;
case GIMP_COLOR_PICK_STATE_UPDATE:
+ case GIMP_COLOR_PICK_STATE_END:
gimp_palette_set_entry_color (GIMP_PALETTE (data),
editor->color->position,
color);
diff --git a/app/widgets/widgets-enums.c b/app/widgets/widgets-enums.c
index 1f882e0..bf14943 100644
--- a/app/widgets/widgets-enums.c
+++ b/app/widgets/widgets-enums.c
@@ -168,15 +168,17 @@ gimp_color_pick_state_get_type (void)
{
static const GEnumValue values[] =
{
- { GIMP_COLOR_PICK_STATE_NEW, "GIMP_COLOR_PICK_STATE_NEW", "new" },
+ { GIMP_COLOR_PICK_STATE_START, "GIMP_COLOR_PICK_STATE_START", "start" },
{ GIMP_COLOR_PICK_STATE_UPDATE, "GIMP_COLOR_PICK_STATE_UPDATE", "update" },
+ { GIMP_COLOR_PICK_STATE_END, "GIMP_COLOR_PICK_STATE_END", "end" },
{ 0, NULL, NULL }
};
static const GimpEnumDesc descs[] =
{
- { GIMP_COLOR_PICK_STATE_NEW, "GIMP_COLOR_PICK_STATE_NEW", NULL },
+ { GIMP_COLOR_PICK_STATE_START, "GIMP_COLOR_PICK_STATE_START", NULL },
{ GIMP_COLOR_PICK_STATE_UPDATE, "GIMP_COLOR_PICK_STATE_UPDATE", NULL },
+ { GIMP_COLOR_PICK_STATE_END, "GIMP_COLOR_PICK_STATE_END", NULL },
{ 0, NULL, NULL }
};
diff --git a/app/widgets/widgets-enums.h b/app/widgets/widgets-enums.h
index f3c6ebd..068a477 100644
--- a/app/widgets/widgets-enums.h
+++ b/app/widgets/widgets-enums.h
@@ -89,8 +89,9 @@ GType gimp_color_pick_state_get_type (void) G_GNUC_CONST;
typedef enum
{
- GIMP_COLOR_PICK_STATE_NEW,
- GIMP_COLOR_PICK_STATE_UPDATE
+ GIMP_COLOR_PICK_STATE_START,
+ GIMP_COLOR_PICK_STATE_UPDATE,
+ GIMP_COLOR_PICK_STATE_END
} GimpColorPickState;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]