superwin->flush_func = NULL;
gdk_superwin_new (GdkWindow *parent_window,                  guint      x,                  guint      y,                  guint      width,                  guint      height){  GdkWindowAttr         attributes;  gint                  attributes_mask;  Window                bin_xwindow;  Display              *xdisplay;  XSetWindowAttributes  xattr;  unsigned long         xattr_mask;  GdkSuperWin *superwin = gtk_type_new(GDK_TYPE_SUPERWIN);  superwin->translate_queue = NULL;  superwin->rect_queue = NULL;  superwin->shell_func = NULL;  superwin->bin_func = NULL;  superwin->paint_func = NULL;  superwin->func_data = NULL;  superwin->notify = NULL;  /* Create the shell (clipping) window */  attributes.window_type = GDK_WINDOW_CHILD;  attributes.x = x;  attributes.y = y;  attributes.width = width;  attributes.height = height;  attributes.wclass = GDK_INPUT_OUTPUT;  attributes.visual = gdk_rgb_get_visual();  attributes.event_mask = GDK_VISIBILITY_NOTIFY_MASK;  attributes_mask = GDK_WA_VISUAL | GDK_WA_X | GDK_WA_Y;  superwin->shell_window = gdk_window_new (parent_window,					   &attributes, attributes_mask);  /* set the back pixmap to None so that you don't end up with the gtk     default which is BlackPixel */  gdk_window_set_back_pixmap (superwin->shell_window, NULL, FALSE);  /* if we failed to create a window, die a horrible death */  g_assert((superwin->shell_window));  /* Create the bin window for drawing */  attributes.x = 0;  attributes.y = 0;  attributes.event_mask = GDK_EXPOSURE_MASK;  superwin->bin_window = gdk_window_new (superwin->shell_window,                                         &attributes, attributes_mask);  /* set the back pixmap to None so that you don't end up with the gtk     default which is BlackPixel */  gdk_window_set_back_pixmap (superwin->bin_window, NULL, FALSE);  /* set the backing store for the bin window */  bin_xwindow = GDK_WINDOW_XWINDOW(superwin->bin_window);  xdisplay = GDK_WINDOW_XDISPLAY(superwin->bin_window);  /* XXX should we make this Always? */  xattr.backing_store = WhenMapped;  xattr_mask = CWBackingStore;  /* XChangeWindowAttributes(xdisplay, bin_xwindow, xattr_mask, &xattr); */  gdk_window_show (superwin->bin_window);  gdk_window_add_filter (superwin->shell_window, gdk_superwin_shell_filter, superwin);  gdk_window_add_filter (superwin->bin_window, gdk_superwin_bin_filter, superwin);  gravity_works = gdk_window_set_static_gravities (superwin->bin_window, TRUE);  return superwin;}