Browse Source

Add more graphics from Pyer. Implement new rail graphics in RackRail.

tags/v2.0.0
Andrew Belt 3 years ago
parent
commit
5cca734e54
10 changed files with 812 additions and 1998 deletions
  1. +1
    -0
      include/app/RackRail.hpp
  2. +42
    -366
      res/ComponentLibrary/ADAT.svg
  3. +52
    -397
      res/ComponentLibrary/MIDI_DIN.svg
  4. +43
    -66
      res/ComponentLibrary/PB61303.svg
  5. +501
    -620
      res/ComponentLibrary/RackBusboard.svg
  6. +39
    -0
      res/ComponentLibrary/RackRails.svg
  7. +36
    -82
      res/ComponentLibrary/ScrewBlack.svg
  8. +17
    -51
      res/ComponentLibrary/ScrewSilver.svg
  9. +58
    -376
      res/ComponentLibrary/USB-B.svg
  10. +23
    -40
      src/app/RackRail.cpp

+ 1
- 0
include/app/RackRail.hpp View File

@@ -9,6 +9,7 @@ namespace app {

struct RackRail : widget::TransparentWidget {
std::shared_ptr<Svg> busBoardSvg;
std::shared_ptr<Svg> railsSvg;

RackRail();
void draw(const DrawArgs& args) override;


+ 42
- 366
res/ComponentLibrary/ADAT.svg View File

@@ -1,366 +1,42 @@
<?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="10.415202mm"
height="10.667406mm"
viewBox="0 0 10.415202 10.667406"
version="1.1"
id="svg8104"
inkscape:version="0.92.2 5c3e80d, 2017-08-06"
sodipodi:docname="ADAT.svg">
<defs
id="defs8098">
<clipPath
id="clip306">
<path
d="m 1550,2365 h 44 v 44 h -44 z m 0,0"
id="path6964"
inkscape:connector-curvature="0" />
</clipPath>
<clipPath
id="clip307">
<path
d="m 1550.0859,2386.6914 c 0,11.8867 9.6368,21.5274 21.5274,21.5274 11.8906,0 21.5273,-9.6407 21.5273,-21.5274 0,-11.8906 -9.6367,-21.5312 -21.5273,-21.5312 -11.8906,0 -21.5274,9.6406 -21.5274,21.5312"
id="path6967"
inkscape:connector-curvature="0" />
</clipPath>
<linearGradient
id="linear3"
gradientUnits="userSpaceOnUse"
x1="-0.0115906"
y1="0"
x2="0.985816"
y2="0"
gradientTransform="matrix(0,43.168976,-43.168976,0,1571.6138,2365.6624)">
<stop
offset="0"
style="stop-color:rgb(32.940674%,32.940674%,33.724976%);stop-opacity:1;"
id="stop6970" />
<stop
offset="0.03125"
style="stop-color:rgb(32.814026%,32.806396%,33.586121%);stop-opacity:1;"
id="stop6972" />
<stop
offset="0.046875"
style="stop-color:rgb(32.58667%,32.565308%,33.338928%);stop-opacity:1;"
id="stop6974" />
<stop
offset="0.0625"
style="stop-color:rgb(32.383728%,32.350159%,33.117676%);stop-opacity:1;"
id="stop6976" />
<stop
offset="0.078125"
style="stop-color:rgb(32.182312%,32.136536%,32.897949%);stop-opacity:1;"
id="stop6978" />
<stop
offset="0.09375"
style="stop-color:rgb(31.980896%,31.922913%,32.678223%);stop-opacity:1;"
id="stop6980" />
<stop
offset="0.109375"
style="stop-color:rgb(31.77948%,31.70929%,32.458496%);stop-opacity:1;"
id="stop6982" />
<stop
offset="0.125"
style="stop-color:rgb(31.578064%,31.495667%,32.23877%);stop-opacity:1;"
id="stop6984" />
<stop
offset="0.140625"
style="stop-color:rgb(31.376648%,31.280518%,32.017517%);stop-opacity:1;"
id="stop6986" />
<stop
offset="0.15625"
style="stop-color:rgb(31.173706%,31.066895%,31.797791%);stop-opacity:1;"
id="stop6988" />
<stop
offset="0.171875"
style="stop-color:rgb(30.97229%,30.853271%,31.578064%);stop-opacity:1;"
id="stop6990" />
<stop
offset="0.1875"
style="stop-color:rgb(30.770874%,30.639648%,31.358337%);stop-opacity:1;"
id="stop6992" />
<stop
offset="0.203125"
style="stop-color:rgb(30.569458%,30.426025%,31.138611%);stop-opacity:1;"
id="stop6994" />
<stop
offset="0.21875"
style="stop-color:rgb(30.368042%,30.212402%,30.917358%);stop-opacity:1;"
id="stop6996" />
<stop
offset="0.234375"
style="stop-color:rgb(30.166626%,29.997253%,30.697632%);stop-opacity:1;"
id="stop6998" />
<stop
offset="0.25"
style="stop-color:rgb(29.963684%,29.78363%,30.477905%);stop-opacity:1;"
id="stop7000" />
<stop
offset="0.265625"
style="stop-color:rgb(29.762268%,29.570007%,30.258179%);stop-opacity:1;"
id="stop7002" />
<stop
offset="0.28125"
style="stop-color:rgb(29.560852%,29.356384%,30.038452%);stop-opacity:1;"
id="stop7004" />
<stop
offset="0.296875"
style="stop-color:rgb(29.359436%,29.142761%,29.8172%);stop-opacity:1;"
id="stop7006" />
<stop
offset="0.3125"
style="stop-color:rgb(29.15802%,28.927612%,29.597473%);stop-opacity:1;"
id="stop7008" />
<stop
offset="0.328125"
style="stop-color:rgb(28.955078%,28.713989%,29.377747%);stop-opacity:1;"
id="stop7010" />
<stop
offset="0.34375"
style="stop-color:rgb(28.753662%,28.500366%,29.15802%);stop-opacity:1;"
id="stop7012" />
<stop
offset="0.359375"
style="stop-color:rgb(28.552246%,28.286743%,28.938293%);stop-opacity:1;"
id="stop7014" />
<stop
offset="0.375"
style="stop-color:rgb(28.35083%,28.07312%,28.718567%);stop-opacity:1;"
id="stop7016" />
<stop
offset="0.390625"
style="stop-color:rgb(28.149414%,27.857971%,28.497314%);stop-opacity:1;"
id="stop7018" />
<stop
offset="0.40625"
style="stop-color:rgb(27.947998%,27.644348%,28.277588%);stop-opacity:1;"
id="stop7020" />
<stop
offset="0.421875"
style="stop-color:rgb(27.745056%,27.430725%,28.057861%);stop-opacity:1;"
id="stop7022" />
<stop
offset="0.4375"
style="stop-color:rgb(27.54364%,27.217102%,27.838135%);stop-opacity:1;"
id="stop7024" />
<stop
offset="0.453125"
style="stop-color:rgb(27.342224%,27.003479%,27.618408%);stop-opacity:1;"
id="stop7026" />
<stop
offset="0.46875"
style="stop-color:rgb(27.140808%,26.789856%,27.397156%);stop-opacity:1;"
id="stop7028" />
<stop
offset="0.484375"
style="stop-color:rgb(26.939392%,26.574707%,27.177429%);stop-opacity:1;"
id="stop7030" />
<stop
offset="0.5"
style="stop-color:rgb(26.737976%,26.361084%,26.957703%);stop-opacity:1;"
id="stop7032" />
<stop
offset="0.515625"
style="stop-color:rgb(26.535034%,26.147461%,26.737976%);stop-opacity:1;"
id="stop7034" />
<stop
offset="0.53125"
style="stop-color:rgb(26.333618%,25.933838%,26.51825%);stop-opacity:1;"
id="stop7036" />
<stop
offset="0.546875"
style="stop-color:rgb(26.132202%,25.720215%,26.296997%);stop-opacity:1;"
id="stop7038" />
<stop
offset="0.5625"
style="stop-color:rgb(25.930786%,25.505066%,26.077271%);stop-opacity:1;"
id="stop7040" />
<stop
offset="0.578125"
style="stop-color:rgb(25.72937%,25.291443%,25.857544%);stop-opacity:1;"
id="stop7042" />
<stop
offset="0.59375"
style="stop-color:rgb(25.527954%,25.07782%,25.637817%);stop-opacity:1;"
id="stop7044" />
<stop
offset="0.609375"
style="stop-color:rgb(25.325012%,24.864197%,25.418091%);stop-opacity:1;"
id="stop7046" />
<stop
offset="0.625"
style="stop-color:rgb(25.123596%,24.650574%,25.196838%);stop-opacity:1;"
id="stop7048" />
<stop
offset="0.640625"
style="stop-color:rgb(24.92218%,24.436951%,24.977112%);stop-opacity:1;"
id="stop7050" />
<stop
offset="0.65625"
style="stop-color:rgb(24.720764%,24.221802%,24.757385%);stop-opacity:1;"
id="stop7052" />
<stop
offset="0.671875"
style="stop-color:rgb(24.519348%,24.008179%,24.537659%);stop-opacity:1;"
id="stop7054" />
<stop
offset="0.6875"
style="stop-color:rgb(24.316406%,23.794556%,24.317932%);stop-opacity:1;"
id="stop7056" />
<stop
offset="0.703125"
style="stop-color:rgb(24.11499%,23.580933%,24.098206%);stop-opacity:1;"
id="stop7058" />
<stop
offset="0.71875"
style="stop-color:rgb(23.913574%,23.36731%,23.876953%);stop-opacity:1;"
id="stop7060" />
<stop
offset="0.734375"
style="stop-color:rgb(23.712158%,23.152161%,23.657227%);stop-opacity:1;"
id="stop7062" />
<stop
offset="0.75"
style="stop-color:rgb(23.510742%,22.938538%,23.4375%);stop-opacity:1;"
id="stop7064" />
<stop
offset="0.765625"
style="stop-color:rgb(23.309326%,22.724915%,23.217773%);stop-opacity:1;"
id="stop7066" />
<stop
offset="0.78125"
style="stop-color:rgb(23.106384%,22.511292%,22.998047%);stop-opacity:1;"
id="stop7068" />
<stop
offset="0.796875"
style="stop-color:rgb(22.904968%,22.297668%,22.776794%);stop-opacity:1;"
id="stop7070" />
<stop
offset="0.8125"
style="stop-color:rgb(22.703552%,22.084045%,22.557068%);stop-opacity:1;"
id="stop7072" />
<stop
offset="0.828125"
style="stop-color:rgb(22.502136%,21.868896%,22.337341%);stop-opacity:1;"
id="stop7074" />
<stop
offset="0.84375"
style="stop-color:rgb(22.30072%,21.655273%,22.117615%);stop-opacity:1;"
id="stop7076" />
<stop
offset="0.859375"
style="stop-color:rgb(22.099304%,21.44165%,21.897888%);stop-opacity:1;"
id="stop7078" />
<stop
offset="0.875"
style="stop-color:rgb(21.896362%,21.228027%,21.676636%);stop-opacity:1;"
id="stop7080" />
<stop
offset="0.890625"
style="stop-color:rgb(21.694946%,21.014404%,21.456909%);stop-opacity:1;"
id="stop7082" />
<stop
offset="0.90625"
style="stop-color:rgb(21.49353%,20.799255%,21.237183%);stop-opacity:1;"
id="stop7084" />
<stop
offset="0.921875"
style="stop-color:rgb(21.292114%,20.585632%,21.017456%);stop-opacity:1;"
id="stop7086" />
<stop
offset="0.9375"
style="stop-color:rgb(21.090698%,20.372009%,20.797729%);stop-opacity:1;"
id="stop7088" />
<stop
offset="0.953125"
style="stop-color:rgb(20.889282%,20.158386%,20.576477%);stop-opacity:1;"
id="stop7090" />
<stop
offset="0.96875"
style="stop-color:rgb(20.68634%,19.944763%,20.35675%);stop-opacity:1;"
id="stop7092" />
<stop
offset="0.984375"
style="stop-color:rgb(20.484924%,19.729614%,20.137024%);stop-opacity:1;"
id="stop7094" />
<stop
offset="1"
style="stop-color:rgb(20.283508%,19.515991%,19.917297%);stop-opacity:1;"
id="stop7096" />
</linearGradient>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.979899"
inkscape:cx="171.96332"
inkscape:cy="-12.111977"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="1600"
inkscape:window-height="882"
inkscape:window-x="0"
inkscape:window-y="18"
inkscape:window-maximized="0" />
<metadata
id="metadata8101">
<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"
transform="translate(-98.481578,-96.351604)">
<path
inkscape:connector-curvature="0"
id="path10049"
d="m 108.89678,106.51189 c 0,0.27838 -0.22874,0.50712 -0.50849,0.50712 h -9.398222 c -0.27837,0 -0.50849,-0.22874 -0.50849,-0.50712 v -9.398215 c 0,-0.279753 0.23012,-0.507119 0.50849,-0.507119 h 9.398222 c 0.27975,0 0.50849,0.227366 0.50849,0.507119 z m 0,0"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.35277775" />
<path
inkscape:connector-curvature="0"
id="path10051"
d="m 108.89678,106.25831 c 0,0.27838 -0.22874,0.50712 -0.50849,0.50712 h -9.398222 c -0.27837,0 -0.50849,-0.22874 -0.50849,-0.50712 v -9.398212 c 0,-0.279718 0.23012,-0.508494 0.50849,-0.508494 h 9.398222 c 0.27975,0 0.50849,0.228776 0.50849,0.508494 z m 0,0"
style="fill:#424242;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.35277775" />
<path
inkscape:connector-curvature="0"
id="path10053"
d="m 106.72501,98.389742 h -3.61735 l -0.55813,0.617361 h -0.82956 l -1.06662,1.014237 v 3.07164 l 1.06662,1.06521 h 0.82956 l 0.55813,0.57051 h 3.61735 z m 0,0"
style="fill:#211e1e;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.35277775" />
<path
inkscape:connector-curvature="0"
id="path10055"
d="m 103.00155,104.98228 -0.5581,-0.56914 h -0.82959 l -1.21405,-1.21542 v -3.285248 l 1.21818,-1.158945 h 0.81855 l 0.5595,-0.617361 h 3.98251 v 6.846114 z m 0,0"
style="fill:#211e1e;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.35277775" />
<path
inkscape:connector-curvature="0"
id="path10057"
d="m 106.72501,98.389742 h -3.61735 l -0.55813,0.617361 h -0.82956 l -1.06662,1.014237 v 3.07164 l 1.06662,1.06521 h 0.82956 l 0.55813,0.57051 h 3.61735 z m 0,0"
style="fill:#424242;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.35277775" />
</g>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 25.2.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.0"
id="svg8104" inkscape:version="0.92.2 5c3e80d, 2017-08-06" sodipodi:docname="ADAT.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="29.52341px"
height="30.23832px" viewBox="0 0 29.52341 30.23832" enable-background="new 0 0 29.52341 30.23832" xml:space="preserve">
<sodipodi:namedview bordercolor="#666666" borderopacity="1.0" fit-margin-bottom="0" fit-margin-left="0" fit-margin-right="0" fit-margin-top="0" id="base" inkscape:current-layer="layer1" inkscape:cx="171.96332" inkscape:cy="-12.111977" inkscape:document-units="mm" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:window-height="882" inkscape:window-maximized="0" inkscape:window-width="1600" inkscape:window-x="0" inkscape:window-y="18" inkscape:zoom="1.979899" pagecolor="#ffffff" showgrid="false">
</sodipodi:namedview>
<rect x="-0.00002" y="2.14538" transform="matrix(-1 -1.224647e-16 1.224647e-16 -1 29.5234 30.23845)" fill="#171717" width="29.52343" height="25.9477"/>
<g>
<path fill="#424242" d="M29.52343,1.87703v1.84333h-4.35236h-2.57196H12.18548l-2.0036,2.21631H7.20391L3.37499,9.5923v11.02661
l3.82892,3.8092h2.97797l2.0036,2.04797h10.41363h2.57196h4.35236v1.8852c0,1.03664-0.84036,1.87701-1.87701,1.87701H1.877
c-1.03664,0-1.87701-0.84036-1.87701-1.87701V1.87703c0-1.03664,0.84037-1.87701,1.87701-1.87701h25.76942
C28.68306,0.00002,29.52343,0.84038,29.52343,1.87703z"/>
</g>
<g>
<path fill="#595959" d="M-0.00001,28.36135V1.87697c0-1.03662,0.84039-1.87695,1.87701-1.87695l0,0h25.76941
c1.03662,0,1.87701,0.84033,1.87701,1.87695v1.84338h-0.75V1.87697c0-0.62146-0.50555-1.12695-1.12701-1.12695H1.877
c-0.62146,0-1.12701,0.50549-1.12701,1.12695v26.48438H-0.00001z"/>
</g>
<g>
<path fill="#595959" d="M3.37499,9.57753v11.02661l3.82892,3.82397h2.97797l2.0036,2.04797h17.33795v-0.5H12.3958l-2.0036-2.04797
H7.41082l-3.53583-3.53125V9.79201L3.37499,9.57753z"/>
</g>
<g>
<path fill="#303030" d="M3.87499,9.79201l3.52869-3.35535h3.00024l2.0036-2.21631h17.11591v-0.5H12.18548l0,0l-2.0036,2.21631
H7.20391L3.37499,9.57753L3.87499,9.79201z"/>
</g>
<path fill="#303030" d="M13.02678,24.49501l-1.41522-1.44666l-0.58832-0.60132h-0.84131H8.03161l-2.65662-2.6532v-9.33936
l-0.75-0.32178v0.32178v9.33936v0.31091l0.22003,0.21973l2.65662,2.6532l0.2196,0.21936h0.31036h2.15033h0.52582l0.36774,0.37585
l1.41516,1.44653l0.22064,0.22559l0,0h0.31549h10.14435h0.75v-0.75V5.7394v-0.75h-0.75v0.75v18.75562H13.02678"/>
<path fill="#595959" d="M23.92113,4.9894h-0.75H13.07354h-0.33301L12.5172,5.23647l-1.40802,1.55737l-0.37225,0.41174h-0.55499
H8.00304H7.70342L7.48626,7.412L4.8582,9.91091l-0.23322,0.2218l0.75,0.32178l2.62805-2.4989h2.17889H11.07l0.59552-0.65881
l1.40802-1.55737h10.09759L23.92113,4.9894z"/>
<path fill="#424242" d="M13.02678,24.49501l-1.41522-1.44666l-0.58832-0.60132h-0.84131H8.03161l-2.65662-2.6532v-9.33936
l2.62805-2.4989h2.17889H11.07l0.59552-0.65881l1.40802-1.55737h10.09759v18.75562H13.02678"/>
<path fill="#303030" d="M0.74999,28.36135c0,0.62146,0.50555,1.12695,1.12701,1.12695h25.76941
c0.62146,0,1.12701-0.50549,1.12701-1.12695v-1.88525h0.75v1.88525c0,1.03662-0.84039,1.87695-1.87701,1.87695H1.877
c-1.03662,0-1.87701-0.84033-1.87701-1.87695H0.74999z"/>
<path fill="#303030" d="M16.10545,18.75153H4.9367v-7.26865h11.16874c0.81114,0,1.4687,0.65756,1.4687,1.4687v4.33125
C17.57415,18.09397,16.91659,18.75153,16.10545,18.75153z"/>
</svg>

+ 52
- 397
res/ComponentLibrary/MIDI_DIN.svg View File

@@ -1,397 +1,52 @@
<?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:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="16.999479mm"
height="17.000858mm"
viewBox="0 0 16.999479 17.000858"
version="1.1"
id="svg8104"
inkscape:version="0.92.2 5c3e80d, 2017-08-06"
sodipodi:docname="MIDI_DIN.svg">
<defs
id="defs8098">
<linearGradient
inkscape:collect="always"
id="linearGradient1258">
<stop
style="stop-color:#545456;stop-opacity:1"
offset="0"
id="stop1254" />
<stop
style="stop-color:#333132;stop-opacity:1"
offset="1"
id="stop1256" />
</linearGradient>
<clipPath
id="clip306">
<path
d="m 1550,2365 h 44 v 44 h -44 z m 0,0"
id="path6964"
inkscape:connector-curvature="0" />
</clipPath>
<linearGradient
id="linear3"
gradientUnits="userSpaceOnUse"
x1="-0.0115906"
y1="0"
x2="0.985816"
y2="0"
gradientTransform="matrix(0,43.168976,-43.168976,0,1571.6138,2365.6624)">
<stop
offset="0"
style="stop-color:rgb(32.940674%,32.940674%,33.724976%);stop-opacity:1;"
id="stop6970" />
<stop
offset="0.03125"
style="stop-color:rgb(32.814026%,32.806396%,33.586121%);stop-opacity:1;"
id="stop6972" />
<stop
offset="0.046875"
style="stop-color:rgb(32.58667%,32.565308%,33.338928%);stop-opacity:1;"
id="stop6974" />
<stop
offset="0.0625"
style="stop-color:rgb(32.383728%,32.350159%,33.117676%);stop-opacity:1;"
id="stop6976" />
<stop
offset="0.078125"
style="stop-color:rgb(32.182312%,32.136536%,32.897949%);stop-opacity:1;"
id="stop6978" />
<stop
offset="0.09375"
style="stop-color:rgb(31.980896%,31.922913%,32.678223%);stop-opacity:1;"
id="stop6980" />
<stop
offset="0.109375"
style="stop-color:rgb(31.77948%,31.70929%,32.458496%);stop-opacity:1;"
id="stop6982" />
<stop
offset="0.125"
style="stop-color:rgb(31.578064%,31.495667%,32.23877%);stop-opacity:1;"
id="stop6984" />
<stop
offset="0.140625"
style="stop-color:rgb(31.376648%,31.280518%,32.017517%);stop-opacity:1;"
id="stop6986" />
<stop
offset="0.15625"
style="stop-color:rgb(31.173706%,31.066895%,31.797791%);stop-opacity:1;"
id="stop6988" />
<stop
offset="0.171875"
style="stop-color:rgb(30.97229%,30.853271%,31.578064%);stop-opacity:1;"
id="stop6990" />
<stop
offset="0.1875"
style="stop-color:rgb(30.770874%,30.639648%,31.358337%);stop-opacity:1;"
id="stop6992" />
<stop
offset="0.203125"
style="stop-color:rgb(30.569458%,30.426025%,31.138611%);stop-opacity:1;"
id="stop6994" />
<stop
offset="0.21875"
style="stop-color:rgb(30.368042%,30.212402%,30.917358%);stop-opacity:1;"
id="stop6996" />
<stop
offset="0.234375"
style="stop-color:rgb(30.166626%,29.997253%,30.697632%);stop-opacity:1;"
id="stop6998" />
<stop
offset="0.25"
style="stop-color:rgb(29.963684%,29.78363%,30.477905%);stop-opacity:1;"
id="stop7000" />
<stop
offset="0.265625"
style="stop-color:rgb(29.762268%,29.570007%,30.258179%);stop-opacity:1;"
id="stop7002" />
<stop
offset="0.28125"
style="stop-color:rgb(29.560852%,29.356384%,30.038452%);stop-opacity:1;"
id="stop7004" />
<stop
offset="0.296875"
style="stop-color:rgb(29.359436%,29.142761%,29.8172%);stop-opacity:1;"
id="stop7006" />
<stop
offset="0.3125"
style="stop-color:rgb(29.15802%,28.927612%,29.597473%);stop-opacity:1;"
id="stop7008" />
<stop
offset="0.328125"
style="stop-color:rgb(28.955078%,28.713989%,29.377747%);stop-opacity:1;"
id="stop7010" />
<stop
offset="0.34375"
style="stop-color:rgb(28.753662%,28.500366%,29.15802%);stop-opacity:1;"
id="stop7012" />
<stop
offset="0.359375"
style="stop-color:rgb(28.552246%,28.286743%,28.938293%);stop-opacity:1;"
id="stop7014" />
<stop
offset="0.375"
style="stop-color:rgb(28.35083%,28.07312%,28.718567%);stop-opacity:1;"
id="stop7016" />
<stop
offset="0.390625"
style="stop-color:rgb(28.149414%,27.857971%,28.497314%);stop-opacity:1;"
id="stop7018" />
<stop
offset="0.40625"
style="stop-color:rgb(27.947998%,27.644348%,28.277588%);stop-opacity:1;"
id="stop7020" />
<stop
offset="0.421875"
style="stop-color:rgb(27.745056%,27.430725%,28.057861%);stop-opacity:1;"
id="stop7022" />
<stop
offset="0.4375"
style="stop-color:rgb(27.54364%,27.217102%,27.838135%);stop-opacity:1;"
id="stop7024" />
<stop
offset="0.453125"
style="stop-color:rgb(27.342224%,27.003479%,27.618408%);stop-opacity:1;"
id="stop7026" />
<stop
offset="0.46875"
style="stop-color:rgb(27.140808%,26.789856%,27.397156%);stop-opacity:1;"
id="stop7028" />
<stop
offset="0.484375"
style="stop-color:rgb(26.939392%,26.574707%,27.177429%);stop-opacity:1;"
id="stop7030" />
<stop
offset="0.5"
style="stop-color:rgb(26.737976%,26.361084%,26.957703%);stop-opacity:1;"
id="stop7032" />
<stop
offset="0.515625"
style="stop-color:rgb(26.535034%,26.147461%,26.737976%);stop-opacity:1;"
id="stop7034" />
<stop
offset="0.53125"
style="stop-color:rgb(26.333618%,25.933838%,26.51825%);stop-opacity:1;"
id="stop7036" />
<stop
offset="0.546875"
style="stop-color:rgb(26.132202%,25.720215%,26.296997%);stop-opacity:1;"
id="stop7038" />
<stop
offset="0.5625"
style="stop-color:rgb(25.930786%,25.505066%,26.077271%);stop-opacity:1;"
id="stop7040" />
<stop
offset="0.578125"
style="stop-color:rgb(25.72937%,25.291443%,25.857544%);stop-opacity:1;"
id="stop7042" />
<stop
offset="0.59375"
style="stop-color:rgb(25.527954%,25.07782%,25.637817%);stop-opacity:1;"
id="stop7044" />
<stop
offset="0.609375"
style="stop-color:rgb(25.325012%,24.864197%,25.418091%);stop-opacity:1;"
id="stop7046" />
<stop
offset="0.625"
style="stop-color:rgb(25.123596%,24.650574%,25.196838%);stop-opacity:1;"
id="stop7048" />
<stop
offset="0.640625"
style="stop-color:rgb(24.92218%,24.436951%,24.977112%);stop-opacity:1;"
id="stop7050" />
<stop
offset="0.65625"
style="stop-color:rgb(24.720764%,24.221802%,24.757385%);stop-opacity:1;"
id="stop7052" />
<stop
offset="0.671875"
style="stop-color:rgb(24.519348%,24.008179%,24.537659%);stop-opacity:1;"
id="stop7054" />
<stop
offset="0.6875"
style="stop-color:rgb(24.316406%,23.794556%,24.317932%);stop-opacity:1;"
id="stop7056" />
<stop
offset="0.703125"
style="stop-color:rgb(24.11499%,23.580933%,24.098206%);stop-opacity:1;"
id="stop7058" />
<stop
offset="0.71875"
style="stop-color:rgb(23.913574%,23.36731%,23.876953%);stop-opacity:1;"
id="stop7060" />
<stop
offset="0.734375"
style="stop-color:rgb(23.712158%,23.152161%,23.657227%);stop-opacity:1;"
id="stop7062" />
<stop
offset="0.75"
style="stop-color:rgb(23.510742%,22.938538%,23.4375%);stop-opacity:1;"
id="stop7064" />
<stop
offset="0.765625"
style="stop-color:rgb(23.309326%,22.724915%,23.217773%);stop-opacity:1;"
id="stop7066" />
<stop
offset="0.78125"
style="stop-color:rgb(23.106384%,22.511292%,22.998047%);stop-opacity:1;"
id="stop7068" />
<stop
offset="0.796875"
style="stop-color:rgb(22.904968%,22.297668%,22.776794%);stop-opacity:1;"
id="stop7070" />
<stop
offset="0.8125"
style="stop-color:rgb(22.703552%,22.084045%,22.557068%);stop-opacity:1;"
id="stop7072" />
<stop
offset="0.828125"
style="stop-color:rgb(22.502136%,21.868896%,22.337341%);stop-opacity:1;"
id="stop7074" />
<stop
offset="0.84375"
style="stop-color:rgb(22.30072%,21.655273%,22.117615%);stop-opacity:1;"
id="stop7076" />
<stop
offset="0.859375"
style="stop-color:rgb(22.099304%,21.44165%,21.897888%);stop-opacity:1;"
id="stop7078" />
<stop
offset="0.875"
style="stop-color:rgb(21.896362%,21.228027%,21.676636%);stop-opacity:1;"
id="stop7080" />
<stop
offset="0.890625"
style="stop-color:rgb(21.694946%,21.014404%,21.456909%);stop-opacity:1;"
id="stop7082" />
<stop
offset="0.90625"
style="stop-color:rgb(21.49353%,20.799255%,21.237183%);stop-opacity:1;"
id="stop7084" />
<stop
offset="0.921875"
style="stop-color:rgb(21.292114%,20.585632%,21.017456%);stop-opacity:1;"
id="stop7086" />
<stop
offset="0.9375"
style="stop-color:rgb(21.090698%,20.372009%,20.797729%);stop-opacity:1;"
id="stop7088" />
<stop
offset="0.953125"
style="stop-color:rgb(20.889282%,20.158386%,20.576477%);stop-opacity:1;"
id="stop7090" />
<stop
offset="0.96875"
style="stop-color:rgb(20.68634%,19.944763%,20.35675%);stop-opacity:1;"
id="stop7092" />
<stop
offset="0.984375"
style="stop-color:rgb(20.484924%,19.729614%,20.137024%);stop-opacity:1;"
id="stop7094" />
<stop
offset="1"
style="stop-color:rgb(20.283508%,19.515991%,19.917297%);stop-opacity:1;"
id="stop7096" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient1258"
id="linearGradient1260"
x1="97.483007"
y1="102.72024"
x2="112.67175"
y2="102.72024"
gradientUnits="userSpaceOnUse"
gradientTransform="rotate(90,105.07738,102.72024)" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="5.6"
inkscape:cx="27.755372"
inkscape:cy="6.7266123"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="1600"
inkscape:window-height="900"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0" />
<metadata
id="metadata8101">
<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"
transform="translate(-96.577641,-94.219811)">
<path
inkscape:connector-curvature="0"
id="path10029"
d="m 96.577641,102.72091 c 0,4.6936 3.804779,8.49976 8.499759,8.49976 4.69498,0 8.49972,-3.80616 8.49972,-8.49976 0,-4.69498 -3.80474,-8.501099 -8.49972,-8.501099 -4.69498,0 -8.499759,3.806119 -8.499759,8.501099"
style="fill:#050707;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.35277775" />
<path
inkscape:connector-curvature="0"
id="path6967"
d="m 105.07671,95.125869 c -4.19336,0 -7.594391,3.399651 -7.594391,7.594391 0,4.19473 3.401031,7.59435 7.594391,7.59435 4.19474,0 7.59573,-3.39962 7.59573,-7.59435 0,-4.19474 -3.40099,-7.594391 -7.59573,-7.594391"
style="fill:url(#linearGradient1260);fill-opacity:1;stroke-width:0.35277778" />
<path
inkscape:connector-curvature="0"
id="path10037"
d="m 106.17016,98.225744 c 0,0.657331 -0.53192,1.189249 -1.18925,1.189249 -0.65592,0 -1.18921,-0.531918 -1.18921,-1.189249 0,-0.657331 0.53329,-1.189249 1.18921,-1.189249 0.65733,0 1.18925,0.531918 1.18925,1.189249"
style="fill:#050707;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.35277775" />
<path
inkscape:connector-curvature="0"
id="path10039"
d="m 102.83394,99.691994 c 0,0.657326 -0.53191,1.189246 -1.18925,1.189246 -0.65595,0 -1.18924,-0.53192 -1.18924,-1.189246 0,-0.655955 0.53329,-1.189249 1.18924,-1.189249 0.65734,0 1.18925,0.533294 1.18925,1.189249"
style="fill:#050707;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.35277775" />
<path
inkscape:connector-curvature="0"
id="path10041"
d="m 109.33416,99.691994 c 0,0.657326 -0.53192,1.189246 -1.18925,1.189246 -0.65733,0 -1.18925,-0.53192 -1.18925,-1.189246 0,-0.655955 0.53192,-1.189249 1.18925,-1.189249 0.65733,0 1.18925,0.533294 1.18925,1.189249"
style="fill:#050707;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.35277775" />
<path
inkscape:connector-curvature="0"
id="path10043"
d="m 110.54133,102.72641 c 0,0.65596 -0.53192,1.18925 -1.18925,1.18925 -0.65596,0 -1.18925,-0.53329 -1.18925,-1.18925 0,-0.65729 0.53329,-1.18925 1.18925,-1.18925 0.65733,0 1.18925,0.53196 1.18925,1.18925"
style="fill:#050707;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.35277775" />
<path
inkscape:connector-curvature="0"
id="path10045"
d="m 101.79903,102.72641 c 0,0.65596 -0.53191,1.18925 -1.18924,1.18925 -0.655959,0 -1.189254,-0.53329 -1.189254,-1.18925 0,-0.65729 0.533295,-1.18925 1.189254,-1.18925 0.65733,0 1.18924,0.53196 1.18924,1.18925"
style="fill:#050707;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.35277775" />
<path
inkscape:connector-curvature="0"
id="path10047"
d="m 106.54778,109.2473 h -2.94076 v 1.28294 h 2.94076 z m 0,0"
style="fill:#050707;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.35277775" />
</g>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 25.2.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.0"
id="svg8104" inkscape:version="0.92.2 5c3e80d, 2017-08-06" sodipodi:docname="MIDI_DIN.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="48.1875px"
height="48.19141px" viewBox="0 0 48.1875 48.19141" enable-background="new 0 0 48.1875 48.19141" xml:space="preserve">
<sodipodi:namedview bordercolor="#666666" borderopacity="1.0" fit-margin-bottom="0" fit-margin-left="0" fit-margin-right="0" fit-margin-top="0" id="base" inkscape:current-layer="layer1" inkscape:cx="27.755372" inkscape:cy="6.7266123" inkscape:document-units="mm" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:window-height="900" inkscape:window-maximized="0" inkscape:window-width="1600" inkscape:window-x="0" inkscape:window-y="0" inkscape:zoom="5.6" pagecolor="#ffffff" showgrid="false">
</sodipodi:namedview>
<circle cx="24.09381" cy="24.0957" r="24.09375"/>
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="535.78632" y1="708.08118" x2="581.75507" y2="708.08118" gradientTransform="matrix(0 1 -1 0 732.17499 -534.67499)">
<stop offset="0" style="stop-color:#FFFEFE"/>
<stop offset="1" style="stop-color:#706C6C"/>
</linearGradient>
<circle fill="url(#SVGID_1_)" cx="24.09381" cy="24.0957" r="22.98437"/>
<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="-3023.36353" y1="3237.2439" x2="-2979.32788" y2="3237.2439" gradientTransform="matrix(0 -1 1 0 -3213.1499 -2977.25)">
<stop offset="0" style="stop-color:#FFFEFE"/>
<stop offset="1" style="stop-color:#706C6C"/>
</linearGradient>
<circle fill="url(#SVGID_2_)" cx="24.09381" cy="24.0957" r="22.01785"/>
<circle cx="24.09381" cy="24.0957" r="21.01522"/>
<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="334.95316" y1="-3077.63672" x2="372.46484" y2="-3077.63672" gradientTransform="matrix(0 1 -1 0 -3053.54297 -329.61331)">
<stop offset="0" style="stop-color:#646466"/>
<stop offset="1" style="stop-color:#1C1B1B"/>
</linearGradient>
<circle fill="url(#SVGID_3_)" cx="24.09381" cy="24.0957" r="18.75585"/>
<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="335.96567" y1="-3077.63672" x2="371.45236" y2="-3077.63672" gradientTransform="matrix(0 1 -1 0 -3053.54297 -329.61331)">
<stop offset="0" style="stop-color:#545456"/>
<stop offset="1" style="stop-color:#333132"/>
</linearGradient>
<circle fill="url(#SVGID_4_)" cx="24.09381" cy="24.0957" r="17.74335"/>
<circle cx="31.97177" cy="15.50062" r="2.20251"/>
<path d="M34.48496,11.43215l-0.24639-0.14225c-0.35219-0.20334-0.80254-0.08267-1.00588,0.26953l-4.04364,7.00378
c-0.20334,0.35219-0.08267,0.80254,0.26953,1.00588l0.24639,0.14225c0.35219,0.20334,0.80254,0.08267,1.00588-0.26953
l4.04364-7.00378C34.95782,12.08584,34.83715,11.63549,34.48496,11.43215z"/>
<circle cx="35.72365" cy="23.85024" r="2.20251"/>
<path d="M40.03683,21.78504l-0.13044-0.25283c-0.18646-0.36141-0.6306-0.50324-0.99202-0.31678l-7.18712,3.70799
c-0.36141,0.18646-0.50324,0.6306-0.31678,0.99202l0.13044,0.25283c0.18646,0.36141,0.6306,0.50324,0.99201,0.31678l7.18713-3.708
C40.08147,22.59059,40.22329,22.14645,40.03683,21.78504z"/>
<circle cx="16.21584" cy="15.50062" r="2.20251"/>
<path d="M13.70265,11.43215l0.24638-0.14225c0.35219-0.20334,0.80254-0.08267,1.00588,0.26953l4.04364,7.00378
c0.20334,0.35219,0.08267,0.80254-0.26953,1.00588l-0.24639,0.14225c-0.35219,0.20334-0.80254,0.08267-1.00588-0.26953
l-4.04364-7.00378C13.22979,12.08584,13.35046,11.63549,13.70265,11.43215z"/>
<circle cx="12.46396" cy="23.85024" r="2.20251"/>
<path d="M8.15078,21.78504l0.13044-0.25283c0.18646-0.36141,0.6306-0.50324,0.99201-0.31678l7.18712,3.708
c0.36141,0.18646,0.50324,0.6306,0.31678,0.99202l-0.13044,0.25283c-0.18646,0.36141-0.6306,0.50324-0.99201,0.31678l-7.18712-3.708
C8.10614,22.59059,7.96432,22.14645,8.15078,21.78504z"/>
<rect x="19.5142" y="38.48008" fill="#262525" width="9.15921" height="3.78298"/>
<rect x="20.38675" y="39.47383" width="7.4141" height="4.05"/>
<circle cx="24.09381" cy="12.42662" r="2.20251"/>
<path d="M23.95156,7.64663h0.2845c0.40668,0,0.73636,0.32968,0.73636,0.73636v8.08727c0,0.40668-0.32968,0.73636-0.73636,0.73636
h-0.2845c-0.40668,0-0.73636-0.32968-0.73636-0.73636V8.38299C23.2152,7.97631,23.54488,7.64663,23.95156,7.64663z"/>
</svg>

+ 43
- 66
res/ComponentLibrary/PB61303.svg View File

@@ -1,66 +1,43 @@
<?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="10.000438mm"
height="10.000403mm"
viewBox="0 0 10.000438 10.000403"
version="1.1"
id="svg27765"
inkscape:version="0.92.2 5c3e80d, 2017-08-06"
sodipodi:docname="PB61303.svg">
<defs
id="defs27759" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.8"
inkscape:cx="-41.967543"
inkscape:cy="-16.198567"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="2560"
inkscape:window-height="1422"
inkscape:window-x="0"
inkscape:window-y="18"
inkscape:window-maximized="0" />
<metadata
id="metadata27762">
<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"
transform="translate(-52.452162,-82.600989)">
<path
inkscape:connector-curvature="0"
style="fill:#211e1e;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.35277775"
d="m 62.4526,87.601896 c 0,2.760204 -2.239327,4.999496 -4.999531,4.999496 -2.76158,0 -5.000907,-2.239292 -5.000907,-4.999496 0,-2.761615 2.239327,-5.000907 5.000907,-5.000907 2.760204,0 4.999531,2.239292 4.999531,5.000907"
id="path26168" />
</g>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 25.2.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.0"
id="svg27765" sodipodi:docname="PB61303.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="28.3477px"
height="28.3476px" viewBox="0 0 28.3477 28.3476" enable-background="new 0 0 28.3477 28.3476" xml:space="preserve">
<sodipodi:namedview bordercolor="#666666" borderopacity="1.0" fit-margin-bottom="0" fit-margin-left="0" fit-margin-right="0" fit-margin-top="0" id="base" inkscape:current-layer="layer1" inkscape:cx="-41.967543" inkscape:cy="-16.198567" inkscape:document-units="mm" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:window-height="1422" inkscape:window-maximized="0" inkscape:window-width="2560" inkscape:window-x="0" inkscape:window-y="18" inkscape:zoom="2.8" pagecolor="#ffffff" showgrid="false">
</sodipodi:namedview>
<g id="g5959-5_79_" transform="translate(301.93513,1189.951)">
<linearGradient id="path5961-3_1_" gradientUnits="userSpaceOnUse" x1="-591.36548" y1="-2196.55908" x2="-563.01782" y2="-2196.55908" gradientTransform="matrix(-3.267949e-07 1 -1 -3.267949e-07 -2484.32056 -598.5863)">
<stop offset="0" style="stop-color:#787878"/>
<stop offset="1" style="stop-color:#474747"/>
</linearGradient>
<path id="path5961-3_85_" inkscape:connector-curvature="0" fill="url(#path5961-3_1_)" d="M-301.93512-1175.77832
c0-7.82739,6.3476-14.17273,14.1749-14.17273c7.82623,0,14.17282,6.34534,14.17279,14.17273
c0,7.83057-6.34656,14.17493-14.17279,14.17493C-295.58752-1161.60339-301.93512-1167.94775-301.93512-1175.77832"/>
</g>
<g opacity="0.21">
<g id="g5959-5_78_" transform="translate(301.93513,1189.951)">
<linearGradient id="path5961-3_2_" gradientUnits="userSpaceOnUse" x1="-301.67114" y1="-1116.00842" x2="-276.02951" y2="-1116.00842" gradientTransform="matrix(-6.535898e-07 -1 1 -6.535898e-07 828.24695 -1464.6283)">
<stop offset="0.00559" style="stop-color:#6B6B6B"/>
<stop offset="1" style="stop-color:#DEDEDE"/>
</linearGradient>
<path id="path5961-3_84_" inkscape:connector-curvature="0" fill="url(#path5961-3_2_)" d="M-287.76224-1162.95642
c-7.08017,0-12.81985-5.7417-12.81985-12.82178c0-7.0791,5.73965-12.81982,12.81985-12.81982
c7.08304,0,12.82178,5.74072,12.82178,12.81982C-274.94046-1168.69812-280.6792-1162.95642-287.76224-1162.95642"/>
</g>
</g>
<g>
<g id="g5959-5_77_" transform="translate(301.93513,1189.951)">
<linearGradient id="path5961-3_3_" gradientUnits="userSpaceOnUse" x1="-300.76398" y1="-1116.00842" x2="-276.93668" y2="-1116.00842" gradientTransform="matrix(-6.535898e-07 -1 1 -6.535898e-07 828.24695 -1464.6283)">
<stop offset="0.00559" style="stop-color:#5B5B5B"/>
<stop offset="1" style="stop-color:#6C6C6C"/>
</linearGradient>
<path id="path5961-3_83_" inkscape:connector-curvature="0" fill="url(#path5961-3_3_)" d="M-287.76215-1163.86365
c-6.57922,0-11.91281-5.33533-11.91281-11.91443c0-6.57837,5.33356-11.91284,11.91278-11.91284
c6.58188,0,11.91455,5.33447,11.91455,11.91272C-275.84763-1169.19897-281.1803-1163.86365-287.76215-1163.86365"/>
</g>
</g>
</svg>

+ 501
- 620
res/ComponentLibrary/RackBusboard.svg
File diff suppressed because it is too large
View File


+ 39
- 0
res/ComponentLibrary/RackRails.svg View File

@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 25.2.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.0"
id="svg57823" inkscape:version="0.92.4 5da689c313, 2019-01-14" sodipodi:docname="RackBusboard.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="380px"
viewBox="0 0 15 380" enable-background="new 0 0 15 380" xml:space="preserve">
<sodipodi:namedview bordercolor="#666666" borderopacity="1" gridtolerance="10" guidetolerance="10" id="namedview57825" inkscape:current-layer="svg57823" inkscape:cx="224.97394" inkscape:cy="45.320028" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-height="882" inkscape:window-maximized="0" inkscape:window-width="1600" inkscape:window-x="0" inkscape:window-y="18" inkscape:zoom="2.2083333" objecttolerance="10" pagecolor="#ffffff" showgrid="false">
</sodipodi:namedview>
<g>
<defs>
<rect id="SVGID_1_" width="15" height="380"/>
</defs>
<clipPath id="SVGID_2_">
<use xlink:href="#SVGID_1_" overflow="visible"/>
</clipPath>
<g id="XMLID_7_" clip-path="url(#SVGID_2_)">
<g>
<rect fill="#DEDEDE" width="15" height="14.93071"/>
<rect y="1.65063" fill="#9D9FA2" width="15" height="13.28008"/>
<rect y="1.20045" fill="#C9C9C9" width="15" height="12.52979"/>
<rect y="2.85109" fill="#7E8082" width="15" height="9.22853"/>
<rect y="4.12659" fill="#DEDEDE" width="15" height="7.95303"/>
<rect y="3.82646" fill="#ADADAD" width="15" height="7.27779"/>
<rect y="3.82646" opacity="0.15" enable-background="new " width="15" height="1.87572"/>
</g>
<g>
<rect y="365.06927" fill="#DEDEDE" width="15" height="14.93071"/>
<rect y="366.71991" fill="#9D9FA2" width="15" height="13.28008"/>
<rect y="366.26978" fill="#C9C9C9" width="15" height="12.52979"/>
<rect y="367.92038" fill="#7E8082" width="15" height="9.22853"/>
<rect y="369.19586" fill="#DEDEDE" width="15" height="7.95303"/>
<rect y="368.89575" fill="#ADADAD" width="15" height="7.27779"/>
<rect y="368.89575" opacity="0.15" enable-background="new " width="15" height="1.87572"/>
</g>
<circle fill="#303030" cx="7.5" cy="7.70148" r="3.3375"/>
<circle fill="#303030" cx="7.5" cy="372.63129" r="3.3375"/>
</g>
</g>
</svg>

+ 36
- 82
res/ComponentLibrary/ScrewBlack.svg View File

@@ -1,82 +1,36 @@
<?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="15"
height="14.998887"
viewBox="0 0 3.9687499 3.9684557"
version="1.1"
id="svg18800"
inkscape:version="0.92.2 5c3e80d, 2017-08-06"
sodipodi:docname="ScrewBlack.svg">
<defs
id="defs18794" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="7.9195959"
inkscape:cx="-60.109471"
inkscape:cy="1.4049767"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="2560"
inkscape:window-height="1422"
inkscape:window-x="0"
inkscape:window-y="18"
inkscape:window-maximized="0"
units="px" />
<metadata
id="metadata18797">
<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"
transform="translate(-27.124952,-67.361781)">
<g
transform="matrix(0.24933249,0,0,-0.24933204,-95.930917,228.38656)"
id="g18785"
style="stroke-width:1.41489017">
<path
d="m 501.5,631.5 c -3.511,0 -6.367,2.855 -6.367,6.366 0,3.511 2.856,6.367 6.367,6.367 3.511,0 6.367,-2.856 6.367,-6.367 0,-3.511 -2.856,-6.366 -6.367,-6.366"
style="fill:#4c4c4c;fill-opacity:1;fill-rule:nonzero;stroke:#222222;stroke-width:1.0611676;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path6825"
inkscape:connector-curvature="0" />
<path
inkscape:connector-curvature="0"
id="path6839"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.41489017"
d="m 502.281,633.741 h -1.562 v 8.25 h 1.562 z" />
<path
inkscape:connector-curvature="0"
id="path6841"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.41489017"
d="m 505.625,637.085 h -8.25 v 1.562 h 8.25 z" />
</g>
</g>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 25.2.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.0"
id="svg18800" inkscape:version="0.92.2 5c3e80d, 2017-08-06" sodipodi:docname="ScrewBlack.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="14.99889px"
viewBox="0 0 15 14.99889" enable-background="new 0 0 15 14.99889" xml:space="preserve">
<sodipodi:namedview bordercolor="#666666" borderopacity="1.0" fit-margin-bottom="0" fit-margin-left="0" fit-margin-right="0" fit-margin-top="0" id="base" inkscape:current-layer="layer1" inkscape:cx="-60.109471" inkscape:cy="1.4049767" inkscape:document-units="mm" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:window-height="1422" inkscape:window-maximized="0" inkscape:window-width="2560" inkscape:window-x="0" inkscape:window-y="18" inkscape:zoom="7.9195959" pagecolor="#ffffff" showgrid="false" units="px">
</sodipodi:namedview>
<g>
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="518.99988" y1="-5410.3999" x2="531.99988" y2="-5410.3999" gradientTransform="matrix(0 1 -1 0 -5402.8999 -518)">
<stop offset="0.00559" style="stop-color:#303030"/>
<stop offset="1" style="stop-color:#222222"/>
</linearGradient>
<circle fill="url(#SVGID_1_)" cx="7.5" cy="7.4999" r="6.5"/>
<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="519.68744" y1="-5410.3999" x2="531.31134" y2="-5410.3999" gradientTransform="matrix(0 1 -1 0 -5402.8999 -518)">
<stop offset="0.01118" style="stop-color:#636363"/>
<stop offset="1" style="stop-color:#2B2B2B"/>
</linearGradient>
<circle fill="url(#SVGID_2_)" cx="7.5" cy="7.49937" r="5.81194"/>
<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="520.13452" y1="-5410.3999" x2="530.86426" y2="-5410.3999" gradientTransform="matrix(0 1 -1 0 -5402.8999 -518)">
<stop offset="0.01118" style="stop-color:#4C4C4C"/>
<stop offset="1" style="stop-color:#3B3B3B"/>
</linearGradient>
<circle fill="url(#SVGID_3_)" cx="7.5" cy="7.49937" r="5.36487"/>
<path fill="#171717" d="M10.96888,6.81044L9.00527,6.57518c-0.30143-0.03611-0.53902-0.2738-0.57501-0.57525L8.19598,4.03765
c-0.01021-0.08553-0.08276-0.14993-0.1689-0.14993H6.97294c-0.08613,0-0.15867,0.06438-0.16889,0.1499L6.5692,6.00102
C6.53314,6.30251,6.29544,6.54016,5.99394,6.57616L4.03118,6.81049C3.94565,6.8207,3.88125,6.89325,3.88125,6.97939v1.0542
c0,0.08613,0.06438,0.15866,0.1499,0.16889l1.96299,0.2348C6.29557,8.47333,6.5332,8.71096,6.56925,9.0124l0.23479,1.96293
c0.01023,0.08552,0.08277,0.1499,0.16889,0.1499h1.0542c0.08612,0,0.15865-0.06436,0.16889-0.14986l0.23521-1.96318
c0.03611-0.30139,0.27372-0.53895,0.57512-0.575l1.96249-0.2347c0.08552-0.01023,0.1499-0.08276,0.1499-0.16889V6.97933
C11.11875,6.89321,11.05439,6.82068,10.96888,6.81044z"/>
</g>
</svg>

+ 17
- 51
res/ComponentLibrary/ScrewSilver.svg View File

@@ -6,62 +6,28 @@
viewBox="0 0 15 14.9989" enable-background="new 0 0 15 14.9989" xml:space="preserve">
<sodipodi:namedview bordercolor="#666666" borderopacity="1.0" fit-margin-bottom="0" fit-margin-left="0" fit-margin-right="0" fit-margin-top="0" id="base" inkscape:current-layer="layer1" inkscape:cx="-8.3295854" inkscape:cy="6.1745754" inkscape:document-units="mm" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:window-height="1422" inkscape:window-maximized="0" inkscape:window-width="2560" inkscape:window-x="0" inkscape:window-y="18" inkscape:zoom="15.839192" pagecolor="#ffffff" showgrid="false" units="px">
</sodipodi:namedview>
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="818" y1="5127.3999" x2="831" y2="5127.3999" gradientTransform="matrix(6.123234e-17 1 1 -6.123234e-17 -5119.8999 -817)">
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="219.99944" y1="6477.3999" x2="232.99944" y2="6477.3999" gradientTransform="matrix(6.123234e-17 1 1 -6.123234e-17 -6469.8999 -219)">
<stop offset="0" style="stop-color:#ABA9A9"/>
<stop offset="1" style="stop-color:#8F8F8F"/>
</linearGradient>
<circle fill="url(#SVGID_1_)" cx="7.5" cy="7.49997" r="6.5"/>
<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="818.64996" y1="5127.3999" x2="830.34998" y2="5127.3999" gradientTransform="matrix(6.123234e-17 1 1 -6.123234e-17 -5119.8999 -817)">
<stop offset="0.00559" style="stop-color:#EBEBEB"/>
<stop offset="1" style="stop-color:#ADADAD"/>
<circle fill="url(#SVGID_1_)" cx="7.5" cy="7.49944" r="6.5"/>
<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="220.68697" y1="6477.3999" x2="232.31085" y2="6477.3999" gradientTransform="matrix(6.123234e-17 1 1 -6.123234e-17 -6469.8999 -219)">
<stop offset="0.00559" style="stop-color:#F5F5F5"/>
<stop offset="1" style="stop-color:#C2C2C2"/>
</linearGradient>
<circle fill="url(#SVGID_2_)" cx="7.5" cy="7.49997" r="5.85"/>
<path fill="#727272" d="M10.35609,7.104h-1.0441c-0.78234,0-1.41654-0.63421-1.41654-1.41655v-1.0441
c0-0.19672-0.15955-0.35626-0.35626-0.35626H7.46082c-0.19672,0-0.35626,0.15955-0.35626,0.35626v1.0441
c0,0.78234-0.63421,1.41655-1.41655,1.41655h-1.0441c-0.19672,0-0.35626,0.15955-0.35626,0.35626v0.07837
c0,0.19672,0.15955,0.35626,0.35626,0.35626h1.0441c0.78234,0,1.41655,0.63421,1.41655,1.41654v1.0441
c0,0.19672,0.15955,0.35626,0.35626,0.35626h0.07837c0.19672,0,0.35626-0.15955,0.35626-0.35626v-1.0441
c0-0.78234,0.63421-1.41654,1.41654-1.41654h1.0441c0.19672,0,0.35626-0.15955,0.35626-0.35626V7.46027
C10.71236,7.26355,10.55281,7.104,10.35609,7.104z"/>
<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="7.5" y1="4.2636" x2="7.5" y2="12.7375" gradientTransform="matrix(1 0 0 -1 0 16)">
<stop offset="0" style="stop-color:#E3E3E3"/>
<stop offset="1" style="stop-color:#A3A3A3"/>
<circle fill="url(#SVGID_2_)" cx="7.5" cy="7.49891" r="5.81194"/>
<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="221.13403" y1="6477.3999" x2="231.86378" y2="6477.3999" gradientTransform="matrix(6.123234e-17 1 1 -6.123234e-17 -6469.8999 -219)">
<stop offset="0.00559" style="stop-color:#EBEBEB"/>
<stop offset="1" style="stop-color:#CCCCCC"/>
</linearGradient>
<path fill="url(#SVGID_3_)" d="M7.5,3.2625c-0.76067,0-1.37952,0.61885-1.37952,1.37952v0.19592
c0,0.70802-0.57397,1.28199-1.28199,1.28199H4.64257c-0.76067,0-1.37952,0.61885-1.37952,1.37952S3.8819,8.87897,4.64257,8.87897
h0.19592c0.70802,0,1.28199,0.57397,1.28199,1.28199v0.19592c0,0.76067,0.61885,1.37952,1.37952,1.37952
s1.37952-0.61885,1.37952-1.37952v-0.19592c0-0.70802,0.57397-1.28199,1.28199-1.28199h0.19592
c0.76068,0,1.37952-0.61885,1.37952-1.37952s-0.61885-1.37952-1.37952-1.37952h-0.19592c-0.70802,0-1.28199-0.57397-1.28199-1.28199
V4.64202C8.87952,3.88135,8.26068,3.2625,7.5,3.2625L7.5,3.2625z"/>
<path fill="#737373" d="M10.49234,6.8006H9.34748c-0.63437,0-1.14863-0.51426-1.14863-1.14863V4.50711
c0-0.38596-0.31289-0.69885-0.69885-0.69885l0,0c-0.38596,0-0.69885,0.31289-0.69885,0.69885v1.14486
c0,0.63437-0.51426,1.14863-1.14863,1.14863H4.50766c-0.38596,0-0.69885,0.31289-0.69885,0.69885l0,0
c0,0.38596,0.31289,0.69885,0.69885,0.69885h1.14486c0.63437,0,1.14863,0.51426,1.14863,1.14863v1.14486
c0,0.38596,0.31289,0.69885,0.69885,0.69885l0,0c0.38596,0,0.69885-0.31289,0.69885-0.69885V9.34693
c0-0.63437,0.51426-1.14863,1.14863-1.14863h1.14486c0.38596,0,0.69885-0.31289,0.69885-0.69885l0,0
C11.19119,7.11349,10.8783,6.8006,10.49234,6.8006z"/>
<circle fill="url(#SVGID_3_)" cx="7.5" cy="7.49891" r="5.36487"/>
<g>
<g>
<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="7.5" y1="5.83904" x2="7.5" y2="11.16206" gradientTransform="matrix(1 0 0 -1 0 16)">
<stop offset="0" style="stop-color:#D4D4D4"/>
<stop offset="1" style="stop-color:#BFBFBF"/>
</linearGradient>
<path fill="url(#SVGID_4_)" d="M6.12048,4.83794c0,0.70802-0.57397,1.28199-1.28199,1.28199H4.64257
c-0.76067,0-1.37952,0.61885-1.37952,1.37952S3.8819,8.87897,4.64257,8.87897h0.19592c0.70802,0,1.28199,0.57397,1.28199,1.28199
h2.75904c0-0.70802,0.57397-1.28199,1.28199-1.28199h0.19592c0.76068,0,1.37952-0.61885,1.37952-1.37952
s-0.61885-1.37952-1.37952-1.37952h-0.19592c-0.70802,0-1.28199-0.57397-1.28199-1.28199H6.12048z"/>
<path fill="#D4D4D4" d="M6.12048,10.16096v0.19592c0,0.76067,0.61885,1.37952,1.37952,1.37952s1.37952-0.61885,1.37952-1.37952
v-0.19592"/>
<path fill="#BFBFBF" d="M8.87952,4.83794V4.64202c0-0.76068-0.61885-1.37952-1.37952-1.37952l0,0
c-0.76067,0-1.37952,0.61885-1.37952,1.37952v0.19592"/>
</g>
<path fill="#8C8C8C" d="M10.49234,6.8006H9.34748c-0.63437,0-1.14863-0.51426-1.14863-1.14863V4.50711
c0-0.38596-0.31289-0.69885-0.69885-0.69885l0,0c-0.38596,0-0.69885,0.31289-0.69885,0.69885v1.14486
c0,0.63437-0.51426,1.14863-1.14863,1.14863H4.50766c-0.38596,0-0.69885,0.31289-0.69885,0.69885l0,0
c0,0.38596,0.31289,0.69885,0.69885,0.69885h1.14486c0.63437,0,1.14863,0.51426,1.14863,1.14863v1.14486
c0,0.38596,0.31289,0.69885,0.69885,0.69885l0,0c0.38596,0,0.69885-0.31289,0.69885-0.69885V9.34693
c0-0.63437,0.51426-1.14863,1.14863-1.14863h1.14486c0.38596,0,0.69885-0.31289,0.69885-0.69885l0,0
C11.19119,7.11349,10.8783,6.8006,10.49234,6.8006z"/>
<path fill="#8C8C8C" d="M10.96889,6.80997L9.00528,6.57471C8.70384,6.5386,8.46626,6.30092,8.43027,5.99947L8.19598,4.03719
c-0.01021-0.08553-0.08276-0.14993-0.1689-0.14993H6.97294c-0.08613,0-0.15867,0.06438-0.16889,0.1499l-0.23484,1.9634
C6.53315,6.30204,6.29544,6.5397,5.99394,6.57569L4.03118,6.81003c-0.08554,0.01021-0.14993,0.08276-0.14993,0.1689v1.0542
c0,0.08613,0.06438,0.15866,0.1499,0.16889l1.96299,0.2348C6.29557,8.47287,6.5332,8.7105,6.56925,9.01193l0.23479,1.96293
c0.01023,0.08552,0.08277,0.1499,0.16889,0.1499h1.0542c0.08612,0,0.15865-0.06436,0.16889-0.14986l0.23521-1.96318
c0.03611-0.30139,0.27372-0.53895,0.57512-0.57499l1.96249-0.2347c0.08552-0.01023,0.1499-0.08276,0.1499-0.16889V6.97886
C11.11875,6.89275,11.05439,6.82022,10.96889,6.80997z"/>
</g>
</svg>

+ 58
- 376
res/ComponentLibrary/USB-B.svg View File

@@ -1,376 +1,58 @@
<?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="10.90027mm"
height="12.199803mm"
viewBox="0 0 10.90027 12.199803"
version="1.1"
id="svg8104"
inkscape:version="0.92.2 5c3e80d, 2017-08-06"
sodipodi:docname="USB-B.svg">
<defs
id="defs8098">
<clipPath
id="clip306">
<path
d="m 1550,2365 h 44 v 44 h -44 z m 0,0"
id="path6964"
inkscape:connector-curvature="0" />
</clipPath>
<clipPath
id="clip307">
<path
d="m 1550.0859,2386.6914 c 0,11.8867 9.6368,21.5274 21.5274,21.5274 11.8906,0 21.5273,-9.6407 21.5273,-21.5274 0,-11.8906 -9.6367,-21.5312 -21.5273,-21.5312 -11.8906,0 -21.5274,9.6406 -21.5274,21.5312"
id="path6967"
inkscape:connector-curvature="0" />
</clipPath>
<linearGradient
id="linear3"
gradientUnits="userSpaceOnUse"
x1="-0.0115906"
y1="0"
x2="0.985816"
y2="0"
gradientTransform="matrix(0,43.168976,-43.168976,0,1571.6138,2365.6624)">
<stop
offset="0"
style="stop-color:rgb(32.940674%,32.940674%,33.724976%);stop-opacity:1;"
id="stop6970" />
<stop
offset="0.03125"
style="stop-color:rgb(32.814026%,32.806396%,33.586121%);stop-opacity:1;"
id="stop6972" />
<stop
offset="0.046875"
style="stop-color:rgb(32.58667%,32.565308%,33.338928%);stop-opacity:1;"
id="stop6974" />
<stop
offset="0.0625"
style="stop-color:rgb(32.383728%,32.350159%,33.117676%);stop-opacity:1;"
id="stop6976" />
<stop
offset="0.078125"
style="stop-color:rgb(32.182312%,32.136536%,32.897949%);stop-opacity:1;"
id="stop6978" />
<stop
offset="0.09375"
style="stop-color:rgb(31.980896%,31.922913%,32.678223%);stop-opacity:1;"
id="stop6980" />
<stop
offset="0.109375"
style="stop-color:rgb(31.77948%,31.70929%,32.458496%);stop-opacity:1;"
id="stop6982" />
<stop
offset="0.125"
style="stop-color:rgb(31.578064%,31.495667%,32.23877%);stop-opacity:1;"
id="stop6984" />
<stop
offset="0.140625"
style="stop-color:rgb(31.376648%,31.280518%,32.017517%);stop-opacity:1;"
id="stop6986" />
<stop
offset="0.15625"
style="stop-color:rgb(31.173706%,31.066895%,31.797791%);stop-opacity:1;"
id="stop6988" />
<stop
offset="0.171875"
style="stop-color:rgb(30.97229%,30.853271%,31.578064%);stop-opacity:1;"
id="stop6990" />
<stop
offset="0.1875"
style="stop-color:rgb(30.770874%,30.639648%,31.358337%);stop-opacity:1;"
id="stop6992" />
<stop
offset="0.203125"
style="stop-color:rgb(30.569458%,30.426025%,31.138611%);stop-opacity:1;"
id="stop6994" />
<stop
offset="0.21875"
style="stop-color:rgb(30.368042%,30.212402%,30.917358%);stop-opacity:1;"
id="stop6996" />
<stop
offset="0.234375"
style="stop-color:rgb(30.166626%,29.997253%,30.697632%);stop-opacity:1;"
id="stop6998" />
<stop
offset="0.25"
style="stop-color:rgb(29.963684%,29.78363%,30.477905%);stop-opacity:1;"
id="stop7000" />
<stop
offset="0.265625"
style="stop-color:rgb(29.762268%,29.570007%,30.258179%);stop-opacity:1;"
id="stop7002" />
<stop
offset="0.28125"
style="stop-color:rgb(29.560852%,29.356384%,30.038452%);stop-opacity:1;"
id="stop7004" />
<stop
offset="0.296875"
style="stop-color:rgb(29.359436%,29.142761%,29.8172%);stop-opacity:1;"
id="stop7006" />
<stop
offset="0.3125"
style="stop-color:rgb(29.15802%,28.927612%,29.597473%);stop-opacity:1;"
id="stop7008" />
<stop
offset="0.328125"
style="stop-color:rgb(28.955078%,28.713989%,29.377747%);stop-opacity:1;"
id="stop7010" />
<stop
offset="0.34375"
style="stop-color:rgb(28.753662%,28.500366%,29.15802%);stop-opacity:1;"
id="stop7012" />
<stop
offset="0.359375"
style="stop-color:rgb(28.552246%,28.286743%,28.938293%);stop-opacity:1;"
id="stop7014" />
<stop
offset="0.375"
style="stop-color:rgb(28.35083%,28.07312%,28.718567%);stop-opacity:1;"
id="stop7016" />
<stop
offset="0.390625"
style="stop-color:rgb(28.149414%,27.857971%,28.497314%);stop-opacity:1;"
id="stop7018" />
<stop
offset="0.40625"
style="stop-color:rgb(27.947998%,27.644348%,28.277588%);stop-opacity:1;"
id="stop7020" />
<stop
offset="0.421875"
style="stop-color:rgb(27.745056%,27.430725%,28.057861%);stop-opacity:1;"
id="stop7022" />
<stop
offset="0.4375"
style="stop-color:rgb(27.54364%,27.217102%,27.838135%);stop-opacity:1;"
id="stop7024" />
<stop
offset="0.453125"
style="stop-color:rgb(27.342224%,27.003479%,27.618408%);stop-opacity:1;"
id="stop7026" />
<stop
offset="0.46875"
style="stop-color:rgb(27.140808%,26.789856%,27.397156%);stop-opacity:1;"
id="stop7028" />
<stop
offset="0.484375"
style="stop-color:rgb(26.939392%,26.574707%,27.177429%);stop-opacity:1;"
id="stop7030" />
<stop
offset="0.5"
style="stop-color:rgb(26.737976%,26.361084%,26.957703%);stop-opacity:1;"
id="stop7032" />
<stop
offset="0.515625"
style="stop-color:rgb(26.535034%,26.147461%,26.737976%);stop-opacity:1;"
id="stop7034" />
<stop
offset="0.53125"
style="stop-color:rgb(26.333618%,25.933838%,26.51825%);stop-opacity:1;"
id="stop7036" />
<stop
offset="0.546875"
style="stop-color:rgb(26.132202%,25.720215%,26.296997%);stop-opacity:1;"
id="stop7038" />
<stop
offset="0.5625"
style="stop-color:rgb(25.930786%,25.505066%,26.077271%);stop-opacity:1;"
id="stop7040" />
<stop
offset="0.578125"
style="stop-color:rgb(25.72937%,25.291443%,25.857544%);stop-opacity:1;"
id="stop7042" />
<stop
offset="0.59375"
style="stop-color:rgb(25.527954%,25.07782%,25.637817%);stop-opacity:1;"
id="stop7044" />
<stop
offset="0.609375"
style="stop-color:rgb(25.325012%,24.864197%,25.418091%);stop-opacity:1;"
id="stop7046" />
<stop
offset="0.625"
style="stop-color:rgb(25.123596%,24.650574%,25.196838%);stop-opacity:1;"
id="stop7048" />
<stop
offset="0.640625"
style="stop-color:rgb(24.92218%,24.436951%,24.977112%);stop-opacity:1;"
id="stop7050" />
<stop
offset="0.65625"
style="stop-color:rgb(24.720764%,24.221802%,24.757385%);stop-opacity:1;"
id="stop7052" />
<stop
offset="0.671875"
style="stop-color:rgb(24.519348%,24.008179%,24.537659%);stop-opacity:1;"
id="stop7054" />
<stop
offset="0.6875"
style="stop-color:rgb(24.316406%,23.794556%,24.317932%);stop-opacity:1;"
id="stop7056" />
<stop
offset="0.703125"
style="stop-color:rgb(24.11499%,23.580933%,24.098206%);stop-opacity:1;"
id="stop7058" />
<stop
offset="0.71875"
style="stop-color:rgb(23.913574%,23.36731%,23.876953%);stop-opacity:1;"
id="stop7060" />
<stop
offset="0.734375"
style="stop-color:rgb(23.712158%,23.152161%,23.657227%);stop-opacity:1;"
id="stop7062" />
<stop
offset="0.75"
style="stop-color:rgb(23.510742%,22.938538%,23.4375%);stop-opacity:1;"
id="stop7064" />
<stop
offset="0.765625"
style="stop-color:rgb(23.309326%,22.724915%,23.217773%);stop-opacity:1;"
id="stop7066" />
<stop
offset="0.78125"
style="stop-color:rgb(23.106384%,22.511292%,22.998047%);stop-opacity:1;"
id="stop7068" />
<stop
offset="0.796875"
style="stop-color:rgb(22.904968%,22.297668%,22.776794%);stop-opacity:1;"
id="stop7070" />
<stop
offset="0.8125"
style="stop-color:rgb(22.703552%,22.084045%,22.557068%);stop-opacity:1;"
id="stop7072" />
<stop
offset="0.828125"
style="stop-color:rgb(22.502136%,21.868896%,22.337341%);stop-opacity:1;"
id="stop7074" />
<stop
offset="0.84375"
style="stop-color:rgb(22.30072%,21.655273%,22.117615%);stop-opacity:1;"
id="stop7076" />
<stop
offset="0.859375"
style="stop-color:rgb(22.099304%,21.44165%,21.897888%);stop-opacity:1;"
id="stop7078" />
<stop
offset="0.875"
style="stop-color:rgb(21.896362%,21.228027%,21.676636%);stop-opacity:1;"
id="stop7080" />
<stop
offset="0.890625"
style="stop-color:rgb(21.694946%,21.014404%,21.456909%);stop-opacity:1;"
id="stop7082" />
<stop
offset="0.90625"
style="stop-color:rgb(21.49353%,20.799255%,21.237183%);stop-opacity:1;"
id="stop7084" />
<stop
offset="0.921875"
style="stop-color:rgb(21.292114%,20.585632%,21.017456%);stop-opacity:1;"
id="stop7086" />
<stop
offset="0.9375"
style="stop-color:rgb(21.090698%,20.372009%,20.797729%);stop-opacity:1;"
id="stop7088" />
<stop
offset="0.953125"
style="stop-color:rgb(20.889282%,20.158386%,20.576477%);stop-opacity:1;"
id="stop7090" />
<stop
offset="0.96875"
style="stop-color:rgb(20.68634%,19.944763%,20.35675%);stop-opacity:1;"
id="stop7092" />
<stop
offset="0.984375"
style="stop-color:rgb(20.484924%,19.729614%,20.137024%);stop-opacity:1;"
id="stop7094" />
<stop
offset="1"
style="stop-color:rgb(20.283508%,19.515991%,19.917297%);stop-opacity:1;"
id="stop7096" />
</linearGradient>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.979899"
inkscape:cx="-53.032455"
inkscape:cy="-10.55258"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="1600"
inkscape:window-height="882"
inkscape:window-x="0"
inkscape:window-y="18"
inkscape:window-maximized="0" />
<metadata
id="metadata8101">
<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"
transform="translate(-113.84542,-95.231797)">
<path
inkscape:connector-curvature="0"
id="path10059"
d="M 124.74569,107.4316 H 113.84542 V 95.231797 h 10.90027 z m 0,0"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.35277775" />
<path
inkscape:connector-curvature="0"
id="path10061"
d="m 115.94967,107.08157 c -1.04733,0 -1.90444,-0.85714 -1.90444,-1.90447 v -7.68943 c 0,-1.047327 0.85711,-1.905847 1.90444,-1.905847 h 6.69036 c 1.04733,0 1.90447,0.85852 1.90447,1.905847 v 7.68943 c 0,1.04733 -0.85714,1.90447 -1.90447,1.90447 z m 0,0"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.35277775" />
<path
inkscape:connector-curvature="0"
id="path10063"
d="m 123.47237,98.619028 c 0,-0.216358 -0.11712,-0.516749 -0.2577,-0.668337 l -1.16304,-1.233347 c -0.14196,-0.151588 -0.42446,-0.277001 -0.62703,-0.277001 h -5.57138 c -0.40655,0 -0.73727,0.352778 -0.73727,0.784119 v 8.215848 c 0,0.42996 0.33072,0.78412 0.73727,0.78412 h 5.57138 c 0.20257,0 0.48507,-0.12679 0.62841,-0.27838 l 1.16166,-1.23197 c 0.14058,-0.15155 0.2577,-0.45336 0.2577,-0.66971 z m 0,0"
style="fill:#cccaca;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.35277775" />
<path
inkscape:connector-curvature="0"
id="path10065"
d="m 121.75946,104.99383 h -4.69357 v -7.164424 h 4.69357 z m 0,0"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#a1a3a1;stroke-width:0.08819444;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path10067"
d="m 120.60193,103.78529 h -2.53284 v -4.745963 h 2.53284 z m 0,0"
style="fill:#424242;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.35277775" />
<path
inkscape:connector-curvature="0"
id="path10069"
d="m 120.84309,99.71458 h -0.37483 v 1.10243 h 0.37483 z m 0,0"
style="fill:#e1ba21;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.35277775" />
<path
inkscape:connector-curvature="0"
id="path10071"
d="m 120.84309,102.00764 h -0.37483 v 1.10243 h 0.37483 z m 0,0"
style="fill:#e1ba21;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.35277775" />
</g>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 25.2.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.0"
id="svg8104" inkscape:version="0.92.2 5c3e80d, 2017-08-06" sodipodi:docname="USB-B.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="30.8984px"
height="34.58212px" viewBox="0 0 30.8984 34.58212" enable-background="new 0 0 30.8984 34.58212" xml:space="preserve">
<sodipodi:namedview bordercolor="#666666" borderopacity="1.0" fit-margin-bottom="0" fit-margin-left="0" fit-margin-right="0" fit-margin-top="0" id="base" inkscape:current-layer="layer1" inkscape:cx="-53.032455" inkscape:cy="-10.55258" inkscape:document-units="mm" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:window-height="882" inkscape:window-maximized="0" inkscape:window-width="1600" inkscape:window-x="0" inkscape:window-y="18" inkscape:zoom="1.979899" pagecolor="#ffffff" showgrid="false">
</sodipodi:namedview>
<path id="path10059_14_" inkscape:connector-curvature="0" fill="#050707" d="M28.71866,34.58212H2.17974
C0.9759,34.58212,0,33.60622,0,32.40238V2.17974C0,0.9759,0.9759,0,2.17974,0h26.53892c1.20384,0,2.17974,0.9759,2.17974,2.17974
v30.22265C30.8984,33.60622,29.9225,34.58212,28.71866,34.58212z"/>
<linearGradient id="path10059_2_" gradientUnits="userSpaceOnUse" x1="15.4492" y1="0.60922" x2="15.4492" y2="33.9729">
<stop offset="0" style="stop-color:#FFFEFE"/>
<stop offset="1" style="stop-color:#706C6C"/>
</linearGradient>
<path id="path10059_15_" inkscape:connector-curvature="0" fill="url(#path10059_2_)" d="M28.25113,33.9729H2.64727
c-1.16142,0-2.10294-0.94152-2.10294-2.10294V2.71216c0-1.16142,0.94152-2.10294,2.10294-2.10294h25.60386
c1.16142,0,2.10294,0.94152,2.10294,2.10294v29.15779C30.35407,33.03138,29.41255,33.9729,28.25113,33.9729z"/>
<linearGradient id="path10059_3_" gradientUnits="userSpaceOnUse" x1="15.4492" y1="1.57397" x2="15.4492" y2="33.00813">
<stop offset="0" style="stop-color:#E6E6E6"/>
<stop offset="1" style="stop-color:#C4C4C4"/>
</linearGradient>
<path id="path10059_1_" fill="url(#path10059_3_)" d="M28.25111,1.57397c0.62759,0,1.13818,0.51065,1.13818,1.13824v29.1578
c0,0.62759-0.51059,1.13812-1.13818,1.13812H2.6473c-0.62759,0-1.13818-0.51053-1.13818-1.13812V2.71221
c0-0.62759,0.51059-1.13824,1.13818-1.13824H28.25111"/>
<path fill="#3B3939" d="M19.90901,4.0197H6.41321c-0.99926,0-1.80932,0.81006-1.80932,1.80932v22.9241
c0,0.99926,0.81006,1.80932,1.80932,1.80932h13.4958c0.44939,0,0.88271-0.16724,1.21557-0.46916l6.38096-5.78777
c0.37811-0.34296,0.59375-0.82968,0.59375-1.34016V11.61679c0-0.51048-0.21564-0.9972-0.59375-1.34016l-6.38096-5.78777
C20.79172,4.18694,20.35841,4.0197,19.90901,4.0197z"/>
<path id="path10059_13_" inkscape:connector-curvature="0" fill="#A8A7A7" d="M19.35455,24.40137h-6.77034
c-0.27494,0-0.49782-0.233-0.49782-0.52042V10.70117c0-0.28742,0.22288-0.52043,0.49782-0.52043h6.77034
c0.27494,0,0.49782,0.233,0.49782,0.52043v13.17977C19.85237,24.16837,19.62949,24.40137,19.35455,24.40137z"/>
<path id="path10059_12_" inkscape:connector-curvature="0" fill="#B0911A" d="M19.85237,16.13734h1.07983v-3.31041h-1.07983
V16.13734z"/>
<path id="path10059_11_" inkscape:connector-curvature="0" fill="#B0911A" d="M19.85237,18.44478h1.07983v3.31041h-1.07983V18.44478
z"/>
<path id="path10059_9_" inkscape:connector-curvature="0" fill="#B0911A" d="M11.00656,16.13734h1.07983v-3.31041h-1.07983V16.13734
z"/>
<path id="path10059_8_" inkscape:connector-curvature="0" fill="#B0911A" d="M11.00656,18.44478h1.07983v3.31041h-1.07983V18.44478z
"/>
<polygon fill="#292727" points="24.27907,7.66759 5.6039,7.66759 5.6039,4.59358 20.30407,4.59358 "/>
<rect x="5.6039" y="7.66759" fill="#292727" width="2.17517" height="21.89489"/>
<rect x="22.05453" y="4.17556" transform="matrix(0.66783 -0.74431 0.74431 0.66783 1.31394 20.06925)" fill="#292727" width="2.17517" height="8.7739"/>
<polygon fill="#292727" points="27.09926,23.85531 24.92409,25.84704 24.92409,8.69079 27.09926,10.54704 "/>
<g>
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="16.35158" y1="30.56247" x2="16.35158" y2="4.01975">
<stop offset="0" style="stop-color:#FFFEFE"/>
<stop offset="1" style="stop-color:#706C6C"/>
</linearGradient>
<path fill="url(#SVGID_1_)" d="M19.90901,5.01975c0.20142,0,0.39459,0.07458,0.54376,0.20984l6.38086,5.7876
c0.16882,0.1532,0.26562,0.3717,0.26562,0.59961V22.9653c0,0.22791-0.0968,0.44641-0.2655,0.59949l-6.3811,5.78784
c-0.14917,0.13525-0.34222,0.20984-0.54364,0.20984H6.41322c-0.44629,0-0.80933-0.36304-0.80933-0.80933V5.82907
c0-0.44629,0.36304-0.80933,0.80933-0.80933H19.90901 M19.90901,4.01975H6.41322c-0.99927,0-1.80933,0.81006-1.80933,1.80933
v22.92407c0,0.99927,0.81006,1.80933,1.80933,1.80933h13.49579c0.4494,0,0.88269-0.16724,1.21558-0.46924l6.38098-5.78772
c0.37805-0.34302,0.59369-0.82971,0.59369-1.34021V11.61679c0-0.5105-0.21564-0.99719-0.59369-1.34021l-6.38098-5.78772
C20.7917,4.18698,20.35841,4.01975,19.90901,4.01975L19.90901,4.01975z"/>
</g>
</svg>

+ 23
- 40
src/app/RackRail.cpp View File

@@ -10,12 +10,11 @@ namespace app {

RackRail::RackRail() {
busBoardSvg = Svg::load(asset::system("res/ComponentLibrary/RackBusboard.svg"));
railsSvg = Svg::load(asset::system("res/ComponentLibrary/RackRails.svg"));
}


void RackRail::draw(const DrawArgs& args) {
const float railHeight = 15;

// Background color
nvgBeginPath(args.vg);
nvgRect(args.vg, 0.0, 0.0, box.size.x, box.size.y);
@@ -23,43 +22,21 @@ void RackRail::draw(const DrawArgs& args) {
nvgFill(args.vg);

// Rails
float holeRadius = 4.0;
for (float y = 0; y < box.size.y; y += RACK_GRID_HEIGHT) {
nvgFillColor(args.vg, nvgRGB(0xc9, 0xc9, 0xc9));
nvgStrokeWidth(args.vg, 1.0);
nvgStrokeColor(args.vg, nvgRGB(0x9d, 0x9f, 0xa2));
// Top rail
nvgBeginPath(args.vg);
nvgRect(args.vg, 0, y, box.size.x, railHeight);
for (float x = 0; x < box.size.x; x += RACK_GRID_WIDTH) {
nvgCircle(args.vg, x + RACK_GRID_WIDTH / 2, y + railHeight / 2, holeRadius);
nvgPathWinding(args.vg, NVG_HOLE);
}
nvgFill(args.vg);

nvgBeginPath(args.vg);
nvgMoveTo(args.vg, 0, y + railHeight - 0.5);
nvgLineTo(args.vg, box.size.x, y + railHeight - 0.5);
nvgStroke(args.vg);
const float busBoardWidth = busBoardSvg->handle->width;
const float busBoardHeight = busBoardSvg->handle->height;
const float busBoardY = y + (RACK_GRID_HEIGHT - busBoardHeight) / 2;
const NVGcolor shadowColor = nvgRGBA(0, 0, 0, 0x20);

// Bottom rail
// Bus board shadow
nvgBeginPath(args.vg);
nvgRect(args.vg, 0, y + RACK_GRID_HEIGHT - railHeight, box.size.x, railHeight);
for (float x = 0; x < box.size.x; x += RACK_GRID_WIDTH) {
nvgCircle(args.vg, x + RACK_GRID_WIDTH / 2, y + RACK_GRID_HEIGHT - railHeight + railHeight / 2, holeRadius);
nvgPathWinding(args.vg, NVG_HOLE);
}
const float busBoardShadowY = busBoardY + busBoardHeight;
const float busBoardShadowHeight = 10;
nvgRect(args.vg, 0, busBoardShadowY, box.size.x, busBoardShadowHeight);
nvgFillPaint(args.vg, nvgLinearGradient(args.vg, 0, busBoardShadowY, 0, busBoardShadowY + busBoardShadowHeight, shadowColor, color::BLACK_TRANSPARENT));
nvgFill(args.vg);

nvgBeginPath(args.vg);
nvgMoveTo(args.vg, 0, y + RACK_GRID_HEIGHT - 0.5);
nvgLineTo(args.vg, box.size.x, y + RACK_GRID_HEIGHT - 0.5);
nvgStroke(args.vg);

// Bus board
const float busBoardWidth = busBoardSvg->handle->width;
const float busBoardHeight = busBoardSvg->handle->height;
const float busBoardY = y + (RACK_GRID_HEIGHT - busBoardHeight) / 2;
for (float x = 0; x < box.size.x; x += busBoardWidth) {
nvgSave(args.vg);
nvgTranslate(args.vg, x, busBoardY);
@@ -67,15 +44,21 @@ void RackRail::draw(const DrawArgs& args) {
nvgRestore(args.vg);
}

// Bus board shadow
// Rails shadow
nvgBeginPath(args.vg);
const float shadowY = busBoardY + busBoardHeight;
const float shadowHeight = 10;
nvgRect(args.vg, 0, shadowY, box.size.x, shadowHeight);
NVGcolor shadowColor = nvgRGBA(0, 0, 0, 0x20);
NVGcolor transparentColor = nvgRGBAf(0, 0, 0, 0);
nvgFillPaint(args.vg, nvgLinearGradient(args.vg, 0, shadowY, 0, shadowY + shadowHeight, shadowColor, transparentColor));
const float railsShadowY = y + 15;
const float railsShadowHeight = 10;
nvgRect(args.vg, 0, railsShadowY, box.size.x, railsShadowHeight);
nvgFillPaint(args.vg, nvgLinearGradient(args.vg, 0, railsShadowY, 0, railsShadowY + railsShadowHeight, shadowColor, color::BLACK_TRANSPARENT));
nvgFill(args.vg);

// Rails
for (float x = 0; x < box.size.x; x += RACK_GRID_WIDTH) {
nvgSave(args.vg);
nvgTranslate(args.vg, x, y );
svgDraw(args.vg, railsSvg->handle);
nvgRestore(args.vg);
}
}
}



Loading…
Cancel
Save