GdkSuperWinRect *rect; rect = g_new(GdkSuperWinRect, 1);  rect->serial = NextRequest(GDK_DISPLAY()) - 2; rect->x = x; rect->y = y; rect->width = width; rect->height = height; superwin->rect_queue = g_list_append(superwin->rect_queue, rect);
gdk_superwin_expose_area  (GdkSuperWin *superwin,                           gint         x,                           gint         y,                           gint         width,                           gint         height){  GdkSuperWinRect *rect;  rect = g_new(GdkSuperWinRect, 1);  /* oh, taste the magic and hackery. */  rect->serial = NextRequest(GDK_DISPLAY()) - 2;  rect->x = x;  rect->y = y;  rect->width = width;  rect->height = height;  superwin->rect_queue = g_list_append(superwin->rect_queue, rect);  /* ok, we know the rect that we need to paint.  paint it right now. */  if (superwin->paint_func)    superwin->paint_func(x, y, width, height, superwin->func_data);}