Fix a couple of crashes with empty matrices. Some small optimisations.
Correctly handle descenders on text when plotting labels. Minor layout improvements. Add some drawings of what's going on in the port matrix so that I don't keep losing them. git-svn-id: svn://localhost/ardour2/branches/3.0@6319 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
b9876aa1d0
commit
1a44701643
341
doc/port_matrix/cairo_text.svg
Normal file
341
doc/port_matrix/cairo_text.svg
Normal file
@ -0,0 +1,341 @@
|
||||
<?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="744.09448819"
|
||||
height="1052.3622047"
|
||||
id="svg2"
|
||||
version="1.1"
|
||||
inkscape:version="0.47pre4 r22446"
|
||||
sodipodi:docname="cairo-text.svg">
|
||||
<defs
|
||||
id="defs4">
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="DistanceEnd"
|
||||
refX="0.0"
|
||||
refY="0.0"
|
||||
orient="auto"
|
||||
inkscape:stockid="DistanceEnd">
|
||||
<g
|
||||
id="g3657">
|
||||
<path
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1.15;stroke-linecap:square"
|
||||
d="M 0,0 L -2,0"
|
||||
id="path2316" />
|
||||
<path
|
||||
style="fill:#000000;fill-rule:evenodd;stroke:none"
|
||||
d="M 0,0 L -13,4 L -9,0 -13,-4 L 0,0 z "
|
||||
id="path2312" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square"
|
||||
d="M 0,-4 L 0,40"
|
||||
id="path2314" />
|
||||
</g>
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="DistanceStart"
|
||||
refX="0.0"
|
||||
refY="0.0"
|
||||
orient="auto"
|
||||
inkscape:stockid="DistanceStart">
|
||||
<g
|
||||
id="g2300">
|
||||
<path
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1.15;stroke-linecap:square"
|
||||
d="M 0,0 L 2,0"
|
||||
id="path2306" />
|
||||
<path
|
||||
style="fill:#000000;fill-rule:evenodd;stroke:none"
|
||||
d="M 0,0 L 13,4 L 9,0 13,-4 L 0,0 z "
|
||||
id="path2302" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square"
|
||||
d="M 0,-4 L 0,40"
|
||||
id="path2304" />
|
||||
</g>
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
orient="auto"
|
||||
refY="0.0"
|
||||
refX="0.0"
|
||||
id="Arrow1Mend"
|
||||
style="overflow:visible;">
|
||||
<path
|
||||
id="path3610"
|
||||
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
|
||||
transform="scale(0.4) rotate(180) translate(10,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mstart"
|
||||
orient="auto"
|
||||
refY="0.0"
|
||||
refX="0.0"
|
||||
id="Arrow1Mstart"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
id="path3607"
|
||||
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
|
||||
transform="scale(0.4) translate(10,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Lstart"
|
||||
orient="auto"
|
||||
refY="0.0"
|
||||
refX="0.0"
|
||||
id="Arrow1Lstart"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
id="path3601"
|
||||
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
|
||||
transform="scale(0.8) translate(12.5,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow2Lstart"
|
||||
orient="auto"
|
||||
refY="0.0"
|
||||
refX="0.0"
|
||||
id="Arrow2Lstart"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
id="path3619"
|
||||
style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
|
||||
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
|
||||
transform="scale(1.1) translate(1,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow2Lend"
|
||||
orient="auto"
|
||||
refY="0.0"
|
||||
refX="0.0"
|
||||
id="Arrow2Lend"
|
||||
style="overflow:visible;">
|
||||
<path
|
||||
id="path3622"
|
||||
style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
|
||||
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
|
||||
transform="scale(1.1) rotate(180) translate(1,0)" />
|
||||
</marker>
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 526.18109 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="744.09448 : 526.18109 : 1"
|
||||
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
|
||||
id="perspective10" />
|
||||
<inkscape:perspective
|
||||
id="perspective5912"
|
||||
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||
inkscape:vp_z="1 : 0.5 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 0.5 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mstart"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Mstart-8"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
id="path3607-1"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
|
||||
transform="matrix(0.4,0,0,0.4,4,0)" />
|
||||
</marker>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="1.5053356"
|
||||
inkscape:cx="303.3357"
|
||||
inkscape:cy="553.63926"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1280"
|
||||
inkscape:window-height="950"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="25"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:object-paths="true" />
|
||||
<metadata
|
||||
id="metadata7">
|
||||
<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></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1">
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:56px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="171"
|
||||
y="383.36218"
|
||||
id="text2816"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan2818"
|
||||
x="171"
|
||||
y="383.36218">ABCjpq</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="147"
|
||||
y="546.36218"
|
||||
id="text2820"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan2822"
|
||||
x="147"
|
||||
y="546.36218" /></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)"
|
||||
d="m 76,321.36218 0,155"
|
||||
id="path2824"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="61"
|
||||
y="394.36218"
|
||||
id="text4046"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4048"
|
||||
x="61"
|
||||
y="394.36218">y</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 161,383.77138 353.81569,0"
|
||||
id="path4050"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 165,341.36218 351.1443,0"
|
||||
id="path4073"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 171.92252,279.65032 0,147.02663"
|
||||
id="path4075"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<g
|
||||
id="g5899"
|
||||
transform="translate(-3.28813,-2.6572148)">
|
||||
<path
|
||||
id="path4077"
|
||||
d="m 175.21065,387.68906 c 7.0385,12.06709 19.57033,19.13349 32.41162,23.4867"
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow1Mstart)" />
|
||||
<text
|
||||
id="text4661"
|
||||
y="413.99414"
|
||||
x="209.03148"
|
||||
style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
xml:space="preserve"><tspan
|
||||
y="413.99414"
|
||||
x="209.03148"
|
||||
id="tspan4663"
|
||||
sodipodi:role="line">origin</tspan></text>
|
||||
</g>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 158.76998,394.73507 354.48534,0"
|
||||
id="path4665"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-mid:none;marker-end:url(#DistanceEnd);marker-start:url(#DistanceStart)"
|
||||
d="m 397.86441,341.36218 0,42.4092"
|
||||
id="path4667"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="401.62228"
|
||||
y="365.6116"
|
||||
id="text5053"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5055"
|
||||
x="401.62228"
|
||||
y="365.6116">y_bearing</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#DistanceStart);marker-end:url(#DistanceEnd)"
|
||||
d="m 479.62728,394.73507 0,-53.37289"
|
||||
id="path5466"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="484.94171"
|
||||
y="370.12225"
|
||||
id="text5872"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5874"
|
||||
x="484.94171"
|
||||
y="370.12225">height</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="-290.94196"
|
||||
y="603.53894"
|
||||
id="text5876"
|
||||
transform="matrix(0.70710678,-0.70710678,0.70710678,0.70710678,0,0)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5878"
|
||||
x="-290.94196"
|
||||
y="603.53894">ABCjpq</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 221.26042,632.27254 361.61216,491.9208"
|
||||
id="path5880" />
|
||||
<g
|
||||
transform="translate(46.04977,244.58348)"
|
||||
id="g5899-8">
|
||||
<path
|
||||
id="path4077-9"
|
||||
d="m 175.21065,387.68906 c 7.0385,12.06709 19.57033,19.13349 32.41162,23.4867"
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow1Mstart)" />
|
||||
<text
|
||||
id="text4661-2"
|
||||
y="413.99414"
|
||||
x="209.03148"
|
||||
style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
xml:space="preserve"><tspan
|
||||
y="413.99414"
|
||||
x="209.03148"
|
||||
id="tspan4663-9"
|
||||
sodipodi:role="line">origin</tspan></text>
|
||||
</g>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="330.15894"
|
||||
y="597.97845"
|
||||
id="text5941"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5943"
|
||||
x="330.15894"
|
||||
y="597.97845">cairo_rotate (c, - M_PI / 4);</tspan></text>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 12 KiB |
801
doc/port_matrix/top_column_bundle_name.svg
Normal file
801
doc/port_matrix/top_column_bundle_name.svg
Normal file
@ -0,0 +1,801 @@
|
||||
<?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="744.09448819"
|
||||
height="1052.3622047"
|
||||
id="svg2"
|
||||
version="1.1"
|
||||
inkscape:version="0.47pre4 r22446"
|
||||
sodipodi:docname="top_column_bundle_name.svg">
|
||||
<defs
|
||||
id="defs4">
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="DistanceEnd"
|
||||
refX="0.0"
|
||||
refY="0.0"
|
||||
orient="auto"
|
||||
inkscape:stockid="DistanceEnd">
|
||||
<g
|
||||
id="g3692">
|
||||
<path
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1.15;stroke-linecap:square"
|
||||
d="M 0,0 L -2,0"
|
||||
id="path2316" />
|
||||
<path
|
||||
style="fill:#000000;fill-rule:evenodd;stroke:none"
|
||||
d="M 0,0 L -13,4 L -9,0 -13,-4 L 0,0 z "
|
||||
id="path2312" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square"
|
||||
d="M 0,-4 L 0,40"
|
||||
id="path2314" />
|
||||
</g>
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="DistanceStart"
|
||||
refX="0.0"
|
||||
refY="0.0"
|
||||
orient="auto"
|
||||
inkscape:stockid="DistanceStart">
|
||||
<g
|
||||
id="g2300">
|
||||
<path
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1.15;stroke-linecap:square"
|
||||
d="M 0,0 L 2,0"
|
||||
id="path2306" />
|
||||
<path
|
||||
style="fill:#000000;fill-rule:evenodd;stroke:none"
|
||||
d="M 0,0 L 13,4 L 9,0 13,-4 L 0,0 z "
|
||||
id="path2302" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square"
|
||||
d="M 0,-4 L 0,40"
|
||||
id="path2304" />
|
||||
</g>
|
||||
</marker>
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 526.18109 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="744.09448 : 526.18109 : 1"
|
||||
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
|
||||
id="perspective10" />
|
||||
<inkscape:perspective
|
||||
id="perspective4298"
|
||||
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||
inkscape:vp_z="1 : 0.5 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 0.5 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
<inkscape:perspective
|
||||
id="perspective4322"
|
||||
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||
inkscape:vp_z="1 : 0.5 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 0.5 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="DistanceStart-0"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="DistanceStart">
|
||||
<g
|
||||
id="g2300-0">
|
||||
<path
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1.14999998;stroke-linecap:square"
|
||||
d="M 0,0 2,0"
|
||||
id="path2306-1" />
|
||||
<path
|
||||
style="fill:#000000;fill-rule:evenodd;stroke:none"
|
||||
d="M 0,0 13,4 9,0 13,-4 0,0 z"
|
||||
id="path2302-3" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square"
|
||||
d="M 0,-4 0,40"
|
||||
id="path2304-3" />
|
||||
</g>
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="DistanceEnd-0"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="DistanceEnd">
|
||||
<g
|
||||
id="g3692-0">
|
||||
<path
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1.14999998;stroke-linecap:square"
|
||||
d="M 0,0 -2,0"
|
||||
id="path2316-0" />
|
||||
<path
|
||||
style="fill:#000000;fill-rule:evenodd;stroke:none"
|
||||
d="M 0,0 -13,4 -9,0 -13,-4 0,0 z"
|
||||
id="path2312-2" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square"
|
||||
d="M 0,-4 0,40"
|
||||
id="path2314-2" />
|
||||
</g>
|
||||
</marker>
|
||||
<inkscape:perspective
|
||||
id="perspective4381"
|
||||
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||
inkscape:vp_z="1 : 0.5 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 0.5 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="DistanceStart-9"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="DistanceStart">
|
||||
<g
|
||||
id="g2300-01">
|
||||
<path
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1.14999998;stroke-linecap:square"
|
||||
d="M 0,0 2,0"
|
||||
id="path2306-4" />
|
||||
<path
|
||||
style="fill:#000000;fill-rule:evenodd;stroke:none"
|
||||
d="M 0,0 13,4 9,0 13,-4 0,0 z"
|
||||
id="path2302-4" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square"
|
||||
d="M 0,-4 0,40"
|
||||
id="path2304-32" />
|
||||
</g>
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="DistanceEnd-5"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="DistanceEnd">
|
||||
<g
|
||||
id="g3692-1">
|
||||
<path
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1.14999998;stroke-linecap:square"
|
||||
d="M 0,0 -2,0"
|
||||
id="path2316-3" />
|
||||
<path
|
||||
style="fill:#000000;fill-rule:evenodd;stroke:none"
|
||||
d="M 0,0 -13,4 -9,0 -13,-4 0,0 z"
|
||||
id="path2312-26" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square"
|
||||
d="M 0,-4 0,40"
|
||||
id="path2314-0" />
|
||||
</g>
|
||||
</marker>
|
||||
<inkscape:perspective
|
||||
id="perspective5494"
|
||||
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||
inkscape:vp_z="1 : 0.5 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 0.5 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="DistanceStart-9-9"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="DistanceStart">
|
||||
<g
|
||||
id="g2300-01-2">
|
||||
<path
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1.14999998;stroke-linecap:square"
|
||||
d="M 0,0 2,0"
|
||||
id="path2306-4-3" />
|
||||
<path
|
||||
style="fill:#000000;fill-rule:evenodd;stroke:none"
|
||||
d="M 0,0 13,4 9,0 13,-4 0,0 z"
|
||||
id="path2302-4-5" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square"
|
||||
d="M 0,-4 0,40"
|
||||
id="path2304-32-4" />
|
||||
</g>
|
||||
</marker>
|
||||
<inkscape:perspective
|
||||
id="perspective5537"
|
||||
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||
inkscape:vp_z="1 : 0.5 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 0.5 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="DistanceStart-6"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="DistanceStart">
|
||||
<g
|
||||
id="g2300-1">
|
||||
<path
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1.14999998;stroke-linecap:square"
|
||||
d="M 0,0 2,0"
|
||||
id="path2306-8" />
|
||||
<path
|
||||
style="fill:#000000;fill-rule:evenodd;stroke:none"
|
||||
d="M 0,0 13,4 9,0 13,-4 0,0 z"
|
||||
id="path2302-5" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square"
|
||||
d="M 0,-4 0,40"
|
||||
id="path2304-9" />
|
||||
</g>
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="DistanceEnd-6"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="DistanceEnd">
|
||||
<g
|
||||
id="g3692-6">
|
||||
<path
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1.14999998;stroke-linecap:square"
|
||||
d="M 0,0 -2,0"
|
||||
id="path2316-1" />
|
||||
<path
|
||||
style="fill:#000000;fill-rule:evenodd;stroke:none"
|
||||
d="M 0,0 -13,4 -9,0 -13,-4 0,0 z"
|
||||
id="path2312-7" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square"
|
||||
d="M 0,-4 0,40"
|
||||
id="path2314-5" />
|
||||
</g>
|
||||
</marker>
|
||||
<inkscape:perspective
|
||||
id="perspective5597"
|
||||
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||
inkscape:vp_z="1 : 0.5 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 0.5 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="DistanceStart-2"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="DistanceStart">
|
||||
<g
|
||||
id="g2300-09">
|
||||
<path
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1.14999998;stroke-linecap:square"
|
||||
d="M 0,0 2,0"
|
||||
id="path2306-7" />
|
||||
<path
|
||||
style="fill:#000000;fill-rule:evenodd;stroke:none"
|
||||
d="M 0,0 13,4 9,0 13,-4 0,0 z"
|
||||
id="path2302-7" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square"
|
||||
d="M 0,-4 0,40"
|
||||
id="path2304-5" />
|
||||
</g>
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="DistanceEnd-4"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="DistanceEnd">
|
||||
<g
|
||||
id="g3692-4">
|
||||
<path
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1.14999998;stroke-linecap:square"
|
||||
d="M 0,0 -2,0"
|
||||
id="path2316-6" />
|
||||
<path
|
||||
style="fill:#000000;fill-rule:evenodd;stroke:none"
|
||||
d="M 0,0 -13,4 -9,0 -13,-4 0,0 z"
|
||||
id="path2312-5" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square"
|
||||
d="M 0,-4 0,40"
|
||||
id="path2314-6" />
|
||||
</g>
|
||||
</marker>
|
||||
<inkscape:perspective
|
||||
id="perspective5654"
|
||||
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||
inkscape:vp_z="1 : 0.5 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 0.5 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
<inkscape:perspective
|
||||
id="perspective5865"
|
||||
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||
inkscape:vp_z="1 : 0.5 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 0.5 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="DistanceStart-1"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="DistanceStart">
|
||||
<g
|
||||
id="g2300-3">
|
||||
<path
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1.14999998;stroke-linecap:square"
|
||||
d="M 0,0 2,0"
|
||||
id="path2306-89" />
|
||||
<path
|
||||
style="fill:#000000;fill-rule:evenodd;stroke:none"
|
||||
d="M 0,0 13,4 9,0 13,-4 0,0 z"
|
||||
id="path2302-58" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square"
|
||||
d="M 0,-4 0,40"
|
||||
id="path2304-91" />
|
||||
</g>
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="DistanceEnd-9"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="DistanceEnd">
|
||||
<g
|
||||
id="g3692-7">
|
||||
<path
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1.14999998;stroke-linecap:square"
|
||||
d="M 0,0 -2,0"
|
||||
id="path2316-36" />
|
||||
<path
|
||||
style="fill:#000000;fill-rule:evenodd;stroke:none"
|
||||
d="M 0,0 -13,4 -9,0 -13,-4 0,0 z"
|
||||
id="path2312-56" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square"
|
||||
d="M 0,-4 0,40"
|
||||
id="path2314-4" />
|
||||
</g>
|
||||
</marker>
|
||||
<inkscape:perspective
|
||||
id="perspective5926"
|
||||
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||
inkscape:vp_z="1 : 0.5 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 0.5 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="DistanceStart-3"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="DistanceStart">
|
||||
<g
|
||||
id="g2300-9">
|
||||
<path
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1.14999998;stroke-linecap:square"
|
||||
d="M 0,0 2,0"
|
||||
id="path2306-5" />
|
||||
<path
|
||||
style="fill:#000000;fill-rule:evenodd;stroke:none"
|
||||
d="M 0,0 13,4 9,0 13,-4 0,0 z"
|
||||
id="path2302-9" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square"
|
||||
d="M 0,-4 0,40"
|
||||
id="path2304-7" />
|
||||
</g>
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="DistanceEnd-2"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="DistanceEnd">
|
||||
<g
|
||||
id="g3692-14">
|
||||
<path
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1.14999998;stroke-linecap:square"
|
||||
d="M 0,0 -2,0"
|
||||
id="path2316-7" />
|
||||
<path
|
||||
style="fill:#000000;fill-rule:evenodd;stroke:none"
|
||||
d="M 0,0 -13,4 -9,0 -13,-4 0,0 z"
|
||||
id="path2312-1" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square"
|
||||
d="M 0,-4 0,40"
|
||||
id="path2314-3" />
|
||||
</g>
|
||||
</marker>
|
||||
<inkscape:perspective
|
||||
id="perspective3600"
|
||||
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||
inkscape:vp_z="1 : 0.5 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 0.5 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="DistanceStart-16"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="DistanceStart">
|
||||
<g
|
||||
id="g2300-19">
|
||||
<path
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1.14999998;stroke-linecap:square"
|
||||
d="M 0,0 2,0"
|
||||
id="path2306-49" />
|
||||
<path
|
||||
style="fill:#000000;fill-rule:evenodd;stroke:none"
|
||||
d="M 0,0 13,4 9,0 13,-4 0,0 z"
|
||||
id="path2302-96" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square"
|
||||
d="M 0,-4 0,40"
|
||||
id="path2304-94" />
|
||||
</g>
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="DistanceEnd-20"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="DistanceEnd">
|
||||
<g
|
||||
id="g3692-2">
|
||||
<path
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1.14999998;stroke-linecap:square"
|
||||
d="M 0,0 -2,0"
|
||||
id="path2316-368" />
|
||||
<path
|
||||
style="fill:#000000;fill-rule:evenodd;stroke:none"
|
||||
d="M 0,0 -13,4 -9,0 -13,-4 0,0 z"
|
||||
id="path2312-9" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square"
|
||||
d="M 0,-4 0,40"
|
||||
id="path2314-28" />
|
||||
</g>
|
||||
</marker>
|
||||
<inkscape:perspective
|
||||
id="perspective3655"
|
||||
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||
inkscape:vp_z="1 : 0.5 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 0.5 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="DistanceStart-08"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="DistanceStart">
|
||||
<g
|
||||
id="g2300-5">
|
||||
<path
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1.14999998;stroke-linecap:square"
|
||||
d="M 0,0 2,0"
|
||||
id="path2306-43" />
|
||||
<path
|
||||
style="fill:#000000;fill-rule:evenodd;stroke:none"
|
||||
d="M 0,0 13,4 9,0 13,-4 0,0 z"
|
||||
id="path2302-94" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square"
|
||||
d="M 0,-4 0,40"
|
||||
id="path2304-6" />
|
||||
</g>
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="DistanceEnd-23"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="DistanceEnd">
|
||||
<g
|
||||
id="g3692-8">
|
||||
<path
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1.14999998;stroke-linecap:square"
|
||||
d="M 0,0 -2,0"
|
||||
id="path2316-62" />
|
||||
<path
|
||||
style="fill:#000000;fill-rule:evenodd;stroke:none"
|
||||
d="M 0,0 -13,4 -9,0 -13,-4 0,0 z"
|
||||
id="path2312-70" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square"
|
||||
d="M 0,-4 0,40"
|
||||
id="path2314-7" />
|
||||
</g>
|
||||
</marker>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="2.0901219"
|
||||
inkscape:cx="245.59522"
|
||||
inkscape:cy="493.24267"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
showguides="false"
|
||||
inkscape:guide-bbox="true"
|
||||
inkscape:snap-global="true"
|
||||
inkscape:snap-bbox="false"
|
||||
inkscape:object-paths="true"
|
||||
inkscape:window-width="1280"
|
||||
inkscape:window-height="1000"
|
||||
inkscape:window-x="1280"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:snap-midpoints="false"
|
||||
inkscape:snap-grids="false"
|
||||
inkscape:snap-to-guides="true"
|
||||
inkscape:snap-intersection-paths="true">
|
||||
<sodipodi:guide
|
||||
orientation="0,1"
|
||||
position="-139,507"
|
||||
id="guide2818" />
|
||||
<sodipodi:guide
|
||||
orientation="0,1"
|
||||
position="-54,736"
|
||||
id="guide2820" />
|
||||
<sodipodi:guide
|
||||
orientation="1,0"
|
||||
position="107.84461,521.24893"
|
||||
id="guide2855" />
|
||||
<sodipodi:guide
|
||||
orientation="1,0"
|
||||
position="346.19377,502.36563"
|
||||
id="guide2857" />
|
||||
<sodipodi:guide
|
||||
orientation="0,1"
|
||||
position="287.77314,553.84911"
|
||||
id="guide4369" />
|
||||
<sodipodi:guide
|
||||
orientation="1,0"
|
||||
position="187.50484,410.61756"
|
||||
id="guide5523" />
|
||||
<sodipodi:guide
|
||||
orientation="1,0"
|
||||
position="299.44648,566.15686"
|
||||
id="guide5581" />
|
||||
</sodipodi:namedview>
|
||||
<metadata
|
||||
id="metadata7">
|
||||
<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></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1">
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 407.04788,247.31233 29.29042,625.07176 266.23358,624.64489 524,367.36218 407,247.26318"
|
||||
id="path2822"
|
||||
sodipodi:nodetypes="ccccc" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="78.769989"
|
||||
y="297.07095"
|
||||
id="text2845"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan2847"
|
||||
x="78.769989"
|
||||
y="297.07095">Bundle name (top)</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="125.84303"
|
||||
y="541.49957"
|
||||
id="text2849"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan2851"
|
||||
x="125.84303"
|
||||
y="541.49957">ϑ</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 346.16456,545.1478 227.68908,426.67232"
|
||||
id="path2853" />
|
||||
<path
|
||||
style="color:#000000;fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;marker-start:url(#DistanceStart);marker-end:url(#DistanceEnd);visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
d="m 260.29818,437.3373 73.37226,73.37227"
|
||||
id="path4312"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="305.09753"
|
||||
y="472.22052"
|
||||
id="text4365"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4367"
|
||||
x="305.09753"
|
||||
y="472.22052">h</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#DistanceStart);color:#000000;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;marker:none;marker-end:url(#DistanceEnd);visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
d="m 187.98488,624.78586 0,-125.82998"
|
||||
id="path4424-8"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="176.02385"
|
||||
y="570.7243"
|
||||
id="text5525"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5527"
|
||||
x="176.02385"
|
||||
y="570.7243">y</tspan></text>
|
||||
<g
|
||||
id="g3320"
|
||||
transform="translate(-81.151712,83.200997)">
|
||||
<path
|
||||
sodipodi:nodetypes="cc"
|
||||
id="path2859"
|
||||
d="m 107.84461,560.19866 238.34916,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#DistanceStart);marker-end:url(#DistanceEnd)" />
|
||||
<text
|
||||
id="text4284"
|
||||
y="574.17139"
|
||||
x="227.0192"
|
||||
style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
xml:space="preserve"><tspan
|
||||
y="574.17139"
|
||||
x="227.0192"
|
||||
id="tspan4286"
|
||||
sodipodi:role="line">g</tspan></text>
|
||||
<path
|
||||
sodipodi:nodetypes="cc"
|
||||
id="path2859-5"
|
||||
d="M 107.84461,612.92703 380.59819,611.2876"
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#DistanceStart);marker-end:url(#DistanceEnd)" />
|
||||
<text
|
||||
id="text5583"
|
||||
y="625.0675"
|
||||
x="207.78781"
|
||||
style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
xml:space="preserve"><tspan
|
||||
y="625.0675"
|
||||
x="207.78781"
|
||||
id="tspan5585"
|
||||
sodipodi:role="line">x</tspan></text>
|
||||
</g>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;color:#000000;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;marker:none;marker-start:url(#DistanceStart);marker-end:url(#DistanceEnd);visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
d="M 272.01521,382.34589 390.51575,500.84643"
|
||||
id="path5587"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="336.24664"
|
||||
y="433.05533"
|
||||
id="text5640"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5642"
|
||||
x="336.24664"
|
||||
y="433.05533">p</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 299.88553,498.86877 0,46.49341"
|
||||
id="path5644"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:6.80813789px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="301.71027"
|
||||
y="511.74252"
|
||||
id="text2849-9"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan2851-1"
|
||||
x="301.71027"
|
||||
y="511.74252">ϑ</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 304.9025,493.43771 -21.18965,21.18965"
|
||||
id="path5908" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="312.51556"
|
||||
y="508.66382"
|
||||
id="text5912"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5914"
|
||||
x="312.51556"
|
||||
y="508.66382">d</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;color:#000000;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;marker:none;marker-start:url(#DistanceStart);marker-end:url(#DistanceEnd);visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
d="M 369.3182,522.04398 325.0167,477.74249"
|
||||
id="path5916" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="349.19827"
|
||||
y="494.13678"
|
||||
id="text5969"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5971"
|
||||
x="349.19827"
|
||||
y="494.13678">q</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="78.266083"
|
||||
y="313.79965"
|
||||
id="text2934"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan2936"
|
||||
x="78.266083"
|
||||
y="313.79965">Port name (bottom)</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 109,545.36218 29.29042,625.07176"
|
||||
id="path3336"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 266.23358,624.64489 147.97513,506.38644"
|
||||
id="path3346"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="color:#000000;fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;marker-start:url(#DistanceStart);marker-end:url(#DistanceEnd);visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
d="m 121.77859,480.20163 80.28097,-79.92214"
|
||||
id="path3348"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="149.53252"
|
||||
y="437.99329"
|
||||
id="text3643"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3645"
|
||||
x="149.53252"
|
||||
y="437.99329">f</tspan></text>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 27 KiB |
670
doc/port_matrix/top_column_port_name.svg
Normal file
670
doc/port_matrix/top_column_port_name.svg
Normal file
@ -0,0 +1,670 @@
|
||||
<?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="744.09448819"
|
||||
height="1052.3622047"
|
||||
id="svg2"
|
||||
version="1.1"
|
||||
inkscape:version="0.47pre4 r22446"
|
||||
sodipodi:docname="top_column_port_name.svg">
|
||||
<defs
|
||||
id="defs4">
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="DistanceEnd"
|
||||
refX="0.0"
|
||||
refY="0.0"
|
||||
orient="auto"
|
||||
inkscape:stockid="DistanceEnd">
|
||||
<g
|
||||
id="g3692">
|
||||
<path
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1.15;stroke-linecap:square"
|
||||
d="M 0,0 L -2,0"
|
||||
id="path2316" />
|
||||
<path
|
||||
style="fill:#000000;fill-rule:evenodd;stroke:none"
|
||||
d="M 0,0 L -13,4 L -9,0 -13,-4 L 0,0 z "
|
||||
id="path2312" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square"
|
||||
d="M 0,-4 L 0,40"
|
||||
id="path2314" />
|
||||
</g>
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="DistanceStart"
|
||||
refX="0.0"
|
||||
refY="0.0"
|
||||
orient="auto"
|
||||
inkscape:stockid="DistanceStart">
|
||||
<g
|
||||
id="g2300">
|
||||
<path
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1.15;stroke-linecap:square"
|
||||
d="M 0,0 L 2,0"
|
||||
id="path2306" />
|
||||
<path
|
||||
style="fill:#000000;fill-rule:evenodd;stroke:none"
|
||||
d="M 0,0 L 13,4 L 9,0 13,-4 L 0,0 z "
|
||||
id="path2302" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square"
|
||||
d="M 0,-4 L 0,40"
|
||||
id="path2304" />
|
||||
</g>
|
||||
</marker>
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 526.18109 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="744.09448 : 526.18109 : 1"
|
||||
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
|
||||
id="perspective10" />
|
||||
<inkscape:perspective
|
||||
id="perspective4298"
|
||||
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||
inkscape:vp_z="1 : 0.5 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 0.5 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
<inkscape:perspective
|
||||
id="perspective4322"
|
||||
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||
inkscape:vp_z="1 : 0.5 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 0.5 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="DistanceStart-0"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="DistanceStart">
|
||||
<g
|
||||
id="g2300-0">
|
||||
<path
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1.14999998;stroke-linecap:square"
|
||||
d="M 0,0 2,0"
|
||||
id="path2306-1" />
|
||||
<path
|
||||
style="fill:#000000;fill-rule:evenodd;stroke:none"
|
||||
d="M 0,0 13,4 9,0 13,-4 0,0 z"
|
||||
id="path2302-3" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square"
|
||||
d="M 0,-4 0,40"
|
||||
id="path2304-3" />
|
||||
</g>
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="DistanceEnd-0"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="DistanceEnd">
|
||||
<g
|
||||
id="g3692-0">
|
||||
<path
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1.14999998;stroke-linecap:square"
|
||||
d="M 0,0 -2,0"
|
||||
id="path2316-0" />
|
||||
<path
|
||||
style="fill:#000000;fill-rule:evenodd;stroke:none"
|
||||
d="M 0,0 -13,4 -9,0 -13,-4 0,0 z"
|
||||
id="path2312-2" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square"
|
||||
d="M 0,-4 0,40"
|
||||
id="path2314-2" />
|
||||
</g>
|
||||
</marker>
|
||||
<inkscape:perspective
|
||||
id="perspective4381"
|
||||
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||
inkscape:vp_z="1 : 0.5 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 0.5 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="DistanceStart-9"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="DistanceStart">
|
||||
<g
|
||||
id="g2300-01">
|
||||
<path
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1.14999998;stroke-linecap:square"
|
||||
d="M 0,0 2,0"
|
||||
id="path2306-4" />
|
||||
<path
|
||||
style="fill:#000000;fill-rule:evenodd;stroke:none"
|
||||
d="M 0,0 13,4 9,0 13,-4 0,0 z"
|
||||
id="path2302-4" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square"
|
||||
d="M 0,-4 0,40"
|
||||
id="path2304-32" />
|
||||
</g>
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="DistanceEnd-5"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="DistanceEnd">
|
||||
<g
|
||||
id="g3692-1">
|
||||
<path
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1.14999998;stroke-linecap:square"
|
||||
d="M 0,0 -2,0"
|
||||
id="path2316-3" />
|
||||
<path
|
||||
style="fill:#000000;fill-rule:evenodd;stroke:none"
|
||||
d="M 0,0 -13,4 -9,0 -13,-4 0,0 z"
|
||||
id="path2312-26" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square"
|
||||
d="M 0,-4 0,40"
|
||||
id="path2314-0" />
|
||||
</g>
|
||||
</marker>
|
||||
<inkscape:perspective
|
||||
id="perspective5494"
|
||||
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||
inkscape:vp_z="1 : 0.5 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 0.5 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="DistanceStart-9-9"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="DistanceStart">
|
||||
<g
|
||||
id="g2300-01-2">
|
||||
<path
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1.14999998;stroke-linecap:square"
|
||||
d="M 0,0 2,0"
|
||||
id="path2306-4-3" />
|
||||
<path
|
||||
style="fill:#000000;fill-rule:evenodd;stroke:none"
|
||||
d="M 0,0 13,4 9,0 13,-4 0,0 z"
|
||||
id="path2302-4-5" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square"
|
||||
d="M 0,-4 0,40"
|
||||
id="path2304-32-4" />
|
||||
</g>
|
||||
</marker>
|
||||
<inkscape:perspective
|
||||
id="perspective5537"
|
||||
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||
inkscape:vp_z="1 : 0.5 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 0.5 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="DistanceStart-6"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="DistanceStart">
|
||||
<g
|
||||
id="g2300-1">
|
||||
<path
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1.14999998;stroke-linecap:square"
|
||||
d="M 0,0 2,0"
|
||||
id="path2306-8" />
|
||||
<path
|
||||
style="fill:#000000;fill-rule:evenodd;stroke:none"
|
||||
d="M 0,0 13,4 9,0 13,-4 0,0 z"
|
||||
id="path2302-5" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square"
|
||||
d="M 0,-4 0,40"
|
||||
id="path2304-9" />
|
||||
</g>
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="DistanceEnd-6"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="DistanceEnd">
|
||||
<g
|
||||
id="g3692-6">
|
||||
<path
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1.14999998;stroke-linecap:square"
|
||||
d="M 0,0 -2,0"
|
||||
id="path2316-1" />
|
||||
<path
|
||||
style="fill:#000000;fill-rule:evenodd;stroke:none"
|
||||
d="M 0,0 -13,4 -9,0 -13,-4 0,0 z"
|
||||
id="path2312-7" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square"
|
||||
d="M 0,-4 0,40"
|
||||
id="path2314-5" />
|
||||
</g>
|
||||
</marker>
|
||||
<inkscape:perspective
|
||||
id="perspective5597"
|
||||
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||
inkscape:vp_z="1 : 0.5 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 0.5 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="DistanceStart-2"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="DistanceStart">
|
||||
<g
|
||||
id="g2300-09">
|
||||
<path
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1.14999998;stroke-linecap:square"
|
||||
d="M 0,0 2,0"
|
||||
id="path2306-7" />
|
||||
<path
|
||||
style="fill:#000000;fill-rule:evenodd;stroke:none"
|
||||
d="M 0,0 13,4 9,0 13,-4 0,0 z"
|
||||
id="path2302-7" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square"
|
||||
d="M 0,-4 0,40"
|
||||
id="path2304-5" />
|
||||
</g>
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="DistanceEnd-4"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="DistanceEnd">
|
||||
<g
|
||||
id="g3692-4">
|
||||
<path
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1.14999998;stroke-linecap:square"
|
||||
d="M 0,0 -2,0"
|
||||
id="path2316-6" />
|
||||
<path
|
||||
style="fill:#000000;fill-rule:evenodd;stroke:none"
|
||||
d="M 0,0 -13,4 -9,0 -13,-4 0,0 z"
|
||||
id="path2312-5" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square"
|
||||
d="M 0,-4 0,40"
|
||||
id="path2314-6" />
|
||||
</g>
|
||||
</marker>
|
||||
<inkscape:perspective
|
||||
id="perspective5654"
|
||||
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||
inkscape:vp_z="1 : 0.5 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 0.5 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
<inkscape:perspective
|
||||
id="perspective5865"
|
||||
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||
inkscape:vp_z="1 : 0.5 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 0.5 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="DistanceStart-1"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="DistanceStart">
|
||||
<g
|
||||
id="g2300-3">
|
||||
<path
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1.14999998;stroke-linecap:square"
|
||||
d="M 0,0 2,0"
|
||||
id="path2306-89" />
|
||||
<path
|
||||
style="fill:#000000;fill-rule:evenodd;stroke:none"
|
||||
d="M 0,0 13,4 9,0 13,-4 0,0 z"
|
||||
id="path2302-58" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square"
|
||||
d="M 0,-4 0,40"
|
||||
id="path2304-91" />
|
||||
</g>
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="DistanceEnd-9"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="DistanceEnd">
|
||||
<g
|
||||
id="g3692-7">
|
||||
<path
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1.14999998;stroke-linecap:square"
|
||||
d="M 0,0 -2,0"
|
||||
id="path2316-36" />
|
||||
<path
|
||||
style="fill:#000000;fill-rule:evenodd;stroke:none"
|
||||
d="M 0,0 -13,4 -9,0 -13,-4 0,0 z"
|
||||
id="path2312-56" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square"
|
||||
d="M 0,-4 0,40"
|
||||
id="path2314-4" />
|
||||
</g>
|
||||
</marker>
|
||||
<inkscape:perspective
|
||||
id="perspective5926"
|
||||
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||
inkscape:vp_z="1 : 0.5 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 0.5 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="DistanceStart-3"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="DistanceStart">
|
||||
<g
|
||||
id="g2300-9">
|
||||
<path
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1.14999998;stroke-linecap:square"
|
||||
d="M 0,0 2,0"
|
||||
id="path2306-5" />
|
||||
<path
|
||||
style="fill:#000000;fill-rule:evenodd;stroke:none"
|
||||
d="M 0,0 13,4 9,0 13,-4 0,0 z"
|
||||
id="path2302-9" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square"
|
||||
d="M 0,-4 0,40"
|
||||
id="path2304-7" />
|
||||
</g>
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="DistanceEnd-2"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="DistanceEnd">
|
||||
<g
|
||||
id="g3692-14">
|
||||
<path
|
||||
style="fill:none;stroke:#ffffff;stroke-width:1.14999998;stroke-linecap:square"
|
||||
d="M 0,0 -2,0"
|
||||
id="path2316-7" />
|
||||
<path
|
||||
style="fill:#000000;fill-rule:evenodd;stroke:none"
|
||||
d="M 0,0 -13,4 -9,0 -13,-4 0,0 z"
|
||||
id="path2312-1" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:square"
|
||||
d="M 0,-4 0,40"
|
||||
id="path2314-3" />
|
||||
</g>
|
||||
</marker>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="2.4398746"
|
||||
inkscape:cx="254.50013"
|
||||
inkscape:cy="579.45775"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
showguides="false"
|
||||
inkscape:guide-bbox="true"
|
||||
inkscape:snap-global="true"
|
||||
inkscape:snap-bbox="false"
|
||||
inkscape:object-paths="true"
|
||||
inkscape:window-width="1280"
|
||||
inkscape:window-height="1000"
|
||||
inkscape:window-x="1280"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:snap-midpoints="false"
|
||||
inkscape:snap-grids="false"
|
||||
inkscape:snap-to-guides="true">
|
||||
<sodipodi:guide
|
||||
orientation="0,1"
|
||||
position="-139,507"
|
||||
id="guide2818" />
|
||||
<sodipodi:guide
|
||||
orientation="0,1"
|
||||
position="-54,736"
|
||||
id="guide2820" />
|
||||
<sodipodi:guide
|
||||
orientation="1,0"
|
||||
position="107.84461,521.24893"
|
||||
id="guide2855" />
|
||||
<sodipodi:guide
|
||||
orientation="1,0"
|
||||
position="346.19377,502.36563"
|
||||
id="guide2857" />
|
||||
<sodipodi:guide
|
||||
orientation="0,1"
|
||||
position="287.77314,553.84911"
|
||||
id="guide4369" />
|
||||
<sodipodi:guide
|
||||
orientation="1,0"
|
||||
position="187.50484,410.61756"
|
||||
id="guide5523" />
|
||||
<sodipodi:guide
|
||||
orientation="1,0"
|
||||
position="299.44648,566.15686"
|
||||
id="guide5581" />
|
||||
</sodipodi:namedview>
|
||||
<metadata
|
||||
id="metadata7">
|
||||
<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>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1">
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 407.04788,247.31233 109,545.36218 l 237,0 178,-178 -117,-120.099"
|
||||
id="path2822"
|
||||
sodipodi:nodetypes="ccccc" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="77.130562"
|
||||
y="369.20581"
|
||||
id="text2845"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan2847"
|
||||
x="77.130562"
|
||||
y="369.20581">Column name (top)</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="125.84303"
|
||||
y="541.49957"
|
||||
id="text2849"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan2851"
|
||||
x="125.84303"
|
||||
y="541.49957">ϑ</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 346.16456,545.1478 227.68908,426.67232"
|
||||
id="path2853" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#DistanceStart);marker-end:url(#DistanceEnd)"
|
||||
d="m 107.84461,560.19866 238.34916,0"
|
||||
id="path2859"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="227.0192"
|
||||
y="574.17139"
|
||||
id="text4284"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4286"
|
||||
x="227.0192"
|
||||
y="574.17139">g</tspan></text>
|
||||
<path
|
||||
style="color:#000000;fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;marker-start:url(#DistanceStart);marker-end:url(#DistanceEnd);visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
d="m 260.29818,437.3373 73.37226,73.37227"
|
||||
id="path4312"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="305.09753"
|
||||
y="472.22052"
|
||||
id="text4365"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4367"
|
||||
x="305.09753"
|
||||
y="472.22052">h</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#DistanceStart-9)"
|
||||
d="m 187.50484,498.50303 0,-29.29762"
|
||||
id="path4424"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#DistanceStart-9)"
|
||||
d="m 187.98488,545.36218 0,34.70643"
|
||||
id="path4424-8"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="184.34961"
|
||||
y="522.88019"
|
||||
id="text5525"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5527"
|
||||
x="184.34961"
|
||||
y="522.88019">y</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#DistanceStart);marker-end:url(#DistanceEnd)"
|
||||
d="m 107.84461,612.92703 191.60187,0"
|
||||
id="path2859-5"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="207.78781"
|
||||
y="625.0675"
|
||||
id="text5583"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5585"
|
||||
x="207.78781"
|
||||
y="625.0675">x</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;color:#000000;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;marker:none;marker-start:url(#DistanceStart);marker-end:url(#DistanceEnd);visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
d="M 272.01521,382.34589 390.51575,500.84643"
|
||||
id="path5587"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="336.24664"
|
||||
y="433.05533"
|
||||
id="text5640"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5642"
|
||||
x="336.24664"
|
||||
y="433.05533">p</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 299.88553,498.86877 0,46.49341"
|
||||
id="path5644"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:6.80813789px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="301.71027"
|
||||
y="511.74252"
|
||||
id="text2849-9"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan2851-1"
|
||||
x="301.71027"
|
||||
y="511.74252">ϑ</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 304.9025,493.43771 -21.18965,21.18965"
|
||||
id="path5908" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="312.51556"
|
||||
y="508.66382"
|
||||
id="text5912"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5914"
|
||||
x="312.51556"
|
||||
y="508.66382">d</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;color:#000000;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;marker:none;marker-start:url(#DistanceStart);marker-end:url(#DistanceEnd);visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
d="M 369.3182,522.04398 325.0167,477.74249"
|
||||
id="path5916" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="349.19827"
|
||||
y="494.13678"
|
||||
id="text5969"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5971"
|
||||
x="349.19827"
|
||||
y="494.13678">q</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="76.626656"
|
||||
y="385.11478"
|
||||
id="text3316"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3318"
|
||||
x="76.626656"
|
||||
y="385.11478">Bundle name (bottom)</tspan></text>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 22 KiB |
@ -1669,3 +1669,4 @@ widget "*OddPortGroups" style:highest "odd_port_groups"
|
||||
widget "*EvenPortGroups" style:highest "even_port_groups"
|
||||
widget "*MidiListView*" style:highest "white_tree_view"
|
||||
widget "*ProcessorSelector*" style:highest "processor_list_display"
|
||||
widget "*PortMatrixLabel*" style:highest "small_text"
|
@ -60,33 +60,41 @@ PortMatrix::PortMatrix (Window* parent, Session* session, DataType type)
|
||||
_ignore_notebook_page_selected (false)
|
||||
{
|
||||
_body = new PortMatrixBody (this);
|
||||
_body->DimensionsChanged.connect (mem_fun (*this, &PortMatrix::body_dimensions_changed));
|
||||
|
||||
_vbox.pack_start (_vnotebook);
|
||||
_vbox.pack_start (_vlabel);
|
||||
_hbox.pack_start (_hnotebook);
|
||||
_hbox.pack_start (_hlabel);
|
||||
_vbox.pack_start (_vspacer, false, false);
|
||||
_vbox.pack_start (_vnotebook, false, false);
|
||||
_vbox.pack_start (_vlabel, true, true);
|
||||
_hbox.pack_start (_hspacer, false, false);
|
||||
_hbox.pack_start (_hnotebook, false, false);
|
||||
_hbox.pack_start (_hlabel, true, true);
|
||||
|
||||
_vnotebook.signal_switch_page().connect (mem_fun (*this, &PortMatrix::v_page_selected));
|
||||
_vnotebook.property_tab_border() = 4;
|
||||
_vnotebook.set_name (X_("PortMatrixLabel"));
|
||||
_hnotebook.signal_switch_page().connect (mem_fun (*this, &PortMatrix::h_page_selected));
|
||||
_hnotebook.property_tab_border() = 4;
|
||||
_hnotebook.set_name (X_("PortMatrixLabel"));
|
||||
|
||||
for (int i = 0; i < 2; ++i) {
|
||||
_ports[i].set_type (type);
|
||||
}
|
||||
|
||||
_vlabel.set_use_markup ();
|
||||
_vlabel.set_alignment (0.5, 0);
|
||||
_vlabel.set_alignment (1, 1);
|
||||
_vlabel.set_padding (4, 16);
|
||||
_vlabel.set_name (X_("PortMatrixLabel"));
|
||||
_hlabel.set_use_markup ();
|
||||
_hlabel.set_alignment (0, 0.5);
|
||||
_hlabel.set_alignment (1, 0.5);
|
||||
_hlabel.set_padding (16, 4);
|
||||
_hlabel.set_name (X_("PortMatrixLabel"));
|
||||
|
||||
_body->show ();
|
||||
_vbox.show ();
|
||||
_hbox.show ();
|
||||
_vlabel.show ();
|
||||
_hlabel.show ();
|
||||
_hspacer.show ();
|
||||
}
|
||||
|
||||
PortMatrix::~PortMatrix ()
|
||||
@ -106,7 +114,6 @@ void
|
||||
PortMatrix::init ()
|
||||
{
|
||||
select_arrangement ();
|
||||
setup_notebooks ();
|
||||
|
||||
if (!_ports[0].empty()) {
|
||||
_visible_ports[0] = *_ports[0].begin();
|
||||
@ -674,15 +681,15 @@ PortMatrix::setup_notebooks ()
|
||||
}
|
||||
|
||||
if (_hnotebook.get_n_pages() <= 1) {
|
||||
_hnotebook.hide ();
|
||||
_hbox.hide ();
|
||||
} else {
|
||||
_hnotebook.show ();
|
||||
_vbox.show ();
|
||||
}
|
||||
|
||||
if (_vnotebook.get_n_pages() <= 1) {
|
||||
_vnotebook.hide ();
|
||||
_vbox.hide ();
|
||||
} else {
|
||||
_vnotebook.show ();
|
||||
_vbox.show ();
|
||||
}
|
||||
}
|
||||
|
||||
@ -751,3 +758,16 @@ PortMatrix::session_going_away ()
|
||||
{
|
||||
_session = 0;
|
||||
}
|
||||
|
||||
void
|
||||
PortMatrix::body_dimensions_changed ()
|
||||
{
|
||||
_hspacer.set_size_request (_body->column_labels_border_x (), -1);
|
||||
if (_arrangement == TOP_TO_RIGHT) {
|
||||
_vspacer.set_size_request (-1, _body->column_labels_height ());
|
||||
_vspacer.show ();
|
||||
} else {
|
||||
_vspacer.hide ();
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -179,6 +179,7 @@ private:
|
||||
void v_page_selected (GtkNotebookPage *, guint);
|
||||
void h_page_selected (GtkNotebookPage *, guint);
|
||||
void route_processors_changed (ARDOUR::RouteProcessorChange);
|
||||
void body_dimensions_changed ();
|
||||
void session_going_away ();
|
||||
|
||||
Gtk::Window* _parent;
|
||||
@ -196,6 +197,8 @@ private:
|
||||
Gtk::Label _hlabel;
|
||||
Gtk::VBox _vbox;
|
||||
Gtk::HBox _hbox;
|
||||
Gtk::Label _hspacer;
|
||||
Gtk::Label _vspacer;
|
||||
Gtk::Menu* _menu;
|
||||
Arrangement _arrangement;
|
||||
int _row_index;
|
||||
|
@ -34,6 +34,8 @@ PortMatrixBody::PortMatrixBody (PortMatrix* p)
|
||||
_alloc_height (0),
|
||||
_xoffset (0),
|
||||
_yoffset (0),
|
||||
_column_labels_border_x (0),
|
||||
_column_labels_height (0),
|
||||
_ignore_component_size_changed (false)
|
||||
{
|
||||
_column_labels = new PortMatrixColumnLabels (p, this);
|
||||
@ -58,7 +60,10 @@ PortMatrixBody::~PortMatrixBody ()
|
||||
bool
|
||||
PortMatrixBody::on_expose_event (GdkEventExpose* event)
|
||||
{
|
||||
if (_matrix->visible_columns()->bundles().empty() || _matrix->visible_rows()->bundles().empty()) {
|
||||
if (
|
||||
_matrix->visible_columns() == 0 || _matrix->visible_rows() == 0 ||
|
||||
_matrix->visible_columns()->bundles().empty() || _matrix->visible_rows()->bundles().empty()
|
||||
) {
|
||||
|
||||
/* nothing to connect */
|
||||
|
||||
@ -171,7 +176,7 @@ PortMatrixBody::compute_rectangles ()
|
||||
{
|
||||
/* full sizes of components */
|
||||
pair<uint32_t, uint32_t> const col = _column_labels->dimensions ();
|
||||
uint32_t col_overhang = _column_labels->overhang ();
|
||||
uint32_t const col_overhang = _column_labels->overhang ();
|
||||
pair<uint32_t, uint32_t> const row = _row_labels->dimensions ();
|
||||
pair<uint32_t, uint32_t> const grid = _grid->dimensions ();
|
||||
|
||||
@ -182,6 +187,7 @@ PortMatrixBody::compute_rectangles ()
|
||||
if (_matrix->arrangement() == PortMatrix::TOP_TO_RIGHT) {
|
||||
|
||||
col_rect.set_x (0);
|
||||
_column_labels_border_x = col_overhang;
|
||||
col_rect.set_y (0);
|
||||
grid_rect.set_x (0);
|
||||
|
||||
@ -222,13 +228,17 @@ PortMatrixBody::compute_rectangles ()
|
||||
|
||||
col_rect.set_width (grid_rect.get_width () + col_overhang);
|
||||
col_rect.set_x (row_rect.get_width() + grid_rect.get_width() - col_rect.get_width());
|
||||
_column_labels_border_x = col_rect.get_x () >= 0 ? col_rect.get_x () : 0;
|
||||
col_rect.set_y (row_rect.get_height());
|
||||
|
||||
}
|
||||
|
||||
_column_labels_height = col_rect.get_height ();
|
||||
|
||||
_row_labels->set_parent_rectangle (row_rect);
|
||||
_column_labels->set_parent_rectangle (col_rect);
|
||||
_grid->set_parent_rectangle (grid_rect);
|
||||
|
||||
DimensionsChanged (); /* EMIT SIGNAL */
|
||||
}
|
||||
|
||||
void
|
||||
@ -243,7 +253,7 @@ PortMatrixBody::setup ()
|
||||
|
||||
/* Connect to bundles so that we find out when their names change */
|
||||
|
||||
PortGroup::BundleList r = _matrix->rows()->bundles ();
|
||||
PortGroup::BundleList r = _matrix->visible_rows()->bundles ();
|
||||
for (PortGroup::BundleList::iterator i = r.begin(); i != r.end(); ++i) {
|
||||
|
||||
_bundle_connections.push_back (
|
||||
@ -252,7 +262,7 @@ PortMatrixBody::setup ()
|
||||
|
||||
}
|
||||
|
||||
PortGroup::BundleList c = _matrix->columns()->bundles ();
|
||||
PortGroup::BundleList c = _matrix->visible_columns()->bundles ();
|
||||
for (PortGroup::BundleList::iterator i = c.begin(); i != c.end(); ++i) {
|
||||
_bundle_connections.push_back (
|
||||
i->bundle->Changed.connect (sigc::hide (sigc::mem_fun (*this, &PortMatrixBody::rebuild_and_draw_column_labels)))
|
||||
@ -295,6 +305,7 @@ PortMatrixBody::alloc_scroll_height ()
|
||||
return _grid->parent_rectangle().get_height();
|
||||
}
|
||||
|
||||
/** Set x offset (for scrolling) */
|
||||
void
|
||||
PortMatrixBody::set_xoffset (uint32_t xo)
|
||||
{
|
||||
@ -302,6 +313,7 @@ PortMatrixBody::set_xoffset (uint32_t xo)
|
||||
queue_draw ();
|
||||
}
|
||||
|
||||
/** Set y offset (for scrolling) */
|
||||
void
|
||||
PortMatrixBody::set_yoffset (uint32_t yo)
|
||||
{
|
||||
@ -494,3 +506,16 @@ PortMatrixBody::max_size () const
|
||||
|
||||
return make_pair (std::max (row.first, _column_labels->overhang()) + grid.first, col.second + grid.second);
|
||||
}
|
||||
|
||||
/** @return x position at which the column labels meet the border of the matrix */
|
||||
uint32_t
|
||||
PortMatrixBody::column_labels_border_x () const
|
||||
{
|
||||
return _column_labels_border_x;
|
||||
}
|
||||
|
||||
uint32_t
|
||||
PortMatrixBody::column_labels_height () const
|
||||
{
|
||||
return _column_labels_height;
|
||||
}
|
||||
|
@ -67,6 +67,11 @@ public:
|
||||
void component_size_changed ();
|
||||
std::pair<uint32_t, uint32_t> max_size () const;
|
||||
|
||||
uint32_t column_labels_border_x () const;
|
||||
uint32_t column_labels_height () const;
|
||||
|
||||
sigc::signal<void> DimensionsChanged;
|
||||
|
||||
protected:
|
||||
bool on_expose_event (GdkEventExpose *);
|
||||
void on_size_request (Gtk::Requisition *);
|
||||
@ -91,11 +96,10 @@ private:
|
||||
|
||||
uint32_t _alloc_width; ///< allocated width
|
||||
uint32_t _alloc_height; ///< allocated height
|
||||
Gdk::Rectangle _column_labels_rect;
|
||||
Gdk::Rectangle _row_labels_rect;
|
||||
Gdk::Rectangle _grid_rect;
|
||||
uint32_t _xoffset;
|
||||
uint32_t _yoffset;
|
||||
uint32_t _column_labels_border_x;
|
||||
uint32_t _column_labels_height;
|
||||
|
||||
std::list<PortMatrixNode> _mouseover;
|
||||
bool _ignore_component_size_changed;
|
||||
|
@ -45,10 +45,6 @@ PortMatrixColumnLabels::compute_dimensions ()
|
||||
_longest_bundle_name = 0;
|
||||
/* width of the longest channel name */
|
||||
_longest_channel_name = 0;
|
||||
/* height of highest bit of text (apart from group names) */
|
||||
_highest_text = 0;
|
||||
/* width of the whole thing */
|
||||
_width = 0;
|
||||
|
||||
/* Compute dimensions using all port groups, so that we allow for the largest and hence
|
||||
we can change between visible groups without the size of the labels jumping around.
|
||||
@ -64,10 +60,6 @@ PortMatrixColumnLabels::compute_dimensions ()
|
||||
_longest_bundle_name = ext.width;
|
||||
}
|
||||
|
||||
if (ext.height > _highest_text) {
|
||||
_highest_text = ext.height;
|
||||
}
|
||||
|
||||
for (uint32_t k = 0; k < j->bundle->nchannels (); ++k) {
|
||||
|
||||
cairo_text_extents (
|
||||
@ -79,14 +71,21 @@ PortMatrixColumnLabels::compute_dimensions ()
|
||||
if (ext.width > _longest_channel_name) {
|
||||
_longest_channel_name = ext.width;
|
||||
}
|
||||
|
||||
if (ext.height > _highest_text) {
|
||||
_highest_text = ext.height;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
_width += group_size (*i) * grid_spacing ();
|
||||
/* height metrics */
|
||||
cairo_text_extents_t ext;
|
||||
cairo_text_extents (cr, X_("AQRjpy"), &ext);
|
||||
_text_height = ext.height;
|
||||
_descender_height = ext.height + ext.y_bearing;
|
||||
|
||||
/* width of the whole thing */
|
||||
if (_matrix->visible_columns()) {
|
||||
_width = group_size (_matrix->visible_columns()) * grid_spacing ();
|
||||
} else {
|
||||
_width = 0;
|
||||
}
|
||||
|
||||
cairo_destroy (cr);
|
||||
@ -99,7 +98,7 @@ PortMatrixColumnLabels::compute_dimensions ()
|
||||
a += _longest_channel_name;
|
||||
}
|
||||
|
||||
_height = a * sin (angle()) + _highest_text * cos (angle());
|
||||
_height = a * sin (angle()) + _text_height * cos (angle());
|
||||
_overhang = _height / tan (angle ());
|
||||
_width += _overhang;
|
||||
}
|
||||
@ -108,7 +107,7 @@ double
|
||||
PortMatrixColumnLabels::basic_text_x_pos (int) const
|
||||
{
|
||||
return grid_spacing() / 2 +
|
||||
_highest_text / (2 * sin (angle ()));
|
||||
_text_height / (2 * sin (angle ()));
|
||||
}
|
||||
|
||||
void
|
||||
@ -278,6 +277,8 @@ PortMatrixColumnLabels::render_bundle_name (
|
||||
|
||||
set_source_rgb (cr, text_colour());
|
||||
|
||||
double const q = ((grid_spacing() * sin (angle())) - _text_height) / 2 + _descender_height;
|
||||
|
||||
if (_matrix->arrangement() == PortMatrix::TOP_TO_RIGHT) {
|
||||
|
||||
double rl = 0;
|
||||
@ -288,16 +289,16 @@ PortMatrixColumnLabels::render_bundle_name (
|
||||
}
|
||||
cairo_move_to (
|
||||
cr,
|
||||
xoff + basic_text_x_pos (0) + rl * cos (angle()),
|
||||
yoff + _height - rl * sin (angle())
|
||||
xoff + grid_spacing() - q * sin (angle ()) + rl * cos (angle()),
|
||||
yoff + _height - q * cos (angle ()) - rl * sin (angle())
|
||||
);
|
||||
|
||||
} else {
|
||||
|
||||
cairo_move_to (
|
||||
cr,
|
||||
xoff + basic_text_x_pos (0) + name_pad() * cos (angle ()),
|
||||
yoff + _height - name_pad() * sin (angle())
|
||||
xoff + grid_spacing() - q * sin (angle ()),
|
||||
yoff + _height - q * cos (angle ())
|
||||
);
|
||||
}
|
||||
|
||||
@ -328,21 +329,24 @@ PortMatrixColumnLabels::render_channel_name (
|
||||
|
||||
set_source_rgb (cr, text_colour());
|
||||
|
||||
double const q = ((grid_spacing() * sin (angle())) - _text_height) / 2 + _descender_height;
|
||||
|
||||
if (_matrix->arrangement() == PortMatrix::TOP_TO_RIGHT) {
|
||||
|
||||
cairo_move_to (
|
||||
cr,
|
||||
xoff + basic_text_x_pos(bc.channel),
|
||||
yoff + _height - name_pad() * sin (angle())
|
||||
xoff + grid_spacing() - q * sin (angle ()),
|
||||
yoff + _height - q * cos (angle ())
|
||||
);
|
||||
|
||||
|
||||
} else {
|
||||
|
||||
double const rl = 3 * name_pad() + _longest_bundle_name;
|
||||
cairo_move_to (
|
||||
cr,
|
||||
xoff + basic_text_x_pos(bc.channel) + rl * cos (angle ()),
|
||||
yoff + _height - rl * sin (angle())
|
||||
xoff + grid_spacing() - q * sin (angle ()) + rl * cos (angle ()),
|
||||
yoff + _height - q * cos (angle ()) - rl * sin (angle())
|
||||
);
|
||||
}
|
||||
|
||||
@ -453,7 +457,7 @@ PortMatrixColumnLabels::motion (double x, double y)
|
||||
return;
|
||||
}
|
||||
|
||||
uint32_t const bh = _longest_channel_name * sin (angle ()) + _highest_text / cos (angle ());
|
||||
uint32_t const bh = _longest_channel_name * sin (angle ()) + _text_height / cos (angle ());
|
||||
|
||||
if (
|
||||
(_matrix->arrangement() == PortMatrix::LEFT_TO_BOTTOM && y > bh) ||
|
||||
|
@ -64,7 +64,8 @@ private:
|
||||
|
||||
double _longest_bundle_name;
|
||||
double _longest_channel_name;
|
||||
double _highest_text;
|
||||
double _text_height;
|
||||
double _descender_height;
|
||||
uint32_t _overhang;
|
||||
};
|
||||
|
||||
|
@ -41,16 +41,16 @@ PortMatrixGrid::PortMatrixGrid (PortMatrix* m, PortMatrixBody* b)
|
||||
void
|
||||
PortMatrixGrid::compute_dimensions ()
|
||||
{
|
||||
if (_matrix->visible_columns() == 0) {
|
||||
_width = 0;
|
||||
} else {
|
||||
if (_matrix->visible_columns()) {
|
||||
_width = group_size (_matrix->visible_columns()) * grid_spacing ();
|
||||
} else {
|
||||
_width = 0;
|
||||
}
|
||||
|
||||
if (_matrix->visible_rows() == 0) {
|
||||
_height = 0;
|
||||
} else {
|
||||
if (_matrix->visible_rows()) {
|
||||
_height = group_size (_matrix->visible_rows()) * grid_spacing ();
|
||||
} else {
|
||||
_height = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -44,7 +44,6 @@ PortMatrixRowLabels::compute_dimensions ()
|
||||
|
||||
_longest_port_name = 0;
|
||||
_longest_bundle_name = 0;
|
||||
_height = 0;
|
||||
|
||||
/* Compute maximum dimensions using all port groups, so that we allow for the largest and hence
|
||||
we can change between visible groups without the size of the labels jumping around.
|
||||
@ -71,8 +70,12 @@ PortMatrixRowLabels::compute_dimensions ()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
_height += group_size (_matrix->visible_rows()) * grid_spacing ();
|
||||
|
||||
if (_matrix->visible_rows()) {
|
||||
_height = group_size (_matrix->visible_rows()) * grid_spacing ();
|
||||
} else {
|
||||
_height = 0;
|
||||
}
|
||||
|
||||
cairo_destroy (cr);
|
||||
gdk_pixmap_unref (pm);
|
||||
|
Loading…
Reference in New Issue
Block a user