remove color if Shift is pressed.

2006-03-10  Sven Neumann  <sven@gimp.org>

	* modules/colorsel_water.c: remove color if Shift is pressed.
This commit is contained in:
Sven Neumann 2006-03-10 13:12:15 +00:00 committed by Sven Neumann
parent e64dc39c48
commit 49b1d06896
2 changed files with 14 additions and 25 deletions

View File

@ -1,3 +1,7 @@
2006-03-10 Sven Neumann <sven@gimp.org>
* modules/colorsel_water.c: remove color if Shift is pressed.
2006-03-10 Sven Neumann <sven@gimp.org>
* app/actions/drawable-actions.c

View File

@ -51,7 +51,6 @@ struct _ColorselWater
gfloat pressure_adjust;
guint32 motion_time;
gint button_state;
};
struct _ColorselWaterClass
@ -69,9 +68,6 @@ static void select_area_expose (GtkWidget *widget,
static gboolean button_press_event (GtkWidget *widget,
GdkEventButton *event,
ColorselWater *water);
static gboolean button_release_event (GtkWidget *widget,
GdkEventButton *event,
ColorselWater *water);
static gboolean motion_notify_event (GtkWidget *widget,
GdkEventMotion *event,
ColorselWater *water);
@ -87,9 +83,9 @@ static const GimpModuleInfo colorsel_water_info =
GIMP_MODULE_ABI_VERSION,
N_("Watercolor style color selector"),
"Raph Levien <raph@acm.org>, Sven Neumann <sven@gimp.org>",
"v0.3",
"(c) 1998-1999, released under the GPL",
"May, 10 1999"
"v0.4",
"released under the GPL",
"1998-2006"
};
static const GtkTargetEntry targets[] =
@ -187,9 +183,6 @@ colorsel_water_init (ColorselWater *water)
g_signal_connect (area, "button-press-event",
G_CALLBACK (button_press_event),
water);
g_signal_connect (area, "button-release-event",
G_CALLBACK (button_release_event),
water);
g_signal_connect (area, "proximity-out-event",
G_CALLBACK (proximity_out_event),
water);
@ -349,11 +342,12 @@ button_press_event (GtkWidget *widget,
water->last_x = event->x / widget->allocation.width;
water->last_y = event->y / widget->allocation.height;
water->button_state |= 1 << event->button;
erase = (event->button != 1);
/* FIXME: (event->source == GDK_SOURCE_ERASER) */
if (event->state & GDK_SHIFT_MASK)
erase = !erase;
add_pigment (water, erase, water->last_x, water->last_y, 0.05);
water->motion_time = event->time;
@ -361,16 +355,6 @@ button_press_event (GtkWidget *widget,
return FALSE;
}
static gboolean
button_release_event (GtkWidget *widget,
GdkEventButton *event,
ColorselWater *water)
{
water->button_state &= ~(1 << event->button);
return TRUE;
}
static gboolean
motion_notify_event (GtkWidget *widget,
GdkEventMotion *event,
@ -386,15 +370,16 @@ motion_notify_event (GtkWidget *widget,
GDK_BUTTON3_MASK |
GDK_BUTTON4_MASK))
{
guint32 last_motion_time;
last_motion_time = event->time;
guint32 last_motion_time = event->time;
erase = ((event->state &
(GDK_BUTTON2_MASK | GDK_BUTTON3_MASK | GDK_BUTTON4_MASK)) ||
FALSE);
/* FIXME: (event->source == GDK_SOURCE_ERASER) */
if (event->state & GDK_SHIFT_MASK)
erase = !erase;
water->motion_time = event->time;
if (gdk_device_get_history (event->device,