Jörn Reder wrote:

> Emmanuele Bassi wrote:
> > 
> > on X11, you might need to create your own Window with an ARGB visual and
> > an opacity of 0, and set the Window as the stage surface using the
> > clutter_x11_set_stage_foreach() function. you'll obviously need a
> > compositor for this.

You had an interesting/misleading typo here ;). I think the function in
question is

  clutter_x11_set_stage_foreign()
                           ^^^^

I found this when digging deeper into gtk-clutter-embed.c, which works 
exactly this way by attaching the stage to the X11 window created for 
the embed. So I fear I will fail even when I try to use this function 
directly on an ARGB X11 toplevel window.

Later in gtk_clutter_embed_init(...) I found this:

--snip--

#ifdef HAVE_CLUTTER_GTK_X11
  {
    const XVisualInfo *xvinfo;
    GdkVisual *visual;
    GdkColormap *colormap;

    /* We need to use the colormap from the Clutter visual */
    xvinfo = clutter_x11_get_stage_visual (CLUTTER_STAGE (priv->stage));
    visual = gdk_x11_screen_lookup_visual (gdk_screen_get_default (),
                                           xvinfo->visualid);
    colormap = gdk_colormap_new (visual, FALSE);
    gtk_widget_set_colormap (GTK_WIDGET (embed), colormap);
  }
#endif

--snip--

... which replaces my ARGB colormap created earlier with the Clutter 
stage's colormap. Could this be the problem?

Regards,

Jörn

-- 
Think before you code. And while you're coding it won't hurt either. ;)
-- 
To unsubscribe send a mail to [email protected]

Reply via email to