Mercurial > projects > dil
comparison trunk/src/docgen/graphutils/dotwriter.d @ 466:db7e27b5c180
Fixed parts of HTML output, some reorganizing.
author | Jari-Matti M?kel? <jmjm@iki.fi> |
---|---|
date | Wed, 31 Oct 2007 15:17:20 +0200 |
parents | b7503e02fbe7 |
children | cb8edb09108a |
comparison
equal
deleted
inserted
replaced
465:e0d24e05a9ee | 466:db7e27b5c180 |
---|---|
14 | 14 |
15 /** | 15 /** |
16 * Creates a graph rule file for the dot utility. | 16 * Creates a graph rule file for the dot utility. |
17 */ | 17 */ |
18 class DotWriter : AbstractGraphWriter { | 18 class DotWriter : AbstractGraphWriter { |
19 public: | |
20 | |
19 this(GraphWriterFactory factory, PageWriter writer) { | 21 this(GraphWriterFactory factory, PageWriter writer) { |
20 super(factory, writer); | 22 super(factory, writer); |
21 } | 23 } |
24 | |
25 void generateDepGraph(Vertex[] vertices, Edge[] edges, OutputStream imageFile) { | |
26 generateImageTag(imageFile); | |
27 | |
28 auto image = generateDepImageFile(vertices, edges); | |
29 auto printer = new Print!(char)(new Layout!(char), imageFile); | |
30 printer(image); | |
31 } | |
32 | |
33 protected: | |
22 | 34 |
23 char[] generateDepImageFile(Vertex[] vertices, Edge[] edges) { | 35 char[] generateDepImageFile(Vertex[] vertices, Edge[] edges) { |
24 char[] image; | 36 char[] image; |
25 auto sprint = new Sprint!(char); | 37 auto sprint = new Sprint!(char); |
26 | 38 |
119 fn = FilePath(fn).file; | 131 fn = FilePath(fn).file; |
120 | 132 |
121 fn = fn[0..$-3] ~ imageFormatExts[factory.options.graph.imageFormat]; | 133 fn = fn[0..$-3] ~ imageFormatExts[factory.options.graph.imageFormat]; |
122 | 134 |
123 writer.addGraphics(fn); | 135 writer.addGraphics(fn); |
124 } | 136 } |
125 | |
126 protected void generateDepGraph(Vertex[] vertices, Edge[] edges, OutputStream imageFile) { | |
127 generateImageTag(imageFile); | |
128 | |
129 auto image = generateDepImageFile(vertices, edges); | |
130 auto printer = new Print!(char)(new Layout!(char), imageFile); | |
131 printer(image); | |
132 } | |
133 } | 137 } |
134 | 138 |
135 class CachingDotWriter : DotWriter { | 139 class CachingDotWriter : DotWriter { |
140 private: | |
141 | |
136 CachingGraphWriterFactory factory; | 142 CachingGraphWriterFactory factory; |
143 | |
144 public: | |
137 | 145 |
138 this(CachingGraphWriterFactory factory, PageWriter writer) { | 146 this(CachingGraphWriterFactory factory, PageWriter writer) { |
139 super(factory, writer); | 147 super(factory, writer); |
140 this.factory = factory; | 148 this.factory = factory; |
141 } | 149 } |
142 | 150 |
143 protected void generateDepGraph(Vertex[] vertices, Edge[] edges, OutputStream imageFile) { | 151 override void generateDepGraph(Vertex[] vertices, Edge[] edges, OutputStream imageFile) { |
144 generateImageTag(imageFile); | 152 generateImageTag(imageFile); |
145 | 153 |
146 auto cached = factory.graphCache.getCachedGraph(vertices, edges, GraphFormat.Dot); | 154 auto cached = factory.graphCache.getCachedGraph(vertices, edges, GraphFormat.Dot); |
147 | 155 |
148 auto printer = new Print!(char)(new Layout!(char), imageFile); | 156 auto printer = new Print!(char)(new Layout!(char), imageFile); |