libgimpwidgets/gimpcolorselect.c use gdk_event_request_motions() to handle
2007-11-04 Sven Neumann <sven@gimp.org> * libgimpwidgets/gimpcolorselect.c * libgimpwidgets/gimpscrolledpreview.c: use gdk_event_request_motions() to handle motion hint events. svn path=/trunk/; revision=24050
This commit is contained in:

committed by
Sven Neumann

parent
1504cfa904
commit
aabb94ec92
@ -1,3 +1,9 @@
|
||||
2007-11-04 Sven Neumann <sven@gimp.org>
|
||||
|
||||
* libgimpwidgets/gimpcolorselect.c
|
||||
* libgimpwidgets/gimpscrolledpreview.c: use
|
||||
gdk_event_request_motions() to handle motion hint events.
|
||||
|
||||
2007-11-04 Sven Neumann <sven@gimp.org>
|
||||
|
||||
* INSTALL
|
||||
|
@ -667,15 +667,8 @@ gimp_color_select_xy_events (GtkWidget *widget,
|
||||
|
||||
case GDK_MOTION_NOTIFY:
|
||||
mevent = (GdkEventMotion *) event;
|
||||
if (mevent->is_hint)
|
||||
{
|
||||
gdk_window_get_pointer (widget->window, &x, &y, NULL);
|
||||
}
|
||||
else
|
||||
{
|
||||
x = mevent->x;
|
||||
y = mevent->y;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
@ -700,6 +693,9 @@ gimp_color_select_xy_events (GtkWidget *widget,
|
||||
|
||||
gimp_color_select_update (select, UPDATE_VALUES | UPDATE_CALLER);
|
||||
|
||||
if (event->type == GDK_MOTION_NOTIFY)
|
||||
gdk_event_request_motions ((GdkEventMotion *) event);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
@ -424,6 +424,7 @@ gimp_scrolled_preview_area_event (GtkWidget *area,
|
||||
case GDK_MOTION_NOTIFY:
|
||||
if (priv->in_drag)
|
||||
{
|
||||
GdkEventMotion *mevent = (GdkEventMotion *) event;
|
||||
GtkAdjustment *hadj;
|
||||
GtkAdjustment *vadj;
|
||||
gint x, y;
|
||||
@ -431,7 +432,8 @@ gimp_scrolled_preview_area_event (GtkWidget *area,
|
||||
hadj = gtk_range_get_adjustment (GTK_RANGE (preview->hscr));
|
||||
vadj = gtk_range_get_adjustment (GTK_RANGE (preview->vscr));
|
||||
|
||||
gtk_widget_get_pointer (area, &x, &y);
|
||||
x = mevent->x;
|
||||
y = mevent->y;
|
||||
|
||||
x = priv->drag_xoff - (x - priv->drag_x);
|
||||
y = priv->drag_yoff - (y - priv->drag_y);
|
||||
@ -448,6 +450,8 @@ gimp_scrolled_preview_area_event (GtkWidget *area,
|
||||
gimp_preview_draw (GIMP_PREVIEW (preview));
|
||||
gimp_preview_invalidate (GIMP_PREVIEW (preview));
|
||||
}
|
||||
|
||||
gdk_event_request_motions (mevent);
|
||||
}
|
||||
break;
|
||||
|
||||
@ -696,18 +700,16 @@ gimp_scrolled_preview_nav_popup_event (GtkWidget *widget,
|
||||
|
||||
case GDK_MOTION_NOTIFY:
|
||||
{
|
||||
GdkEventMotion *mevent = (GdkEventMotion *) event;
|
||||
GtkAdjustment *hadj;
|
||||
GtkAdjustment *vadj;
|
||||
gint cx, cy;
|
||||
gdouble x, y;
|
||||
|
||||
hadj = gtk_range_get_adjustment (GTK_RANGE (preview->hscr));
|
||||
vadj = gtk_range_get_adjustment (GTK_RANGE (preview->vscr));
|
||||
|
||||
gtk_widget_get_pointer (widget, &cx, &cy);
|
||||
|
||||
x = cx * (hadj->upper - hadj->lower) / widget->allocation.width;
|
||||
y = cy * (vadj->upper - vadj->lower) / widget->allocation.height;
|
||||
x = mevent->x * (hadj->upper - hadj->lower) / widget->allocation.width;
|
||||
y = mevent->y * (vadj->upper - vadj->lower) / widget->allocation.height;
|
||||
|
||||
x += hadj->lower - hadj->page_size / 2;
|
||||
y += vadj->lower - vadj->page_size / 2;
|
||||
@ -721,6 +723,8 @@ gimp_scrolled_preview_nav_popup_event (GtkWidget *widget,
|
||||
|
||||
gtk_widget_queue_draw (widget);
|
||||
gdk_window_process_updates (widget->window, FALSE);
|
||||
|
||||
gdk_event_request_motions (mevent);
|
||||
}
|
||||
break;
|
||||
|
||||
|
Reference in New Issue
Block a user