public static void DrawToFile(HuffLibrary.Tree HTree, DrawSettings Options, string FileName) { int width, height; GetAreaSize (HTree.GetRootNode (), out width, out height, 30); Gdk.Pixmap canvas = new Pixmap (null, width, height, 24); var bg_gc = new Gdk.GC (canvas); bg_gc.RgbFgColor = new Color (0, 0, 0); canvas.DrawRectangle (bg_gc, true, 0, 0, width, height); if (Options.draw_grid) DrawGrid (canvas, 30); var gc = new Gdk.GC (canvas); gc.RgbFgColor = new Color (255, 255, 0); priv_DrawList (gc, canvas, HTree.GetRootNode (), 0, 0, 0); Gdk.Pixbuf buffer = Gdk.Pixbuf.FromDrawable (canvas, Screen.Default.RgbColormap, 0, 0, 0, 0, width, height); buffer.Save (FileName, "png"); }
public static void DrawTree(HuffLibrary.Tree HTree, Gtk.DrawingArea Canvas, DrawSettings Options) { Canvas.GdkWindow.BeginPaintRegion (Canvas.GdkWindow.ClipRegion); Canvas.GdkWindow.Background = new Color (0, 0, 0); if (Options.draw_grid) DrawGrid (Canvas.GdkWindow, cellsize); DrawList (Canvas.GdkWindow, HTree.GetRootNode ()); Canvas.GdkWindow.EndPaint (); }