testgtk: Use draw signal in scrolling test

This commit is contained in:
Benjamin Otte
2010-09-09 03:33:02 +02:00
parent 0ab6956579
commit 5442f5b9f2

View File

@@ -9087,27 +9087,21 @@ create_selection_test (GtkWidget *widget)
static int scroll_test_pos = 0.0; static int scroll_test_pos = 0.0;
static gint static gint
scroll_test_expose (GtkWidget *widget, GdkEventExpose *event, scroll_test_draw (GtkWidget *widget,
GtkAdjustment *adj) cairo_t *cr,
GtkAdjustment *adj)
{ {
GdkWindow *window;
gint i,j; gint i,j;
gint imin, imax, jmin, jmax; gint imin, imax, jmin, jmax;
cairo_t *cr; GdkRectangle clip;
imin = (event->area.x) / 10; gdk_cairo_get_clip_rectangle (cr, &clip);
imax = (event->area.x + event->area.width + 9) / 10;
jmin = ((int)adj->value + event->area.y) / 10; imin = (clip.x) / 10;
jmax = ((int)adj->value + event->area.y + event->area.height + 9) / 10; imax = (clip.x + clip.width + 9) / 10;
window = gtk_widget_get_window (widget); jmin = ((int)adj->value + clip.y) / 10;
jmax = ((int)adj->value + clip.y + clip.height + 9) / 10;
gdk_window_clear_area (window,
event->area.x, event->area.y,
event->area.width, event->area.height);
cr = gdk_cairo_create (window);
for (i=imin; i<imax; i++) for (i=imin; i<imax; i++)
for (j=jmin; j<jmax; j++) for (j=jmin; j<jmax; j++)
@@ -9116,8 +9110,6 @@ scroll_test_expose (GtkWidget *widget, GdkEventExpose *event,
cairo_fill (cr); cairo_fill (cr);
cairo_destroy (cr);
return TRUE; return TRUE;
} }
@@ -9213,8 +9205,8 @@ create_scroll_test (GtkWidget *widget)
gtk_box_pack_start (GTK_BOX (hbox), scrollbar, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox), scrollbar, FALSE, FALSE, 0);
gtk_widget_show (scrollbar); gtk_widget_show (scrollbar);
g_signal_connect (drawing_area, "expose_event", g_signal_connect (drawing_area, "draw",
G_CALLBACK (scroll_test_expose), adj); G_CALLBACK (scroll_test_draw), adj);
g_signal_connect (drawing_area, "configure_event", g_signal_connect (drawing_area, "configure_event",
G_CALLBACK (scroll_test_configure), adj); G_CALLBACK (scroll_test_configure), adj);
g_signal_connect (drawing_area, "scroll_event", g_signal_connect (drawing_area, "scroll_event",