summaryrefslogtreecommitdiff
path: root/libvaladoc
diff options
context:
space:
mode:
authorcolinkiama <colinkiama@gmail.com>2022-07-31 00:37:40 +0100
committerRico Tzschichholz <ricotz@ubuntu.com>2022-09-20 10:14:36 +0200
commitebc28720597ae902134dc391e0d96aef767ca17a (patch)
treef585cb4c7a627db644b989a2d8904a75c38ed6bc /libvaladoc
parent685aedcf05399e0ffd40aef3a8a4469c2bb591f2 (diff)
downloadvala-ebc28720597ae902134dc391e0d96aef767ca17a.tar.gz
libvaladoc: Inline rendering of hierarchy graphs when using svg images
Fixes https://gitlab.gnome.org/GNOME/vala/issues/1340
Diffstat (limited to 'libvaladoc')
-rw-r--r--libvaladoc/html/basicdoclet.vala31
1 files changed, 21 insertions, 10 deletions
diff --git a/libvaladoc/html/basicdoclet.vala b/libvaladoc/html/basicdoclet.vala
index 66f45338c..ab18684a4 100644
--- a/libvaladoc/html/basicdoclet.vala
+++ b/libvaladoc/html/basicdoclet.vala
@@ -1031,21 +1031,32 @@ public abstract class Valadoc.Html.BasicDoclet : Api.Visitor, Doclet {
if (element is Class || element is Interface || element is Struct) {
unowned string format = (settings.use_svg_images ? "svg" : "png");
var chart = new Charts.Hierarchy (image_factory, element);
- chart.save (this.get_img_path (element, format), format);
+ if (!settings.use_svg_images) {
+ chart.save (this.get_img_path (element, format), format);
+ }
writer.start_tag ("h2", {"class", css_title})
.text ("Object Hierarchy:")
.end_tag ("h2");
- writer.simple_tag ("img", {"class",
- css_diagram,
- "usemap",
- "#"+element.get_full_name (),
- "alt",
- "Object hierarchy for %s".printf (element.name),
- "src",
- this.get_img_path_html (element, format)});
- writer.add_usemap (chart);
+ if (settings.use_svg_images) {
+ writer.start_tag ("div", {"class",
+ css_diagram,
+ "alt",
+ "Object hierarchy for %s".printf (element.name)})
+ .text ((string) chart.write_buffer (format))
+ .end_tag ("div");
+ } else {
+ writer.simple_tag ("img", {"class",
+ css_diagram,
+ "usemap",
+ "#%s".printf (element.get_full_name ()),
+ "alt",
+ "Object hierarchy for %s".printf (element.name),
+ "src",
+ this.get_img_path_html (element, format)});
+ writer.add_usemap (chart);
+ }
}
}