[patch] transparent icons with gtk+



Hello gtk people,

I'm proud I've finished my patch that allows
for transparent icons (see next mail ->drag and drop)
and other funky things like toasters
that jump over your X11 screen.

I hope you enjoy this.

Here's the README:

----
Hello,

I want this want to go into gtk+.

This patch to gtk+971025 makes
the X11 shape extension available.

With this patch, every gtk widget that has a
gdkwindow can have a nonrectangular shape, which
allows for transparent pixmaps which is important
for drag and drop.

The shape of a gdk_window can be set by
gdk_window_shape_combine_mask. The mask that
defines the new shape can be taken directly
from the call gdk_pixmap_create_from_xpm{_d}.
This makes use of .xpm files with transparent
background very easy.

For GtkWidgets there is call
gtk_widget_shape_combine_mask. It can be called
before a widget is shown. The call also takes a
shape mask. Both calls take x and y offsets that
can be used to make the shape apply at a different
point than (0,0) of the widget.

One of the GtkWidget status bits (GTK_HAS_SHAPE_MASK)
is used to denote if a widget has a nonrectangular shape.

If a widget gets hidden and shown again, the
mask of the widget is still active.

The patch also extends testgtk.c with a test case
called 'shapes'. It shows three shaped xpm's
that can be dragged around like in a drag and drop
action.

All in all, I would say this is a cool feature :)

I hope this will go into the drag and drag efforts
that seem to be made soon with gtk+. For DnD, there
probably should be a new widget 'GtkDragIcon' or so
that bundles the necessary steps of the creation
of draggable shaped pixmaps.

bye
Stefan    Stefan_Wille@public.uni-hamburg.de
----






gtk-wille-971027-0.patch.tar.gz



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]