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:
Sven Neumann
2007-11-04 12:52:47 +00:00
committed by Sven Neumann
parent 1504cfa904
commit aabb94ec92
3 changed files with 27 additions and 21 deletions

View File

@ -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

View File

@ -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;
}
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;
}

View File

@ -424,14 +424,16 @@ gimp_scrolled_preview_area_event (GtkWidget *area,
case GDK_MOTION_NOTIFY:
if (priv->in_drag)
{
GtkAdjustment *hadj;
GtkAdjustment *vadj;
gint x, y;
GdkEventMotion *mevent = (GdkEventMotion *) event;
GtkAdjustment *hadj;
GtkAdjustment *vadj;
gint x, y;
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:
{
GtkAdjustment *hadj;
GtkAdjustment *vadj;
gint cx, cy;
gdouble x, y;
GdkEventMotion *mevent = (GdkEventMotion *) event;
GtkAdjustment *hadj;
GtkAdjustment *vadj;
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;