public static Gdk.Pixbuf LoadIcon(Gtk.Widget widget, string name, Gtk.IconSize size, int sz)
 {
     Gdk.Pixbuf res = widget.RenderIcon(name, size, null);
     if ((res != null))
     {
         return(res);
     }
     else
     {
         try {
             return(Gtk.IconTheme.Default.LoadIcon(name, sz, 0));
         }
         catch (System.Exception) {
             if ((name != "gtk-missing-image"))
             {
                 return(Stetic.IconLoader.LoadIcon(widget, "gtk-missing-image", size, sz));
             }
             else
             {
                 Gdk.Pixmap pmap = new Gdk.Pixmap(Gdk.Screen.Default.RootWindow, sz, sz);
                 Gdk.GC     gc   = new Gdk.GC(pmap);
                 gc.RgbFgColor = new Gdk.Color(255, 255, 255);
                 pmap.DrawRectangle(gc, true, 0, 0, sz, sz);
                 gc.RgbFgColor = new Gdk.Color(0, 0, 0);
                 pmap.DrawRectangle(gc, false, 0, 0, (sz - 1), (sz - 1));
                 gc.SetLineAttributes(3, Gdk.LineStyle.Solid, Gdk.CapStyle.Round, Gdk.JoinStyle.Round);
                 gc.RgbFgColor = new Gdk.Color(255, 0, 0);
                 pmap.DrawLine(gc, (sz / 4), (sz / 4), ((sz - 1) - (sz / 4)), ((sz - 1) - (sz / 4)));
                 pmap.DrawLine(gc, ((sz - 1) - (sz / 4)), (sz / 4), (sz / 4), ((sz - 1) - (sz / 4)));
                 return(Gdk.Pixbuf.FromDrawable(pmap, pmap.Colormap, 0, 0, 0, 0, sz, sz));
             }
         }
     }
 }
Exemple #2
0
        // From MonoDevelop:
        // https://github.com/mono/monodevelop/blob/master/main/src/core/MonoDevelop.Ide/gtk-gui/generated.cs
        private static Pixbuf CreateMissingImage(int size)
        {
            var pmap = new Gdk.Pixmap (Gdk.Screen.Default.RootWindow, size, size);
            var gc = new Gdk.GC (pmap);

            gc.RgbFgColor = new Gdk.Color (255, 255, 255);
            pmap.DrawRectangle (gc, true, 0, 0, size, size);
            gc.RgbFgColor = new Gdk.Color (0, 0, 0);
            pmap.DrawRectangle (gc, false, 0, 0, (size - 1), (size - 1));

            gc.SetLineAttributes (3, Gdk.LineStyle.Solid, Gdk.CapStyle.Round, Gdk.JoinStyle.Round);
            gc.RgbFgColor = new Gdk.Color (255, 0, 0);
            pmap.DrawLine (gc, (size / 4), (size / 4), ((size - 1) - (size / 4)), ((size - 1) - (size / 4)));
            pmap.DrawLine (gc, ((size - 1) - (size / 4)), (size / 4), (size / 4), ((size - 1) - (size / 4)));

            return Gdk.Pixbuf.FromDrawable (pmap, pmap.Colormap, 0, 0, 0, 0, size, size);
        }
Exemple #3
0
        // From MonoDevelop:
        // https://github.com/mono/monodevelop/blob/master/main/src/core/MonoDevelop.Ide/gtk-gui/generated.cs
        private static Pixbuf CreateMissingImage(int size)
        {
            var pmap = new Gdk.Pixmap(Gdk.Screen.Default.RootWindow, size, size);
            var gc   = new Gdk.GC(pmap);

            gc.RgbFgColor = new Gdk.Color(255, 255, 255);
            pmap.DrawRectangle(gc, true, 0, 0, size, size);
            gc.RgbFgColor = new Gdk.Color(0, 0, 0);
            pmap.DrawRectangle(gc, false, 0, 0, (size - 1), (size - 1));

            gc.SetLineAttributes(3, Gdk.LineStyle.Solid, Gdk.CapStyle.Round, Gdk.JoinStyle.Round);
            gc.RgbFgColor = new Gdk.Color(255, 0, 0);
            pmap.DrawLine(gc, (size / 4), (size / 4), ((size - 1) - (size / 4)), ((size - 1) - (size / 4)));
            pmap.DrawLine(gc, ((size - 1) - (size / 4)), (size / 4), (size / 4), ((size - 1) - (size / 4)));

            return(Gdk.Pixbuf.FromDrawable(pmap, pmap.Colormap, 0, 0, 0, 0, size, size));
        }
Exemple #4
0
 /// <summary>
 /// Loads the missing icon for a given size in pixels.
 /// </summary>
 /// <returns>The missing icon. This function uses a cache internally.</returns>
 /// <param name="sz">Size in pixels.</param>
 public static Gdk.Pixbuf LoadMissingIcon(int sz)
 {
     if (!missingIcons.ContainsKey(sz))
     {
         Gdk.Pixmap pmap = new Gdk.Pixmap(Gdk.Screen.Default.RootWindow, sz, sz);
         Gdk.GC     gc   = new Gdk.GC(pmap);
         gc.RgbFgColor = new Gdk.Color(255, 255, 255);
         pmap.DrawRectangle(gc, true, 0, 0, sz, sz);
         gc.RgbFgColor = new Gdk.Color(0, 0, 0);
         pmap.DrawRectangle(gc, false, 0, 0, (sz - 1), (sz - 1));
         gc.SetLineAttributes(3, Gdk.LineStyle.Solid, Gdk.CapStyle.Round, Gdk.JoinStyle.Round);
         gc.RgbFgColor = new Gdk.Color(255, 0, 0);
         pmap.DrawLine(gc, (sz / 4), (sz / 4), ((sz - 1) - (sz / 4)), ((sz - 1) - (sz / 4)));
         pmap.DrawLine(gc, ((sz - 1) - (sz / 4)), (sz / 4), (sz / 4), ((sz - 1) - (sz / 4)));
         missingIcons [sz] = Gdk.Pixbuf.FromDrawable(pmap, pmap.Colormap, 0, 0, 0, 0, sz, sz);
     }
     return((Gdk.Pixbuf)missingIcons [sz]);
 }
Exemple #5
0
        /// <summary>Dibuja una recta en la superficie de dibujo.</summary>
        /// <param name="c">El color de la recta.</param>
        /// <param name="x1">La coordenada x del punto inicial de la recta.
        /// </param>
        /// <param name="y1">La coordenada y del punto inicial de la recta.
        /// </param>
        /// <param name="x2">La coordenada x del punto final de la recta.
        /// </param>
        /// <param name="y2">La coordenada y del punto final de la recta.
        /// </param>

        public void DibujarRecta(EnuColor c, int x1, int y1, int x2, int y2)
        {
            lock (this)
            {
                if (pixmap != null)
                {
                    pixmap.DrawLine(GetGC(c), CoordX(x1), CoordY(y1),
                                    CoordX(x2), CoordY(y2));
                }
            }
        }
Exemple #6
0
 /// <summary>
 /// Loads the missing icon for a given size in pixels.
 /// </summary>
 /// <returns>The missing icon. This function uses a cache internally.</returns>
 /// <param name="sz">Size in pixels.</param>
 public static Gdk.Pixbuf LoadMissingIcon(int sz)
 {
     if (!missingIcons.ContainsKey (sz)) {
         Gdk.Pixmap pmap = new Gdk.Pixmap (Gdk.Screen.Default.RootWindow, sz, sz);
         Gdk.GC gc = new Gdk.GC (pmap);
         gc.RgbFgColor = new Gdk.Color (255, 255, 255);
         pmap.DrawRectangle (gc, true, 0, 0, sz, sz);
         gc.RgbFgColor = new Gdk.Color (0, 0, 0);
         pmap.DrawRectangle (gc, false, 0, 0, (sz - 1), (sz - 1));
         gc.SetLineAttributes (3, Gdk.LineStyle.Solid, Gdk.CapStyle.Round, Gdk.JoinStyle.Round);
         gc.RgbFgColor = new Gdk.Color (255, 0, 0);
         pmap.DrawLine (gc, (sz / 4), (sz / 4), ((sz - 1) - (sz / 4)), ((sz - 1) - (sz / 4)));
         pmap.DrawLine (gc, ((sz - 1) - (sz / 4)), (sz / 4), (sz / 4), ((sz - 1) - (sz / 4)));
         missingIcons [sz] = Gdk.Pixbuf.FromDrawable (pmap, pmap.Colormap, 0, 0, 0, 0, sz, sz);
     }
     return (Gdk.Pixbuf)missingIcons [sz];
 }
 public static Gdk.Pixbuf LoadIcon(Gtk.Widget widget, string name, Gtk.IconSize size, int sz) {
     Gdk.Pixbuf res = widget.RenderIcon(name, size, null);
     if ((res != null)) {
         return res;
     }
     else {
         try {
             return Gtk.IconTheme.Default.LoadIcon(name, sz, 0);
         }
         catch (System.Exception ) {
             if ((name != "gtk-missing-image")) {
                 return Stetic.IconLoader.LoadIcon(widget, "gtk-missing-image", size, sz);
             }
             else {
                 Gdk.Pixmap pmap = new Gdk.Pixmap(Gdk.Screen.Default.RootWindow, sz, sz);
                 Gdk.GC gc = new Gdk.GC(pmap);
                 gc.RgbFgColor = new Gdk.Color(255, 255, 255);
                 pmap.DrawRectangle(gc, true, 0, 0, sz, sz);
                 gc.RgbFgColor = new Gdk.Color(0, 0, 0);
                 pmap.DrawRectangle(gc, false, 0, 0, (sz - 1), (sz - 1));
                 gc.SetLineAttributes(3, Gdk.LineStyle.Solid, Gdk.CapStyle.Round, Gdk.JoinStyle.Round);
                 gc.RgbFgColor = new Gdk.Color(255, 0, 0);
                 pmap.DrawLine(gc, (sz / 4), (sz / 4), ((sz - 1) - (sz / 4)), ((sz - 1) - (sz / 4)));
                 pmap.DrawLine(gc, ((sz - 1) - (sz / 4)), (sz / 4), (sz / 4), ((sz - 1) - (sz / 4)));
                 return Gdk.Pixbuf.FromDrawable(pmap, pmap.Colormap, 0, 0, 0, 0, sz, sz);
             }
         }
     }
 }