SVGHMI: detachable and discardable elements sets, Reworked geometric intersection, toward more accurate page content detection.
Moved page's widget/element dependency crawling functions so that it is possible to compute a global detachable and discardable elements sets.
Reworked geometric intersection detection logic to distinguish ovelapping and inclusion.
Goal is to include englobing and overlapping graphical elements, but not groups (would then include everything around...). Intermediate commit, to be continued.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="1280"
height="720"
viewBox="0 0 1280 720"
version="1.1"
id="hmi0"
sodipodi:docname="default.svg"
inkscape:version="0.92.3 (2405546, 2018-03-11)">
<metadata
id="metadata4542">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs2" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:document-units="px"
inkscape:current-layer="hmi0"
showgrid="false"
units="px"
inkscape:zoom="0.7"
inkscape:cx="576.80864"
inkscape:cy="330.28432"
inkscape:window-width="1600"
inkscape:window-height="886"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1" />
<rect
style="color:#000000"
id="page0"
width="1280"
height="720"
x="0"
y="0">
<desc
id="desc_page0">This is description for page 0
all lines in the form "name: value"
are used as js object definition initializer
role: "page"
name: "Home"
after triple opening braces is global JavaScript code
{{{
/* JS style Comment */
alert("Hello World");
}}}
after triple closing braces is back to description
</desc>
</rect>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:160px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="436.32812"
y="418.24219"
id="text5151"
inkscape:label="count"><desc
id="desc5153">path: "count"
format: "%4.4d"</desc><tspan
sodipodi:role="line"
id="tspan5149"
x="436.32812"
y="418.24219"
style="stroke-width:1px">8888</tspan></text>
</svg>