[Glade-users] transparent pixmap

Jachym Cepicky wrote:


maybe a bit offtopic, but I'll try: How to make transparent pixmaps?

Task: I need to display 2 layers in gtk.DrawingArea:

   1 - background PNG file
   2 - drawings over this file

for 1, I use 
   pixbuf =  gtk.gdk.pixbuf_new_from_file(tmpPpmFile)

for 2, I use


When I call 

   drawingarea.window.draw_drawable(..., pixmap, ....)

The area appears black. Places, which should be transparent, are just
black :-(

How would you perform this task?


There are a few ways to do this:
    o With alpha channel:
       compositing is only available client side in GTK+ atm... that 
means that every time
       you composite the results must be sent to the X server. To 
accomplish this you must
       simply reverse your method: you must draw the pixbuf *on top* of 
the pixmap after
       drawing the pixmap, pixmaps have no transperency.
    o Without alpha channel:
       use gdk_pixbuf_render_pixmap_and_mask() to get a GdkPixmap and a 
       you must then set the mask in the GdkGC that you plan to use with 
       this will give you higher performance and no real transperency.


NOTE: this is infact off-topic... you'll get a wider audience for this 
type of question on
gtk-app-devel-list gnome org

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