tests: Make testoffscreen use Cairo

This commit is contained in:
Benjamin Otte
2010-07-15 18:18:27 +02:00
parent a625e587a3
commit 6dd7e5af08

View File

@ -24,13 +24,12 @@ layout_expose_handler (GtkWidget *widget,
GdkEventExpose *event) GdkEventExpose *event)
{ {
GtkLayout *layout = GTK_LAYOUT (widget); GtkLayout *layout = GTK_LAYOUT (widget);
GdkWindow *bin_window; GdkWindow *bin_window = gtk_layout_get_bin_window (layout);
cairo_t *cr;
gint i,j; gint i,j;
gint imin, imax, jmin, jmax; gint imin, imax, jmin, jmax;
bin_window = gtk_layout_get_bin_window (layout);
if (event->window != bin_window) if (event->window != bin_window)
return FALSE; return FALSE;
@ -40,15 +39,19 @@ layout_expose_handler (GtkWidget *widget,
jmin = (event->area.y) / 10; jmin = (event->area.y) / 10;
jmax = (event->area.y + event->area.height + 9) / 10; jmax = (event->area.y + event->area.height + 9) / 10;
cr = gdk_cairo_create (bin_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++)
if ((i + j) % 2) if ((i + j) % 2)
gdk_draw_rectangle (bin_window, cairo_rectangle (cr,
widget->style->black_gc,
TRUE,
10 * i, 10 * j, 10 * i, 10 * j,
1 + i % 10, 1 + j % 10); 1 + i % 10, 1 + j % 10);
cairo_fill (cr);
cairo_destroy (cr);
return FALSE; return FALSE;
} }