mirror of https://github.com/GNOME/gimp.git
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:
parent
e64dc39c48
commit
49b1d06896
|
@ -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
|
||||
|
|
|
@ -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,
|
||||
|
|
Loading…
Reference in New Issue