plug-ins/color-rotate/color-rotate-callbacks.c
2008-09-04 Michael Natterer <mitch@gimp.org> * plug-ins/color-rotate/color-rotate-callbacks.c * plug-ins/common/filter-pack.c * plug-ins/common/nova.c * plug-ins/common/sample-colorize.c: get rid of calls to gdk_window_get_pointer(), use the coords from the motion event and use gdk_event_request_motions(). * plug-ins/color-rotate/color-rotate-callbacks.[ch]: some unrelated cleanup while i was at it. svn path=/trunk/; revision=26853
This commit is contained in:

committed by
Michael Natterer

parent
8ec1d65a4a
commit
02b11257dd
12
ChangeLog
12
ChangeLog
@ -1,3 +1,15 @@
|
|||||||
|
2008-09-04 Michael Natterer <mitch@gimp.org>
|
||||||
|
|
||||||
|
* plug-ins/color-rotate/color-rotate-callbacks.c
|
||||||
|
* plug-ins/common/filter-pack.c
|
||||||
|
* plug-ins/common/nova.c
|
||||||
|
* plug-ins/common/sample-colorize.c: get rid of calls to
|
||||||
|
gdk_window_get_pointer(), use the coords from the motion event
|
||||||
|
and use gdk_event_request_motions().
|
||||||
|
|
||||||
|
* plug-ins/color-rotate/color-rotate-callbacks.[ch]: some
|
||||||
|
unrelated cleanup while i was at it.
|
||||||
|
|
||||||
2008-09-04 Sven Neumann <sven@gimp.org>
|
2008-09-04 Sven Neumann <sven@gimp.org>
|
||||||
|
|
||||||
* app/composite/make-installer.py
|
* app/composite/make-installer.py
|
||||||
|
@ -65,7 +65,7 @@ rcm_units_factor (gint units)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
gchar *
|
const gchar *
|
||||||
rcm_units_string (gint units)
|
rcm_units_string (gint units)
|
||||||
{
|
{
|
||||||
switch (units)
|
switch (units)
|
||||||
@ -348,9 +348,9 @@ rcm_combo_callback (GtkWidget *widget,
|
|||||||
/* Circle events */
|
/* Circle events */
|
||||||
|
|
||||||
gboolean
|
gboolean
|
||||||
rcm_expose_event (GtkWidget *widget,
|
rcm_expose_event (GtkWidget *widget,
|
||||||
GdkEvent *event,
|
GdkEventExpose *event,
|
||||||
RcmCircle *circle)
|
RcmCircle *circle)
|
||||||
{
|
{
|
||||||
if (circle->action_flag == VIRGIN)
|
if (circle->action_flag == VIRGIN)
|
||||||
{
|
{
|
||||||
@ -365,25 +365,23 @@ rcm_expose_event (GtkWidget *widget,
|
|||||||
}
|
}
|
||||||
|
|
||||||
gboolean
|
gboolean
|
||||||
rcm_button_press_event (GtkWidget *widget,
|
rcm_button_press_event (GtkWidget *widget,
|
||||||
GdkEvent *event,
|
GdkEventButton *event,
|
||||||
RcmCircle *circle)
|
RcmCircle *circle)
|
||||||
{
|
{
|
||||||
float clicked_angle;
|
float clicked_angle;
|
||||||
float *alpha;
|
float *alpha;
|
||||||
float *beta;
|
float *beta;
|
||||||
GdkEventButton *bevent;
|
|
||||||
|
|
||||||
alpha = &circle->angle->alpha;
|
alpha = &circle->angle->alpha;
|
||||||
beta = &circle->angle->beta;
|
beta = &circle->angle->beta;
|
||||||
bevent = (GdkEventButton *) event;
|
|
||||||
|
|
||||||
circle->action_flag = DRAG_START;
|
circle->action_flag = DRAG_START;
|
||||||
clicked_angle = angle_mod_2PI (arctg (CENTER-bevent->y, bevent->x-CENTER));
|
clicked_angle = angle_mod_2PI (arctg (CENTER - event->y, event->x - CENTER));
|
||||||
circle->prev_clicked = clicked_angle;
|
circle->prev_clicked = clicked_angle;
|
||||||
|
|
||||||
if ((sqrt (SQR (bevent->y-CENTER) +
|
if ((sqrt (SQR (event->y - CENTER) +
|
||||||
SQR (bevent->x-CENTER)) > RADIUS * EACH_OR_BOTH) &&
|
SQR (event->x - CENTER)) > RADIUS * EACH_OR_BOTH) &&
|
||||||
(min_prox (*alpha, *beta, clicked_angle) < G_PI / 12))
|
(min_prox (*alpha, *beta, clicked_angle) < G_PI / 12))
|
||||||
{
|
{
|
||||||
circle->mode = EACH;
|
circle->mode = EACH;
|
||||||
@ -418,9 +416,9 @@ rcm_button_press_event (GtkWidget *widget,
|
|||||||
}
|
}
|
||||||
|
|
||||||
gboolean
|
gboolean
|
||||||
rcm_release_event (GtkWidget *widget,
|
rcm_release_event (GtkWidget *widget,
|
||||||
GdkEvent *event,
|
GdkEventButton *event,
|
||||||
RcmCircle *circle)
|
RcmCircle *circle)
|
||||||
{
|
{
|
||||||
if (circle->action_flag == DRAGING)
|
if (circle->action_flag == DRAGING)
|
||||||
{
|
{
|
||||||
@ -440,11 +438,10 @@ rcm_release_event (GtkWidget *widget,
|
|||||||
}
|
}
|
||||||
|
|
||||||
gboolean
|
gboolean
|
||||||
rcm_motion_notify_event (GtkWidget *widget,
|
rcm_motion_notify_event (GtkWidget *widget,
|
||||||
GdkEvent *event,
|
GdkEventMotion *event,
|
||||||
RcmCircle *circle)
|
RcmCircle *circle)
|
||||||
{
|
{
|
||||||
gint x, y;
|
|
||||||
gfloat clicked_angle, delta;
|
gfloat clicked_angle, delta;
|
||||||
gfloat *alpha, *beta;
|
gfloat *alpha, *beta;
|
||||||
gint cw_ccw;
|
gint cw_ccw;
|
||||||
@ -460,8 +457,7 @@ rcm_motion_notify_event (GtkWidget *widget,
|
|||||||
&values,
|
&values,
|
||||||
GDK_GC_FUNCTION);
|
GDK_GC_FUNCTION);
|
||||||
|
|
||||||
gdk_window_get_pointer (widget->window, &x, &y, NULL);
|
clicked_angle = angle_mod_2PI (arctg (CENTER - event->y, event->x - CENTER));
|
||||||
clicked_angle = angle_mod_2PI (arctg (CENTER-y, x-CENTER));
|
|
||||||
|
|
||||||
delta = clicked_angle - circle->prev_clicked;
|
delta = clicked_angle - circle->prev_clicked;
|
||||||
circle->prev_clicked = clicked_angle;
|
circle->prev_clicked = clicked_angle;
|
||||||
@ -502,7 +498,9 @@ rcm_motion_notify_event (GtkWidget *widget,
|
|||||||
|
|
||||||
if (Current.RealTime)
|
if (Current.RealTime)
|
||||||
rcm_render_preview (Current.Bna->after);
|
rcm_render_preview (Current.Bna->after);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gdk_event_request_motions (event);
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
@ -511,9 +509,9 @@ rcm_motion_notify_event (GtkWidget *widget,
|
|||||||
/* Gray circle events */
|
/* Gray circle events */
|
||||||
|
|
||||||
gboolean
|
gboolean
|
||||||
rcm_gray_expose_event (GtkWidget *widget,
|
rcm_gray_expose_event (GtkWidget *widget,
|
||||||
GdkEvent *event,
|
GdkEventExpose *event,
|
||||||
RcmGray *circle)
|
RcmGray *circle)
|
||||||
{
|
{
|
||||||
if (circle->action_flag == VIRGIN)
|
if (circle->action_flag == VIRGIN)
|
||||||
{
|
{
|
||||||
@ -532,17 +530,15 @@ rcm_gray_expose_event (GtkWidget *widget,
|
|||||||
}
|
}
|
||||||
|
|
||||||
gboolean
|
gboolean
|
||||||
rcm_gray_button_press_event (GtkWidget *widget,
|
rcm_gray_button_press_event (GtkWidget *widget,
|
||||||
GdkEvent *event,
|
GdkEventButton *event,
|
||||||
RcmGray *circle)
|
RcmGray *circle)
|
||||||
{
|
{
|
||||||
GtkStyle *style = gtk_widget_get_style (widget);
|
GtkStyle *style = gtk_widget_get_style (widget);
|
||||||
GdkEventButton *bevent;
|
int x, y;
|
||||||
int x, y;
|
|
||||||
|
|
||||||
bevent = (GdkEventButton *) event;
|
x = event->x - GRAY_CENTER - LITTLE_RADIUS;
|
||||||
x = bevent->x - GRAY_CENTER - LITTLE_RADIUS;
|
y = GRAY_CENTER - event->y + LITTLE_RADIUS;
|
||||||
y = GRAY_CENTER - bevent->y + LITTLE_RADIUS;
|
|
||||||
|
|
||||||
circle->action_flag = DRAG_START;
|
circle->action_flag = DRAG_START;
|
||||||
circle->hue = angle_mod_2PI(arctg(y, x));
|
circle->hue = angle_mod_2PI(arctg(y, x));
|
||||||
@ -573,9 +569,9 @@ rcm_gray_button_press_event (GtkWidget *widget,
|
|||||||
}
|
}
|
||||||
|
|
||||||
gboolean
|
gboolean
|
||||||
rcm_gray_release_event (GtkWidget *widget,
|
rcm_gray_release_event (GtkWidget *widget,
|
||||||
GdkEvent *event,
|
GdkEventButton *event,
|
||||||
RcmGray *circle)
|
RcmGray *circle)
|
||||||
{
|
{
|
||||||
if (circle->action_flag == DRAGING)
|
if (circle->action_flag == DRAGING)
|
||||||
{
|
{
|
||||||
@ -595,9 +591,9 @@ rcm_gray_release_event (GtkWidget *widget,
|
|||||||
}
|
}
|
||||||
|
|
||||||
gboolean
|
gboolean
|
||||||
rcm_gray_motion_notify_event (GtkWidget *widget,
|
rcm_gray_motion_notify_event (GtkWidget *widget,
|
||||||
GdkEvent *event,
|
GdkEventMotion *event,
|
||||||
RcmGray *circle)
|
RcmGray *circle)
|
||||||
{
|
{
|
||||||
gint x, y;
|
gint x, y;
|
||||||
GdkGCValues values;
|
GdkGCValues values;
|
||||||
@ -624,10 +620,8 @@ rcm_gray_motion_notify_event (GtkWidget *widget,
|
|||||||
circle->hue, circle->satur); /* erase */
|
circle->hue, circle->satur); /* erase */
|
||||||
}
|
}
|
||||||
|
|
||||||
gdk_window_get_pointer (widget->window, &x, &y, NULL);
|
x = event->x - GRAY_CENTER - LITTLE_RADIUS;
|
||||||
|
y = GRAY_CENTER - event->y + LITTLE_RADIUS;
|
||||||
x = x - GRAY_CENTER - LITTLE_RADIUS;
|
|
||||||
y = GRAY_CENTER - y + LITTLE_RADIUS;
|
|
||||||
|
|
||||||
circle->hue = angle_mod_2PI (arctg (y, x));
|
circle->hue = angle_mod_2PI (arctg (y, x));
|
||||||
circle->satur = sqrt (SQR (x) + SQR (y)) / GRAY_RADIUS;
|
circle->satur = sqrt (SQR (x) + SQR (y)) / GRAY_RADIUS;
|
||||||
@ -647,6 +641,8 @@ rcm_gray_motion_notify_event (GtkWidget *widget,
|
|||||||
if (Current.RealTime)
|
if (Current.RealTime)
|
||||||
rcm_render_preview (Current.Bna->after);
|
rcm_render_preview (Current.Bna->after);
|
||||||
|
|
||||||
|
gdk_event_request_motions (event);
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -655,10 +651,9 @@ rcm_gray_motion_notify_event (GtkWidget *widget,
|
|||||||
|
|
||||||
void
|
void
|
||||||
rcm_set_alpha (GtkWidget *entry,
|
rcm_set_alpha (GtkWidget *entry,
|
||||||
gpointer data)
|
RcmCircle *circle)
|
||||||
{
|
{
|
||||||
RcmCircle *circle = data;
|
GtkStyle *style = gtk_widget_get_style (circle->preview);
|
||||||
GtkStyle *style = gtk_widget_get_style (circle->preview);
|
|
||||||
|
|
||||||
if (circle->action_flag != VIRGIN)
|
if (circle->action_flag != VIRGIN)
|
||||||
return;
|
return;
|
||||||
@ -677,10 +672,9 @@ rcm_set_alpha (GtkWidget *entry,
|
|||||||
|
|
||||||
void
|
void
|
||||||
rcm_set_beta (GtkWidget *entry,
|
rcm_set_beta (GtkWidget *entry,
|
||||||
gpointer data)
|
RcmCircle *circle)
|
||||||
{
|
{
|
||||||
RcmCircle *circle = data;
|
GtkStyle *style = gtk_widget_get_style (circle->preview);
|
||||||
GtkStyle *style = gtk_widget_get_style (circle->preview);
|
|
||||||
|
|
||||||
if (circle->action_flag != VIRGIN)
|
if (circle->action_flag != VIRGIN)
|
||||||
return;
|
return;
|
||||||
@ -699,10 +693,9 @@ rcm_set_beta (GtkWidget *entry,
|
|||||||
|
|
||||||
void
|
void
|
||||||
rcm_set_hue (GtkWidget *entry,
|
rcm_set_hue (GtkWidget *entry,
|
||||||
gpointer data)
|
RcmGray *circle)
|
||||||
{
|
{
|
||||||
RcmGray *circle = data;
|
GtkStyle *style = gtk_widget_get_style (circle->preview);
|
||||||
GtkStyle *style = gtk_widget_get_style (circle->preview);
|
|
||||||
|
|
||||||
if (circle->action_flag != VIRGIN)
|
if (circle->action_flag != VIRGIN)
|
||||||
return;
|
return;
|
||||||
@ -725,10 +718,9 @@ rcm_set_hue (GtkWidget *entry,
|
|||||||
|
|
||||||
void
|
void
|
||||||
rcm_set_satur (GtkWidget *entry,
|
rcm_set_satur (GtkWidget *entry,
|
||||||
gpointer data)
|
RcmGray *circle)
|
||||||
{
|
{
|
||||||
RcmGray *circle = data;
|
GtkStyle *style = gtk_widget_get_style (circle->preview);
|
||||||
GtkStyle *style = gtk_widget_get_style (circle->preview);
|
|
||||||
|
|
||||||
if (circle->action_flag != VIRGIN)
|
if (circle->action_flag != VIRGIN)
|
||||||
return;
|
return;
|
||||||
@ -750,10 +742,9 @@ rcm_set_satur (GtkWidget *entry,
|
|||||||
|
|
||||||
void
|
void
|
||||||
rcm_set_gray_sat (GtkWidget *entry,
|
rcm_set_gray_sat (GtkWidget *entry,
|
||||||
gpointer data)
|
RcmGray *circle)
|
||||||
{
|
{
|
||||||
RcmGray *circle = data;
|
GtkStyle *style = gtk_widget_get_style (circle->preview);
|
||||||
GtkStyle *style = gtk_widget_get_style (circle->preview);
|
|
||||||
|
|
||||||
circle->gray_sat = gtk_spin_button_get_value (GTK_SPIN_BUTTON (entry));
|
circle->gray_sat = gtk_spin_button_get_value (GTK_SPIN_BUTTON (entry));
|
||||||
|
|
||||||
|
@ -39,20 +39,14 @@
|
|||||||
|
|
||||||
/* Misc functions */
|
/* Misc functions */
|
||||||
|
|
||||||
float rcm_units_factor (gint units);
|
float rcm_units_factor (gint units);
|
||||||
|
|
||||||
gchar *rcm_units_string (gint units);
|
const gchar * rcm_units_string (gint units);
|
||||||
|
|
||||||
void rcm_set_pixmap (GtkWidget **widget,
|
void rcm_set_pixmap (GtkWidget **widget,
|
||||||
GtkWidget *parent,
|
GtkWidget *parent,
|
||||||
GtkWidget *label_box,
|
GtkWidget *label_box,
|
||||||
gchar **pixmap_data);
|
gchar **pixmap_data);
|
||||||
|
|
||||||
|
|
||||||
/* Ok Button */
|
|
||||||
|
|
||||||
void rcm_ok_callback (GtkWidget *widget,
|
|
||||||
gpointer data);
|
|
||||||
|
|
||||||
|
|
||||||
/* Circle buttons */
|
/* Circle buttons */
|
||||||
@ -94,45 +88,46 @@ void rcm_combo_callback (GtkWidget *widget,
|
|||||||
|
|
||||||
/* Circle events */
|
/* Circle events */
|
||||||
|
|
||||||
gboolean rcm_expose_event (GtkWidget *widget,
|
gboolean rcm_expose_event (GtkWidget *widget,
|
||||||
GdkEvent *event,
|
GdkEventExpose *event,
|
||||||
RcmCircle *circle);
|
RcmCircle *circle);
|
||||||
gboolean rcm_button_press_event (GtkWidget *widget,
|
gboolean rcm_button_press_event (GtkWidget *widget,
|
||||||
GdkEvent *event,
|
GdkEventButton *event,
|
||||||
RcmCircle *circle);
|
RcmCircle *circle);
|
||||||
gboolean rcm_release_event (GtkWidget *widget,
|
gboolean rcm_release_event (GtkWidget *widget,
|
||||||
GdkEvent *event,
|
GdkEventButton *event,
|
||||||
RcmCircle *circle);
|
RcmCircle *circle);
|
||||||
gboolean rcm_motion_notify_event (GtkWidget *widget,
|
gboolean rcm_motion_notify_event (GtkWidget *widget,
|
||||||
GdkEvent *event,
|
GdkEventMotion *event,
|
||||||
RcmCircle *circle);
|
RcmCircle *circle);
|
||||||
|
|
||||||
|
|
||||||
/* Gray circle events */
|
/* Gray circle events */
|
||||||
|
|
||||||
gboolean rcm_gray_expose_event (GtkWidget *widget,
|
gboolean rcm_gray_expose_event (GtkWidget *widget,
|
||||||
GdkEvent *event,
|
GdkEventExpose *event,
|
||||||
RcmGray *circle);
|
RcmGray *circle);
|
||||||
gboolean rcm_gray_button_press_event (GtkWidget *widget,
|
gboolean rcm_gray_button_press_event (GtkWidget *widget,
|
||||||
GdkEvent *event,
|
GdkEventButton *event,
|
||||||
RcmGray *circle);
|
RcmGray *circle);
|
||||||
gboolean rcm_gray_release_event (GtkWidget *widget,
|
gboolean rcm_gray_release_event (GtkWidget *widget,
|
||||||
GdkEvent *event,
|
GdkEventButton *event,
|
||||||
RcmGray *circle);
|
RcmGray *circle);
|
||||||
gboolean rcm_gray_motion_notify_event (GtkWidget *widget,
|
gboolean rcm_gray_motion_notify_event (GtkWidget *widget,
|
||||||
GdkEvent *event,
|
GdkEventMotion *event,
|
||||||
RcmGray *circle);
|
RcmGray *circle);
|
||||||
|
|
||||||
|
|
||||||
/* Spinbuttons */
|
/* Spinbuttons */
|
||||||
|
|
||||||
void rcm_set_alpha (GtkWidget *entry,
|
void rcm_set_alpha (GtkWidget *entry,
|
||||||
gpointer data);
|
RcmCircle *circle);
|
||||||
void rcm_set_beta (GtkWidget *entry,
|
void rcm_set_beta (GtkWidget *entry,
|
||||||
gpointer data);
|
RcmCircle *circle);
|
||||||
|
|
||||||
void rcm_set_hue (GtkWidget *entry,
|
void rcm_set_hue (GtkWidget *entry,
|
||||||
gpointer data);
|
RcmGray *circle);
|
||||||
void rcm_set_satur (GtkWidget *entry,
|
void rcm_set_satur (GtkWidget *entry,
|
||||||
gpointer data);
|
RcmGray *circle);
|
||||||
void rcm_set_gray_sat (GtkWidget *entry,
|
void rcm_set_gray_sat (GtkWidget *entry,
|
||||||
gpointer data);
|
RcmGray *circle);
|
||||||
|
@ -1545,7 +1545,7 @@ fp_range_change_events (GtkWidget *widget,
|
|||||||
|
|
||||||
case GDK_MOTION_NOTIFY:
|
case GDK_MOTION_NOTIFY:
|
||||||
mevent = (GdkEventMotion *) event;
|
mevent = (GdkEventMotion *) event;
|
||||||
gdk_window_get_pointer (widget->window, &x, NULL, NULL);
|
x = mevent->x;
|
||||||
|
|
||||||
if (x >= 0 && x < 256)
|
if (x >= 0 && x < 256)
|
||||||
{
|
{
|
||||||
@ -1556,6 +1556,8 @@ fp_range_change_events (GtkWidget *widget,
|
|||||||
update_range_labels ();
|
update_range_labels ();
|
||||||
fp_create_smoothness_graph (AW.aliasing_preview);
|
fp_create_smoothness_graph (AW.aliasing_preview);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gdk_event_request_motions (mevent);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
@ -661,12 +661,12 @@ nova_center_preview_events (GtkWidget *widget,
|
|||||||
|
|
||||||
if (mevent->state & GDK_BUTTON1_MASK)
|
if (mevent->state & GDK_BUTTON1_MASK)
|
||||||
{
|
{
|
||||||
GdkModifierType mask;
|
gboolean retval = nova_center_update (widget, center,
|
||||||
gint x, y;
|
mevent->x, mevent->y);
|
||||||
|
|
||||||
gdk_window_get_pointer (widget->window, &x, &y, &mask);
|
gdk_event_request_motions (mevent);
|
||||||
|
|
||||||
return nova_center_update (widget, center, x, y);
|
return retval;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -1133,7 +1133,8 @@ level_in_events (GtkWidget *widget,
|
|||||||
if (g_Sdebug)
|
if (g_Sdebug)
|
||||||
printf ("EVENT: GDK_MOTION_NOTIFY\n");
|
printf ("EVENT: GDK_MOTION_NOTIFY\n");
|
||||||
mevent = (GdkEventMotion *) event;
|
mevent = (GdkEventMotion *) event;
|
||||||
gdk_window_get_pointer (widget->window, &x, NULL, NULL);
|
x = mevent->x;
|
||||||
|
gdk_event_request_motions (mevent);
|
||||||
update = TRUE;
|
update = TRUE;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -1240,7 +1241,8 @@ level_out_events (GtkWidget *widget,
|
|||||||
if (g_Sdebug)
|
if (g_Sdebug)
|
||||||
printf ("OUT_EVENT: GDK_MOTION_NOTIFY\n");
|
printf ("OUT_EVENT: GDK_MOTION_NOTIFY\n");
|
||||||
mevent = (GdkEventMotion *) event;
|
mevent = (GdkEventMotion *) event;
|
||||||
gdk_window_get_pointer (widget->window, &x, NULL, NULL);
|
x = mevent->x;
|
||||||
|
gdk_event_request_motions (mevent);
|
||||||
update = TRUE;
|
update = TRUE;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user