Beispiel #1
0
        private void SetImage()
        {
            Gdk.Pixbuf pbuf = DockServices.Drawing.EmptyPixbuf;
            try {
                if (OwnedObject.ForcePixbuf != null)
                {
                    pbuf = OwnedObject.ForcePixbuf.Copy();
                    if (pbuf.Width != IconSize || pbuf.Height != IconSize)
                    {
                        pbuf = pbuf.ARScale(IconSize, IconSize);
                    }
                }
                else
                {
                    pbuf = DockServices.Drawing.LoadIcon(OwnedObject.Icon, IconSize);
                }

                pbuf.AddHueShift(OwnedObject.HueShift);
                if (!OwnedObject.Enabled)
                {
                    pbuf.MonochromePixbuf();
                }
            } catch (Exception e) {
                Log <Tile> .Error("Error loading pixbuf for {0} tile: {1}", OwnedObject.Name, e.Message);

                Log <Tile> .Debug(e.StackTrace);

                pbuf = DockServices.Drawing.EmptyPixbuf;
            } finally {
                tileImage.Pixbuf = pbuf;
                pbuf.Dispose();
                tileImage.Show();
            }
        }