[maemo-developers] How to get a transparent GtkWindow (fremantle)

From: Luca Donaggio donaggio at gmail.com
Date: Thu Oct 29 18:29:17 EET 2009
I'm trying to create a transparent, non-decorated popup GtkWindow on top af
my app HildonWindow and draw something on its underlying GdkWindow object
using cairo.
All I was able to obtain so far is a black (or whatever is the background
colour of the selected theme) rectangle -ie it's not transparent and
everything I paint in its GdkWindow with Cairo is not showed at all.
Here is the code I'm using:

void create_image_details(GtkWidget *callerobj,app_data_t *myapp) {
    PangoLayout *textbuff;
    cairo_t *cr;
    gint x0, y0, r, txtwidth, txtheight;

    /* For the widget itself let's use a GtkWindow */
    if ((myapp->imgparamwin != NULL) & GTK_IS_WINDOW(myapp->imgparamwin))
    myapp->imgparamwin = gtk_window_new(GTK_WINDOW_POPUP);
    gtk_window_set_decorated(GTK_WINDOW (myapp->imgparamwin),FALSE);
    gtk_window_set_opacity(GTK_WINDOW (myapp->imgparamwin),0);
    /* gdk_window_set_back_pixmap(myapp->imgparamwin->window,NULL,FALSE); */
    /* Get the Cairo context */
    cr = gdk_cairo_create(GDK_DRAWABLE (myapp->imgparamwin->window));
    textbuff = pango_cairo_create_layout(cr);
    /* Draw a rounded rectangle */

[cairo stuff is here]

    /* Show the widget */
    gtk_window_resize(GTK_WINDOW (myapp->imgparamwin),txtwidth + (r *
2),txtheight + (r * 2));
    gtk_window_move(GTK_WINDOW (myapp->imgparamwin),30,30);


The window dimension after the gtk_window_resize() are correct -ie the
dimension of the PangoLayout containing the text to be rendered, so
something is definitely going on under the hood... but nothing is displayed!
If I add some widget to the popoup window (for example a GtkLabel with some
text in it), it's rendered correctly, but, of course it's not transparent!

Any help, as always, is much appreciated!

Luca Donaggio
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.maemo.org/pipermail/maemo-developers/attachments/20091029/a924d7cd/attachment.htm 
More information about the maemo-developers mailing list