我正在爲現有的Mono/C#/ GTK#應用程序添加拖放支持。我想知道當我開始拖動一個對象時,是否可以在出現在鼠標指針下方的圖標上使用RGBA透明度。使用GTK +拖放時,可以使用RGBA透明度的圖標嗎?
到目前爲止,我實現了以下內容:
- 我可以通過調用
Gtk.Drag.SourceSetIconPixbuf()
方法設置有問題的位圖。然而,沒有運氣與alpha透明度:不完全不透明的像素會得到100%透明這種方式。 我也嘗試致電
GdkPixbuf
上的RenderPixmapAndMask()
,以便我可以使用Gtk.Drag.SourceSetIcon()
以及我的Screen
的RGBA色彩圖。它也沒有工作:每當我開始拖動,我得到以下錯誤:[Gdk] IA__gdk_window_set_back_pixmap: assertion 'pixmap == NULL || gdk_drawable_get_depth (window) == gdk_drawable_get_depth (pixmap)' failed
。這樣,像素圖甚至不會被複制,只有一個白色的形狀(可能由
mask
參數SetSourceIcon()
設置)顯示在拖動中。
我想,詢問是否有辦法讓這些圖標的Alpha透明度儘管我沒有這樣做的事實。如果不可能,那麼討論缺乏這個功能的原因也是有幫助的。謝謝。
(合成是 - 當然 - 我的桌面(Ubuntu的/ 10.10的Compiz/0.8.6-0ubuntu9)上啓用)