What about transparent backgrounds? In order to have some areas of
the window appear transparent, you need to apply a shape mask to it.
A shape mask is a GdkBitmap specifying which pixels will appear
transparent and which - opaque. Note that GdkBitmap is a monochrome
mask so it is not possible to achieve variable transparency as of yet.
Complete example:
1: <?php
2: $win = &new GtkWindow();
3: $win->realize();
4:
5: list($pixmap, $mask) =
6: gdk::pixmap_create_from_xpm($win->window, null, "rings.xpm");
7:
8: $pix = &new GtkPixmap($pixmap, $mask);
9:
10: $win->add($pix);
11: $win->shape_combine_mask($mask, 0, 0);
12:
13: $win->set_default_size($pixmap->width, $pixmap->height);
14: $win->set_policy(false, false, false);
15: $win->show_all();
16: ?>