diff options
author | colinkiama <colinkiama@gmail.com> | 2022-07-31 00:37:40 +0100 |
---|---|---|
committer | Rico Tzschichholz <ricotz@ubuntu.com> | 2022-09-20 10:14:36 +0200 |
commit | ebc28720597ae902134dc391e0d96aef767ca17a (patch) | |
tree | f585cb4c7a627db644b989a2d8904a75c38ed6bc /libvaladoc | |
parent | 685aedcf05399e0ffd40aef3a8a4469c2bb591f2 (diff) | |
download | vala-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.vala | 31 |
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); + } } } |