|
找了好久才找到GTK的討論區orz
如提,其實真正想做的是透明視窗,我在網路上找到的code可以對window(也適用其他元件)的背景塗上顏色
[code:1]
GdkColor colory= { 0, 65535, 65535, 65535 }; /* */
..
..
GtkStyle* style0 = gtk_widget_get_style(window);
GtkStyle* style1 = gtk_style_copy(style0);
memcpy(&style1->bg[GTK_STATE_NORMAL], &colorx, sizeof(GdkColor));
memcpy(&style1->bg[GTK_STATE_ACTIVE], &colorx, sizeof(GdkColor));
memcpy(&style1->bg[GTK_STATE_PRELIGHT], &colorx, sizeof(GdkColor));
memcpy(&style1->bg[GTK_STATE_SELECTED], &colorx, sizeof(GdkColor));
memcpy(&style1->bg[GTK_STATE_INSENSITIVE], &colorx, sizeof(GdkColor));
gtk_widget_set_style(window, style1);
[/code:1]
但是GdkColor 的型態好像沒有可以設alpha的位置,
所以目前的想法是創建一個帶有alpha通道的pixbuf然後 取代or畫到windown的background
不知道這樣的想法是否可行,如果可行的話該怎麼寫??
(我用的GTK是for Framebuffer,所以x11的function應該不能用@_@)
p.s. GTK新手,請各位前輩多指教U_U |
|