public void SaveGraphToFile(StateMachineGraphData data, int width, int height, string filename)
        {
            Graph gleeGraph = CreateGraph(data);

            var renderer = new GraphRenderer(gleeGraph);
            renderer.CalculateLayout();

            var bitmap = new Bitmap(width, height, PixelFormat.Format32bppArgb);
            renderer.Render(bitmap);

            Trace.WriteLine("Saving graph to " + filename);

            bitmap.Save(filename, ImageFormat.Png);
        }
        public Graph CreateGraph(StateMachineGraphData data)
        {
            var graph = new AdjacencyGraph<Vertex, Edge<Vertex>>();

            data.Vertices.Each(x => graph.AddVertex(x));
            data.Edges.Each(x => graph.AddEdge(new Edge<Vertex>(x.From, x.To)));

            GleeGraphPopulator<Vertex, Edge<Vertex>> glee = graph.CreateGleePopulator();

            glee.NodeAdded += NodeStyler;
            glee.EdgeAdded += EdgeStyler;
            glee.Compute();

            Graph gleeGraph = glee.GleeGraph;

            return gleeGraph;
        }
 public static void TestShowVisualizer(StateMachineGraphData data)
 {
     var visualizerHost = new VisualizerDevelopmentHost(data, typeof(StateMachineDebugVisualizer));
     visualizerHost.ShowVisualizer();
 }