gtk-bar-990524-0.patch
patch for Gtk 1.2.3
This patch allows to specify an operation code (like in XShapeCombineMask)
when applying shapes to containers.
A new enum type is provided in gdk/gdktypes.h
typedef enum {
GDK_SHAPE_SET, /* ShapeSet */
GDK_SHAPE_UNION, /* ShapeUnion */
GDK_SHAPE_INTERSECT, /* ShapeIntersect */
GDK_SHAPE_SUBTRACT, /* ShapeSubtract */
GDK_SHAPE_INVERT /* ShapeInvert */
} GdkShapeOp;
A new function is included in gdk/gdkwindow.c
void gdk_window_shape_combine_mask_with_op(
GdkWindow *window,
GdkBitmap *mask,
gint x,
gint y,
GdkShapeOp shape_op)
And another new function in gtk/gtkwidget.c
void gtk_widget_shape_combine_mask_with_op(
GtkWidget *widget,
GdkBitmap *shape_mask,
gint offset_x,
gint offset_y,
GdkShapeOp shape_op)
Whith these functions, we can , i.e to put two pixmaps in a fixed widget and then apply the union
of their masks to the fixed widget.