Je suis en train d'ajouter le support glisser-déposer à une application Mono/C#/GTK # existante. Je me demandais s'il était possible d'utiliser la transparence RGBA sur les icônes qui apparaissent sous le pointeur de la souris lorsque je commence à faire glisser un objet.Puis-je utiliser des icônes avec transparence RVBA lors de l'utilisation de GTK + glisser-déposer?
Jusqu'à présent, je réalise ce qui suit:
- je peux régler le bitmap en question en appelant la méthode
Gtk.Drag.SourceSetIconPixbuf()
. Cependant, pas de chance avec la transparence alpha: les pixels qui ne sont pas complètement opaques seraient 100% transparents de cette façon. J'ai également essayé d'appeler
RenderPixmapAndMask()
sur leGdkPixbuf
afin que je puisse utiliserGtk.Drag.SourceSetIcon()
avec une carte de couleurs RGBA de monScreen
. Cela n'a pas fonctionné non plus: chaque fois que j'ai commencé à faire glisser, j'ai l'erreur suivante:[Gdk] IA__gdk_window_set_back_pixmap: assertion 'pixmap == NULL || gdk_drawable_get_depth (window) == gdk_drawable_get_depth (pixmap)' failed
.De cette façon, le pixmap n'est même pas copié, seule une forme blanche (vraisemblablement définie par l'argument
mask
deSetSourceIcon()
) apparaît lors du glissement.
Je voudrais demander s'il existe un moyen de rendre ces icônes alpha-transparentes, malgré le fait que je n'ai pas réussi à le faire. Dans le cas contraire, les réponses aux raisons de l'absence de cette fonctionnalité seraient également utiles. Je vous remercie.
(Compositing est - bien sûr -. Activé sur mon bureau (Ubuntu/10.10, Compiz/0.8.6-0ubuntu9))