public static Gdk.Pixbuf MakeTransparent(Gdk.Pixbuf icon, double opacity)
 {
     Gdk.Pixbuf result = icon.Copy();
     result.Fill(0);
     result = result.AddAlpha(true, 0, 0, 0);
     icon.Composite(result, 0, 0, icon.Width, icon.Height, 0, 0, 1, 1, Gdk.InterpType.Bilinear, (int)(256 * opacity));
     return(result);
 }
Beispiel #2
0
 public static Gdk.Pixbuf FadeIcon(Gdk.Pixbuf source)
 {
     Gdk.Pixbuf result = source.Copy();
     result.Fill(0);
     result = result.AddAlpha(true, 0, 0, 0);
     source.Composite(result, 0, 0, source.Width, source.Height, 0, 0, 1, 1, Gdk.InterpType.Bilinear, 128);
     return(result);
 }
Beispiel #3
0
 public override object ChangeOpacity(object backend, double opacity)
 {
     Gdk.Pixbuf image  = (Gdk.Pixbuf)backend;
     Gdk.Pixbuf result = image.Copy();
     result.Fill(0);
     result = result.AddAlpha(true, 0, 0, 0);
     image.Composite(result, 0, 0, image.Width, image.Height, 0, 0, 1, 1, Gdk.InterpType.Bilinear, (int)(255 * opacity));
     return(result);
 }
        static DemoApplicationWindow()
        {
            // Register our custom toolbar icons, for themability

            Gdk.Pixbuf pixbuf      = Gdk.Pixbuf.LoadFromResource("gtk-logo-rgb.gif");
            Gdk.Pixbuf transparent = pixbuf.AddAlpha(true, 0xff, 0xff, 0xff);

            IconFactory factory = new IconFactory();

            factory.Add("demo-gtk-logo", new IconSet(transparent));
            factory.AddDefault();

            StockManager.Add(new StockItem("demo-gtk-logo", "_GTK#", 0, 0, null));
        }
Beispiel #5
0
        public static Gdk.Pixbuf MakeTransparent(Gdk.Pixbuf icon, double opacity)
        {
            Gdk.Pixbuf result = icon.Copy();
            result.Fill(0);
            result = result.AddAlpha(true, 0, 0, 0);
            icon.Composite(result, 0, 0, icon.Width, icon.Height, 0, 0, 1, 1, Gdk.InterpType.Bilinear, (int)(256 * opacity));

            var icon2x = Get2xIconVariant(icon);

            if (icon2x != null)
            {
                Set2xIconVariant(result, MakeTransparent(icon2x, opacity));
            }

            return(result);
        }