Files
clang-uml/docs/test_cases/t00018_class_mermaid.svg
2024-05-03 17:26:07 +02:00

193 lines
14 KiB
XML

<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" aria-roledescription="classDiagram" role="graphics-document document" viewBox="0 0 300 506" style="max-width: 300px; background-color: white;" width="300" id="my-svg">
<style>#my-svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#my-svg .error-icon{fill:#552222;}#my-svg .error-text{fill:#552222;stroke:#552222;}#my-svg .edge-thickness-normal{stroke-width:2px;}#my-svg .edge-thickness-thick{stroke-width:3.5px;}#my-svg .edge-pattern-solid{stroke-dasharray:0;}#my-svg .edge-pattern-dashed{stroke-dasharray:3;}#my-svg .edge-pattern-dotted{stroke-dasharray:2;}#my-svg .marker{fill:#333333;stroke:#333333;}#my-svg .marker.cross{stroke:#333333;}#my-svg svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#my-svg g.classGroup text{fill:#9370DB;fill:#131300;stroke:none;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:10px;}#my-svg g.classGroup text .title{font-weight:bolder;}#my-svg .nodeLabel,#my-svg .edgeLabel{color:#131300;}#my-svg .edgeLabel .label rect{fill:#ECECFF;}#my-svg .label text{fill:#131300;}#my-svg .edgeLabel .label span{background:#ECECFF;}#my-svg .classTitle{font-weight:bolder;}#my-svg .node rect,#my-svg .node circle,#my-svg .node ellipse,#my-svg .node polygon,#my-svg .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#my-svg .divider{stroke:#9370DB;stroke-width:1;}#my-svg g.clickable{cursor:pointer;}#my-svg g.classGroup rect{fill:#ECECFF;stroke:#9370DB;}#my-svg g.classGroup line{stroke:#9370DB;stroke-width:1;}#my-svg .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5;}#my-svg .classLabel .label{fill:#9370DB;font-size:10px;}#my-svg .relation{stroke:#333333;stroke-width:1;fill:none;}#my-svg .dashed-line{stroke-dasharray:3;}#my-svg .dotted-line{stroke-dasharray:1 2;}#my-svg #compositionStart,#my-svg .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#my-svg #compositionEnd,#my-svg .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#my-svg #dependencyStart,#my-svg .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#my-svg #dependencyStart,#my-svg .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#my-svg #extensionStart,#my-svg .extension{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#my-svg #extensionEnd,#my-svg .extension{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#my-svg #aggregationStart,#my-svg .aggregation{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#my-svg #aggregationEnd,#my-svg .aggregation{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#my-svg #lollipopStart,#my-svg .lollipop{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#my-svg #lollipopEnd,#my-svg .lollipop{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#my-svg .edgeTerminals{font-size:11px;}#my-svg .classTitleText{text-anchor:middle;font-size:18px;fill:#333;}#my-svg :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style>
<g>
<defs>
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="0" class="marker aggregation classDiagram" id="classDiagram-aggregationStart">
<path d="M 18,7 L9,13 L1,7 L9,1 Z"/>
</marker>
<style type="text/css">a:hover { text-decoration: underline; }</style>
</defs>
<defs>
<marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="19" class="marker aggregation classDiagram" id="classDiagram-aggregationEnd">
<path d="M 18,7 L9,13 L1,7 L9,1 Z"/>
</marker>
</defs>
<defs>
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="0" class="marker extension classDiagram" id="classDiagram-extensionStart">
<path d="M 1,7 L18,13 V 1 Z"/>
</marker>
</defs>
<defs>
<marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="19" class="marker extension classDiagram" id="classDiagram-extensionEnd">
<path d="M 1,1 V 13 L18,7 Z"/>
</marker>
</defs>
<defs>
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="0" class="marker composition classDiagram" id="classDiagram-compositionStart">
<path d="M 18,7 L9,13 L1,7 L9,1 Z"/>
</marker>
</defs>
<defs>
<marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="19" class="marker composition classDiagram" id="classDiagram-compositionEnd">
<path d="M 18,7 L9,13 L1,7 L9,1 Z"/>
</marker>
</defs>
<defs>
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="0" class="marker dependency classDiagram" id="classDiagram-dependencyStart">
<path d="M 5,7 L9,13 L1,7 L9,1 Z"/>
</marker>
</defs>
<defs>
<marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="19" class="marker dependency classDiagram" id="classDiagram-dependencyEnd">
<path d="M 18,7 L9,13 L14,7 L9,1 Z"/>
</marker>
</defs>
<defs>
<marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="0" class="marker lollipop classDiagram" id="classDiagram-lollipopStart">
<circle r="6" cy="7" cx="6" fill="white" stroke="black"/>
</marker>
</defs>
<g class="root">
<g class="clusters"/>
<g class="edgePaths">
<path marker-end="url(#classDiagram-dependencyEnd)" style="fill:none" class="edge-pattern-dashed relation" id="id1" d="M135.62710900821597,153L134.50371063184664,158.66666666666666C133.38031225547732,164.33333333333334,131.13351550273865,175.66666666666666,130.7036935152582,187C130.2738715277778,198.33333333333334,131.66102430555557,209.66666666666666,132.35460069444446,215.33333333333334L133.04817708333334,221"/>
<path marker-start="url(#classDiagram-aggregationStart)" style="fill:none" class="edge-pattern-solid relation" id="id2" d="M166.95182291666666,221L167.64539930555554,215.33333333333334C168.33897569444443,209.66666666666666,169.7261284722222,198.33333333333334,169.2963064847418,187C168.86648449726135,175.66666666666666,166.61968774452268,164.33333333333334,165.49628936815336,158.66666666666666L164.37289099178403,153"/>
</g>
<g class="edgeLabels">
<g transform="translate(undefined, undefined)" class="edgeLabel">
<g transform="translate(0, 0)" class="label">
<foreignObject height="0" width="0">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
<span class="edgeLabel">
<span class="edgeLabel"/>
</span>
</div>
</foreignObject>
</g>
</g>
<g transform="translate(171.11328125, 187)" class="edgeLabel">
<g transform="translate(-22.2265625, -9)" class="label">
<foreignObject height="18" width="44.453125">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
<span class="edgeLabel">
<span class="edgeLabel">-pImpl</span>
</span>
</div>
</foreignObject>
</g>
</g>
</g>
<g class="nodes">
<a transform="translate(150, 80.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/f05267997b6fb3287a342e0c920f4407c0a82a50/tests/t00018/t00018_impl.h#L9">
<g title="widget" id="classId-C_0000130502639682787993-0" class="node default clickable">
<rect height="145" width="284" y="-72.5" x="-142" class="outer title-state"/>
<line y2="-42.5" y1="-42.5" x2="142" x1="-142" class="divider"/>
<line y2="-4.5" y1="-4.5" x2="142" x1="-142" class="divider"/>
<g class="label">
<foreignObject height="0" width="0">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
<span class="nodeLabel"/>
</div>
</foreignObject>
<foreignObject transform="translate( -47.109375, -65)" height="18" width="94.21875" class="classTitle">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
<span class="nodeLabel">impl::widget</span>
</div>
</foreignObject>
<foreignObject transform="translate( -134.5, -31)" height="18" width="44.46875">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
<span class="nodeLabel">-n : int</span>
</div>
</foreignObject>
<foreignObject transform="translate( -134.5, 3)" height="18" width="139.1875">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
<span class="nodeLabel">+widget(int n) : void</span>
</div>
</foreignObject>
<foreignObject transform="translate( -134.5, 25)" height="18" width="269">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
<span class="nodeLabel">+draw(const widget &amp; w) : [const] void</span>
</div>
</foreignObject>
<foreignObject transform="translate( -134.5, 47)" height="18" width="217.421875">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
<span class="nodeLabel">+draw(const widget &amp; w) : void</span>
</div>
</foreignObject>
</g>
</g>
</a>
<a transform="translate(150, 359.5)" xlink:href="https://github.com/bkryza/clang-uml/blob/f05267997b6fb3287a342e0c920f4407c0a82a50/tests/t00018/t00018.h#L17">
<g title="widget" id="classId-C_0001005661284373854088-1" class="node default clickable">
<rect height="277" width="282.703125" y="-138.5" x="-141.3515625" class="outer title-state"/>
<line y2="-108.5" y1="-108.5" x2="141.3515625" x1="-141.3515625" class="divider"/>
<line y2="-70.5" y1="-70.5" x2="141.3515625" x1="-141.3515625" class="divider"/>
<g class="label">
<foreignObject height="0" width="0">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
<span class="nodeLabel"/>
</div>
</foreignObject>
<foreignObject transform="translate( -25.3359375, -131)" height="18" width="50.671875" class="classTitle">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
<span class="nodeLabel">widget</span>
</div>
</foreignObject>
<foreignObject transform="translate( -133.8515625, -97)" height="18" width="266.8125">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
<span class="nodeLabel">-pImpl : std::unique_ptr&lt;impl::widget&gt;</span>
</div>
</foreignObject>
<foreignObject transform="translate( -133.8515625, -63)" height="18" width="125.84375">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
<span class="nodeLabel">+widget(int) : void</span>
</div>
</foreignObject>
<foreignObject transform="translate( -133.8515625, -41)" height="18" width="180.984375">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
<span class="nodeLabel">+widget(widget &amp;&amp;) : void</span>
</div>
</foreignObject>
<foreignObject transform="translate( -133.8515625, -19)" height="18" width="213">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
<span class="nodeLabel">+widget(const widget &amp;) : void</span>
</div>
</foreignObject>
<foreignObject transform="translate( -133.8515625, 3)" height="18" width="118.28125">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
<span class="nodeLabel">+~widget() : void</span>
</div>
</foreignObject>
<foreignObject transform="translate( -133.8515625, 25)" height="18" width="235.6875">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
<span class="nodeLabel">+operator=(widget &amp;&amp;) : widget &amp;</span>
</div>
</foreignObject>
<foreignObject transform="translate( -133.8515625, 47)" height="18" width="267.703125">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
<span class="nodeLabel">+operator=(const widget &amp;) : widget &amp;</span>
</div>
</foreignObject>
<foreignObject transform="translate( -133.8515625, 69)" height="18" width="148.953125">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
<span class="nodeLabel">+draw() : [const] void</span>
</div>
</foreignObject>
<foreignObject transform="translate( -133.8515625, 91)" height="18" width="97.375">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
<span class="nodeLabel">+draw() : void</span>
</div>
</foreignObject>
<foreignObject transform="translate( -133.8515625, 113)" height="18" width="161.421875">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
<span class="nodeLabel">+shown() : [const] bool</span>
</div>
</foreignObject>
</g>
</g>
</a>
</g>
</g>
</g>
</svg>