summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--graphics/osx/preferences/advanced@2x_black.pngbin3305 -> 3461 bytes
-rw-r--r--graphics/osx/preferences/advanced@2x_white.pngbin3267 -> 3972 bytes
-rw-r--r--graphics/osx/preferences/advanced_black.pngbin1631 -> 1747 bytes
-rw-r--r--graphics/osx/preferences/advanced_white.pngbin1619 -> 2037 bytes
-rw-r--r--graphics/osx/preferences/cover_sheet@2x_black.pngbin353 -> 470 bytes
-rw-r--r--graphics/osx/preferences/cover_sheet@2x_white.pngbin356 -> 459 bytes
-rw-r--r--graphics/osx/preferences/cover_sheet_black.pngbin229 -> 348 bytes
-rw-r--r--graphics/osx/preferences/cover_sheet_white.pngbin232 -> 325 bytes
-rw-r--r--graphics/osx/preferences/defaults@2x_black.pngbin1307 -> 1477 bytes
-rw-r--r--graphics/osx/preferences/defaults@2x_white.pngbin1221 -> 1178 bytes
-rw-r--r--graphics/osx/preferences/defaults_black.pngbin644 -> 749 bytes
-rw-r--r--graphics/osx/preferences/defaults_white.pngbin626 -> 571 bytes
-rw-r--r--graphics/osx/preferences/email@2x_black.pngbin2029 -> 1946 bytes
-rw-r--r--graphics/osx/preferences/email@2x_white.pngbin1945 -> 1522 bytes
-rw-r--r--graphics/osx/preferences/email_black.pngbin946 -> 927 bytes
-rw-r--r--graphics/osx/preferences/email_white.pngbin879 -> 731 bytes
-rw-r--r--graphics/osx/preferences/general@2x_black.pngbin499 -> 646 bytes
-rw-r--r--graphics/osx/preferences/general@2x_white.pngbin497 -> 585 bytes
-rw-r--r--graphics/osx/preferences/general_black.pngbin346 -> 489 bytes
-rw-r--r--graphics/osx/preferences/general_white.pngbin340 -> 405 bytes
-rw-r--r--graphics/osx/preferences/identifiers@2x_black.pngbin1502 -> 1853 bytes
-rw-r--r--graphics/osx/preferences/identifiers@2x_white.pngbin1660 -> 1466 bytes
-rw-r--r--graphics/osx/preferences/identifiers_black.pngbin831 -> 997 bytes
-rw-r--r--graphics/osx/preferences/identifiers_white.pngbin847 -> 753 bytes
-rw-r--r--graphics/osx/preferences/kdm_email@2x_black.pngbin2500 -> 2231 bytes
-rw-r--r--graphics/osx/preferences/kdm_email@2x_white.pngbin2514 -> 1736 bytes
-rw-r--r--graphics/osx/preferences/kdm_email_black.pngbin1122 -> 1163 bytes
-rw-r--r--graphics/osx/preferences/kdm_email_white.pngbin1156 -> 881 bytes
-rw-r--r--graphics/osx/preferences/keys@2x_black.pngbin715 -> 1074 bytes
-rw-r--r--graphics/osx/preferences/keys@2x_white.pngbin758 -> 885 bytes
-rw-r--r--graphics/osx/preferences/keys_black.pngbin397 -> 579 bytes
-rw-r--r--graphics/osx/preferences/keys_white.pngbin424 -> 448 bytes
-rw-r--r--graphics/osx/preferences/locations@2x_black.pngbin2614 -> 2645 bytes
-rw-r--r--graphics/osx/preferences/locations@2x_white.pngbin2593 -> 3245 bytes
-rw-r--r--graphics/osx/preferences/locations_black.pngbin1284 -> 1310 bytes
-rw-r--r--graphics/osx/preferences/locations_white.pngbin1302 -> 1426 bytes
-rw-r--r--graphics/osx/preferences/non_standard@2x_black.pngbin2480 -> 2484 bytes
-rw-r--r--graphics/osx/preferences/non_standard@2x_white.pngbin2470 -> 1991 bytes
-rw-r--r--graphics/osx/preferences/non_standard_black.pngbin1337 -> 1212 bytes
-rw-r--r--graphics/osx/preferences/non_standard_white.pngbin1348 -> 957 bytes
-rw-r--r--graphics/osx/preferences/notifications@2x_black.pngbin2269 -> 2297 bytes
-rw-r--r--graphics/osx/preferences/notifications@2x_white.pngbin2252 -> 1832 bytes
-rw-r--r--graphics/osx/preferences/notifications_black.pngbin1298 -> 1174 bytes
-rw-r--r--graphics/osx/preferences/notifications_white.pngbin1271 -> 916 bytes
-rw-r--r--graphics/osx/preferences/servers@2x_black.pngbin390 -> 504 bytes
-rw-r--r--graphics/osx/preferences/servers@2x_white.pngbin390 -> 455 bytes
-rw-r--r--graphics/osx/preferences/servers_black.pngbin279 -> 370 bytes
-rw-r--r--graphics/osx/preferences/servers_white.pngbin283 -> 315 bytes
-rw-r--r--graphics/osx/preferences/sound@2x_black.pngbin1385 -> 1633 bytes
-rw-r--r--graphics/osx/preferences/sound@2x_white.pngbin1465 -> 1449 bytes
-rw-r--r--graphics/osx/preferences/sound_black.pngbin696 -> 873 bytes
-rw-r--r--graphics/osx/preferences/sound_white.pngbin769 -> 750 bytes
-rw-r--r--graphics/osx/preferences/tms@2x_black.pngbin966 -> 1271 bytes
-rw-r--r--graphics/osx/preferences/tms@2x_white.pngbin1027 -> 1041 bytes
-rw-r--r--graphics/osx/preferences/tms_black.pngbin529 -> 681 bytes
-rw-r--r--graphics/osx/preferences/tms_white.pngbin536 -> 524 bytes
-rw-r--r--graphics/src/preferences_black.svg363
-rw-r--r--graphics/src/preferences_white.svg403
-rwxr-xr-xrun/tests2
-rw-r--r--src/lib/image.cc181
-rw-r--r--src/lib/player.cc7
-rw-r--r--src/tools/dcpomatic.cc2
-rw-r--r--src/tools/dcpomatic_batch.cc2
-rw-r--r--src/tools/dcpomatic_kdm.cc2
-rw-r--r--src/tools/dcpomatic_player.cc2
-rw-r--r--src/tools/dcpomatic_playlist.cc2
-rw-r--r--src/wx/content_menu.cc2
-rw-r--r--src/wx/full_config_dialog.cc2
-rw-r--r--src/wx/supporters.cc18
-rw-r--r--test/burnt_subtitle_test.cc22
m---------test/data0
-rw-r--r--test/image_test.cc12
-rw-r--r--wscript9
73 files changed, 785 insertions, 246 deletions
diff --git a/graphics/osx/preferences/advanced@2x_black.png b/graphics/osx/preferences/advanced@2x_black.png
index e2cb8e361..cca13f60d 100644
--- a/graphics/osx/preferences/advanced@2x_black.png
+++ b/graphics/osx/preferences/advanced@2x_black.png
Binary files differ
diff --git a/graphics/osx/preferences/advanced@2x_white.png b/graphics/osx/preferences/advanced@2x_white.png
index 71f97b3ca..97ee570fd 100644
--- a/graphics/osx/preferences/advanced@2x_white.png
+++ b/graphics/osx/preferences/advanced@2x_white.png
Binary files differ
diff --git a/graphics/osx/preferences/advanced_black.png b/graphics/osx/preferences/advanced_black.png
index 50c086ed6..c3e7a1189 100644
--- a/graphics/osx/preferences/advanced_black.png
+++ b/graphics/osx/preferences/advanced_black.png
Binary files differ
diff --git a/graphics/osx/preferences/advanced_white.png b/graphics/osx/preferences/advanced_white.png
index b5bbfa16b..467e050a6 100644
--- a/graphics/osx/preferences/advanced_white.png
+++ b/graphics/osx/preferences/advanced_white.png
Binary files differ
diff --git a/graphics/osx/preferences/cover_sheet@2x_black.png b/graphics/osx/preferences/cover_sheet@2x_black.png
index d5ee6ebdb..54d722404 100644
--- a/graphics/osx/preferences/cover_sheet@2x_black.png
+++ b/graphics/osx/preferences/cover_sheet@2x_black.png
Binary files differ
diff --git a/graphics/osx/preferences/cover_sheet@2x_white.png b/graphics/osx/preferences/cover_sheet@2x_white.png
index 3e1bade6f..ca58a3a40 100644
--- a/graphics/osx/preferences/cover_sheet@2x_white.png
+++ b/graphics/osx/preferences/cover_sheet@2x_white.png
Binary files differ
diff --git a/graphics/osx/preferences/cover_sheet_black.png b/graphics/osx/preferences/cover_sheet_black.png
index 18eaf0a40..2a0bd1b52 100644
--- a/graphics/osx/preferences/cover_sheet_black.png
+++ b/graphics/osx/preferences/cover_sheet_black.png
Binary files differ
diff --git a/graphics/osx/preferences/cover_sheet_white.png b/graphics/osx/preferences/cover_sheet_white.png
index 3a41359a1..61bf526a3 100644
--- a/graphics/osx/preferences/cover_sheet_white.png
+++ b/graphics/osx/preferences/cover_sheet_white.png
Binary files differ
diff --git a/graphics/osx/preferences/defaults@2x_black.png b/graphics/osx/preferences/defaults@2x_black.png
index 53ab3968a..cdfbcf578 100644
--- a/graphics/osx/preferences/defaults@2x_black.png
+++ b/graphics/osx/preferences/defaults@2x_black.png
Binary files differ
diff --git a/graphics/osx/preferences/defaults@2x_white.png b/graphics/osx/preferences/defaults@2x_white.png
index e86c02350..8b8840aa7 100644
--- a/graphics/osx/preferences/defaults@2x_white.png
+++ b/graphics/osx/preferences/defaults@2x_white.png
Binary files differ
diff --git a/graphics/osx/preferences/defaults_black.png b/graphics/osx/preferences/defaults_black.png
index a2c2217d7..1ae1ade3a 100644
--- a/graphics/osx/preferences/defaults_black.png
+++ b/graphics/osx/preferences/defaults_black.png
Binary files differ
diff --git a/graphics/osx/preferences/defaults_white.png b/graphics/osx/preferences/defaults_white.png
index 3dbbac384..529465ad8 100644
--- a/graphics/osx/preferences/defaults_white.png
+++ b/graphics/osx/preferences/defaults_white.png
Binary files differ
diff --git a/graphics/osx/preferences/email@2x_black.png b/graphics/osx/preferences/email@2x_black.png
index 0a814951d..c6fa8f377 100644
--- a/graphics/osx/preferences/email@2x_black.png
+++ b/graphics/osx/preferences/email@2x_black.png
Binary files differ
diff --git a/graphics/osx/preferences/email@2x_white.png b/graphics/osx/preferences/email@2x_white.png
index 68408a6e4..9710aec38 100644
--- a/graphics/osx/preferences/email@2x_white.png
+++ b/graphics/osx/preferences/email@2x_white.png
Binary files differ
diff --git a/graphics/osx/preferences/email_black.png b/graphics/osx/preferences/email_black.png
index 8d5136d82..09f040b9e 100644
--- a/graphics/osx/preferences/email_black.png
+++ b/graphics/osx/preferences/email_black.png
Binary files differ
diff --git a/graphics/osx/preferences/email_white.png b/graphics/osx/preferences/email_white.png
index ed821598e..88f46b85b 100644
--- a/graphics/osx/preferences/email_white.png
+++ b/graphics/osx/preferences/email_white.png
Binary files differ
diff --git a/graphics/osx/preferences/general@2x_black.png b/graphics/osx/preferences/general@2x_black.png
index af79038a1..8638c0e03 100644
--- a/graphics/osx/preferences/general@2x_black.png
+++ b/graphics/osx/preferences/general@2x_black.png
Binary files differ
diff --git a/graphics/osx/preferences/general@2x_white.png b/graphics/osx/preferences/general@2x_white.png
index 72820d0fd..4d899f81f 100644
--- a/graphics/osx/preferences/general@2x_white.png
+++ b/graphics/osx/preferences/general@2x_white.png
Binary files differ
diff --git a/graphics/osx/preferences/general_black.png b/graphics/osx/preferences/general_black.png
index c75898c24..12756381e 100644
--- a/graphics/osx/preferences/general_black.png
+++ b/graphics/osx/preferences/general_black.png
Binary files differ
diff --git a/graphics/osx/preferences/general_white.png b/graphics/osx/preferences/general_white.png
index 20d41c7d4..4ceba8298 100644
--- a/graphics/osx/preferences/general_white.png
+++ b/graphics/osx/preferences/general_white.png
Binary files differ
diff --git a/graphics/osx/preferences/identifiers@2x_black.png b/graphics/osx/preferences/identifiers@2x_black.png
index 33b5499a7..9d31ca744 100644
--- a/graphics/osx/preferences/identifiers@2x_black.png
+++ b/graphics/osx/preferences/identifiers@2x_black.png
Binary files differ
diff --git a/graphics/osx/preferences/identifiers@2x_white.png b/graphics/osx/preferences/identifiers@2x_white.png
index 3416793c1..9e5537d3a 100644
--- a/graphics/osx/preferences/identifiers@2x_white.png
+++ b/graphics/osx/preferences/identifiers@2x_white.png
Binary files differ
diff --git a/graphics/osx/preferences/identifiers_black.png b/graphics/osx/preferences/identifiers_black.png
index c1c93924d..0407d264a 100644
--- a/graphics/osx/preferences/identifiers_black.png
+++ b/graphics/osx/preferences/identifiers_black.png
Binary files differ
diff --git a/graphics/osx/preferences/identifiers_white.png b/graphics/osx/preferences/identifiers_white.png
index 4b9cd116b..f5dc45c9c 100644
--- a/graphics/osx/preferences/identifiers_white.png
+++ b/graphics/osx/preferences/identifiers_white.png
Binary files differ
diff --git a/graphics/osx/preferences/kdm_email@2x_black.png b/graphics/osx/preferences/kdm_email@2x_black.png
index 32dbaa7e3..027f4d418 100644
--- a/graphics/osx/preferences/kdm_email@2x_black.png
+++ b/graphics/osx/preferences/kdm_email@2x_black.png
Binary files differ
diff --git a/graphics/osx/preferences/kdm_email@2x_white.png b/graphics/osx/preferences/kdm_email@2x_white.png
index c6b547f9c..0cea20911 100644
--- a/graphics/osx/preferences/kdm_email@2x_white.png
+++ b/graphics/osx/preferences/kdm_email@2x_white.png
Binary files differ
diff --git a/graphics/osx/preferences/kdm_email_black.png b/graphics/osx/preferences/kdm_email_black.png
index adbf81439..aab0fd5f8 100644
--- a/graphics/osx/preferences/kdm_email_black.png
+++ b/graphics/osx/preferences/kdm_email_black.png
Binary files differ
diff --git a/graphics/osx/preferences/kdm_email_white.png b/graphics/osx/preferences/kdm_email_white.png
index 705c63313..e7d82ce3a 100644
--- a/graphics/osx/preferences/kdm_email_white.png
+++ b/graphics/osx/preferences/kdm_email_white.png
Binary files differ
diff --git a/graphics/osx/preferences/keys@2x_black.png b/graphics/osx/preferences/keys@2x_black.png
index cdca69915..7b3e30a21 100644
--- a/graphics/osx/preferences/keys@2x_black.png
+++ b/graphics/osx/preferences/keys@2x_black.png
Binary files differ
diff --git a/graphics/osx/preferences/keys@2x_white.png b/graphics/osx/preferences/keys@2x_white.png
index d2a70d4ee..13611e18f 100644
--- a/graphics/osx/preferences/keys@2x_white.png
+++ b/graphics/osx/preferences/keys@2x_white.png
Binary files differ
diff --git a/graphics/osx/preferences/keys_black.png b/graphics/osx/preferences/keys_black.png
index a512081a1..bd5e94b55 100644
--- a/graphics/osx/preferences/keys_black.png
+++ b/graphics/osx/preferences/keys_black.png
Binary files differ
diff --git a/graphics/osx/preferences/keys_white.png b/graphics/osx/preferences/keys_white.png
index 000b46eb6..2dd470c55 100644
--- a/graphics/osx/preferences/keys_white.png
+++ b/graphics/osx/preferences/keys_white.png
Binary files differ
diff --git a/graphics/osx/preferences/locations@2x_black.png b/graphics/osx/preferences/locations@2x_black.png
index b06decb37..97a93cc2c 100644
--- a/graphics/osx/preferences/locations@2x_black.png
+++ b/graphics/osx/preferences/locations@2x_black.png
Binary files differ
diff --git a/graphics/osx/preferences/locations@2x_white.png b/graphics/osx/preferences/locations@2x_white.png
index 939056a18..073a88811 100644
--- a/graphics/osx/preferences/locations@2x_white.png
+++ b/graphics/osx/preferences/locations@2x_white.png
Binary files differ
diff --git a/graphics/osx/preferences/locations_black.png b/graphics/osx/preferences/locations_black.png
index 215ed3f61..0574e29a7 100644
--- a/graphics/osx/preferences/locations_black.png
+++ b/graphics/osx/preferences/locations_black.png
Binary files differ
diff --git a/graphics/osx/preferences/locations_white.png b/graphics/osx/preferences/locations_white.png
index ba7594c6b..de89507ce 100644
--- a/graphics/osx/preferences/locations_white.png
+++ b/graphics/osx/preferences/locations_white.png
Binary files differ
diff --git a/graphics/osx/preferences/non_standard@2x_black.png b/graphics/osx/preferences/non_standard@2x_black.png
index 8c4c8f3b3..4b2eb469e 100644
--- a/graphics/osx/preferences/non_standard@2x_black.png
+++ b/graphics/osx/preferences/non_standard@2x_black.png
Binary files differ
diff --git a/graphics/osx/preferences/non_standard@2x_white.png b/graphics/osx/preferences/non_standard@2x_white.png
index 1e758cf5a..be532c1d0 100644
--- a/graphics/osx/preferences/non_standard@2x_white.png
+++ b/graphics/osx/preferences/non_standard@2x_white.png
Binary files differ
diff --git a/graphics/osx/preferences/non_standard_black.png b/graphics/osx/preferences/non_standard_black.png
index 885963ee3..6c9fd6a56 100644
--- a/graphics/osx/preferences/non_standard_black.png
+++ b/graphics/osx/preferences/non_standard_black.png
Binary files differ
diff --git a/graphics/osx/preferences/non_standard_white.png b/graphics/osx/preferences/non_standard_white.png
index 311ccb93b..6eec090da 100644
--- a/graphics/osx/preferences/non_standard_white.png
+++ b/graphics/osx/preferences/non_standard_white.png
Binary files differ
diff --git a/graphics/osx/preferences/notifications@2x_black.png b/graphics/osx/preferences/notifications@2x_black.png
index 4349de64a..350e4f93e 100644
--- a/graphics/osx/preferences/notifications@2x_black.png
+++ b/graphics/osx/preferences/notifications@2x_black.png
Binary files differ
diff --git a/graphics/osx/preferences/notifications@2x_white.png b/graphics/osx/preferences/notifications@2x_white.png
index 32ae1ff76..d79e28d22 100644
--- a/graphics/osx/preferences/notifications@2x_white.png
+++ b/graphics/osx/preferences/notifications@2x_white.png
Binary files differ
diff --git a/graphics/osx/preferences/notifications_black.png b/graphics/osx/preferences/notifications_black.png
index c6e8a6276..14e35f334 100644
--- a/graphics/osx/preferences/notifications_black.png
+++ b/graphics/osx/preferences/notifications_black.png
Binary files differ
diff --git a/graphics/osx/preferences/notifications_white.png b/graphics/osx/preferences/notifications_white.png
index a11f216e5..e97f14ae6 100644
--- a/graphics/osx/preferences/notifications_white.png
+++ b/graphics/osx/preferences/notifications_white.png
Binary files differ
diff --git a/graphics/osx/preferences/servers@2x_black.png b/graphics/osx/preferences/servers@2x_black.png
index 7e188018b..c8810d764 100644
--- a/graphics/osx/preferences/servers@2x_black.png
+++ b/graphics/osx/preferences/servers@2x_black.png
Binary files differ
diff --git a/graphics/osx/preferences/servers@2x_white.png b/graphics/osx/preferences/servers@2x_white.png
index d796f3f9b..09308d523 100644
--- a/graphics/osx/preferences/servers@2x_white.png
+++ b/graphics/osx/preferences/servers@2x_white.png
Binary files differ
diff --git a/graphics/osx/preferences/servers_black.png b/graphics/osx/preferences/servers_black.png
index 86be5bf0e..c2a9a689e 100644
--- a/graphics/osx/preferences/servers_black.png
+++ b/graphics/osx/preferences/servers_black.png
Binary files differ
diff --git a/graphics/osx/preferences/servers_white.png b/graphics/osx/preferences/servers_white.png
index 3a798a652..d1c3ec247 100644
--- a/graphics/osx/preferences/servers_white.png
+++ b/graphics/osx/preferences/servers_white.png
Binary files differ
diff --git a/graphics/osx/preferences/sound@2x_black.png b/graphics/osx/preferences/sound@2x_black.png
index 8207d34dd..b92bc8acb 100644
--- a/graphics/osx/preferences/sound@2x_black.png
+++ b/graphics/osx/preferences/sound@2x_black.png
Binary files differ
diff --git a/graphics/osx/preferences/sound@2x_white.png b/graphics/osx/preferences/sound@2x_white.png
index a0579fde5..6ccfb5421 100644
--- a/graphics/osx/preferences/sound@2x_white.png
+++ b/graphics/osx/preferences/sound@2x_white.png
Binary files differ
diff --git a/graphics/osx/preferences/sound_black.png b/graphics/osx/preferences/sound_black.png
index 0998f5fde..dec0bbdcf 100644
--- a/graphics/osx/preferences/sound_black.png
+++ b/graphics/osx/preferences/sound_black.png
Binary files differ
diff --git a/graphics/osx/preferences/sound_white.png b/graphics/osx/preferences/sound_white.png
index 4ef33ab07..a9ece9a38 100644
--- a/graphics/osx/preferences/sound_white.png
+++ b/graphics/osx/preferences/sound_white.png
Binary files differ
diff --git a/graphics/osx/preferences/tms@2x_black.png b/graphics/osx/preferences/tms@2x_black.png
index ddbf71955..a4e016996 100644
--- a/graphics/osx/preferences/tms@2x_black.png
+++ b/graphics/osx/preferences/tms@2x_black.png
Binary files differ
diff --git a/graphics/osx/preferences/tms@2x_white.png b/graphics/osx/preferences/tms@2x_white.png
index 724451df4..6fc63341c 100644
--- a/graphics/osx/preferences/tms@2x_white.png
+++ b/graphics/osx/preferences/tms@2x_white.png
Binary files differ
diff --git a/graphics/osx/preferences/tms_black.png b/graphics/osx/preferences/tms_black.png
index cb34101ef..89c928e29 100644
--- a/graphics/osx/preferences/tms_black.png
+++ b/graphics/osx/preferences/tms_black.png
Binary files differ
diff --git a/graphics/osx/preferences/tms_white.png b/graphics/osx/preferences/tms_white.png
index 09248cb28..b3deaef76 100644
--- a/graphics/osx/preferences/tms_white.png
+++ b/graphics/osx/preferences/tms_white.png
Binary files differ
diff --git a/graphics/src/preferences_black.svg b/graphics/src/preferences_black.svg
index 1d060eeeb..7db9867bb 100644
--- a/graphics/src/preferences_black.svg
+++ b/graphics/src/preferences_black.svg
@@ -47,18 +47,18 @@
inkscape:guide-bbox="true"
showguides="true"
inkscape:window-maximized="1"
- inkscape:window-y="0"
+ inkscape:window-y="32"
inkscape:window-x="0"
- inkscape:window-height="1043"
+ inkscape:window-height="1011"
inkscape:window-width="1920"
showborder="true"
showgrid="true"
inkscape:document-rotation="0"
- inkscape:current-layer="svg8"
+ inkscape:current-layer="layer2"
inkscape:document-units="mm"
- inkscape:cy="-9.8994943"
- inkscape:cx="-125.15789"
- inkscape:zoom="1.4142137"
+ inkscape:cy="-21.5"
+ inkscape:cx="-82.75"
+ inkscape:zoom="4"
inkscape:pageshadow="2"
inkscape:pageopacity="0"
borderopacity="1.0"
@@ -284,7 +284,6 @@
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
@@ -414,7 +413,7 @@
height="2.9104164"
width="1.5875053"
id="rect4197"
- style="vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.270809;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ style="fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<path
sodipodi:open="true"
sodipodi:arc-type="arc"
@@ -426,156 +425,151 @@
sodipodi:cx="110.9753"
sodipodi:type="arc"
id="path4260"
- style="font-variation-settings:normal;vector-effect:none;fill:none;fill-opacity:1;stroke:#8e0b0b;stroke-width:0.26458333;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
+ style="font-variation-settings:normal;fill:none;fill-opacity:1;stroke:#666666;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
d="m 114.16903,143.69144 a 4.0784903,4.2965121 0 0 1 0.11277,5.18751" />
<path
sodipodi:nodetypes="ccccc"
id="path4276"
- d="m 110.29339,145.04358 2.64583,-2.24896 v 7.14375 l -2.64583,-2.24896 z"
- style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#ececec;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" />
+ d="m 110.29339,144.91128 2.64583,-1.9651 v 6.8599 l -2.64583,-1.98438 z"
+ style="font-variation-settings:normal;opacity:1;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" />
<path
sodipodi:nodetypes="cc"
id="path4285"
- d="m 123.65485,143.85295 h 3.43959"
- style="font-variation-settings:normal;display:inline;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" />
+ d="m 123.65485,144.38212 h 3.43959"
+ style="font-variation-settings:normal;display:inline;fill:none;fill-opacity:1;stroke:#808080;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" />
<path
sodipodi:nodetypes="ccc"
id="path4309"
- d="m 123.0911,142.96076 -1.36064,1.74783 -0.66542,-0.57233"
- style="font-variation-settings:normal;display:inline;opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#8e0b0b;stroke-width:0.26458333;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" />
+ d="m 123.0911,143.48993 -1.36064,1.74783 -0.66542,-0.57233"
+ style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" />
<path
- style="font-variation-settings:normal;display:inline;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
- d="m 123.65485,149.14462 h 3.43959"
+ style="font-variation-settings:normal;display:inline;fill:none;fill-opacity:1;stroke:#808080;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
+ d="m 123.65485,148.61545 h 3.43959"
id="path4285-2"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
id="path4285-2-8"
d="m 123.65485,146.49878 h 3.43959"
- style="font-variation-settings:normal;display:inline;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" />
- <g
- style="display:inline;fill:#ececec;fill-opacity:1;stroke-width:0.264583;stroke-miterlimit:4;stroke-dasharray:none"
- transform="translate(-25.44543,-0.13228854)"
- id="g5160">
- <path
- style="font-variation-settings:normal;vector-effect:none;fill:#ececec;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
- d="m 173.97111,146.36649 h 4.7625"
- id="path4562"
- sodipodi:nodetypes="cc" />
- <circle
- style="font-variation-settings:normal;vector-effect:none;fill:#ececec;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
- id="path4580"
- cx="172.9473"
- cy="146.3665"
- r="1.0585326" />
- <rect
- style="font-variation-settings:normal;vector-effect:none;fill:#ececec;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
- id="rect4582"
- width="1.0583345"
- height="0.79375434"
- x="177.54298"
- y="146.36649"
- ry="4.4042968e-06" />
- </g>
+ style="font-variation-settings:normal;display:inline;fill:none;fill-opacity:1;stroke:#808080;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" />
+ <path
+ style="font-variation-settings:normal;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
+ d="m 148.39339,146.2342 4.89479,0"
+ id="path4562"
+ sodipodi:nodetypes="cc" />
+ <rect
+ style="font-variation-settings:normal;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
+ id="rect4582"
+ width="1.0583345"
+ height="0.79375434"
+ x="152.09755"
+ y="146.23419"
+ ry="4.4042968e-06" />
<rect
y="143.58836"
x="171.41214"
height="5.2916665"
width="7.672914"
id="rect4591"
- style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#ececec;fill-opacity:1;stroke:#00000f;stroke-width:0.258206;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" />
+ style="font-variation-settings:normal;opacity:1;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" />
<path
id="path4718"
d="m 171.41214,143.58837 3.83653,3.57677 3.70409,-3.44448"
- style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#00000f;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
+ style="font-variation-settings:normal;opacity:1;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
sodipodi:nodetypes="ccc" />
<path
id="path4720"
d="m 171.41214,148.88003 2.76231,-2.86677"
- style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#ececec;fill-opacity:1;stroke:#00000f;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
+ style="font-variation-settings:normal;opacity:1;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
sodipodi:nodetypes="cc" />
<path
- style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#ececec;fill-opacity:1;stroke:#00000f;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
+ style="font-variation-settings:normal;opacity:1;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
d="m 176.30693,146.10191 2.77812,2.77812"
id="path4720-0"
sodipodi:nodetypes="cc" />
- <circle
- r="3.4979"
- cy="146.3665"
- cx="200.67569"
+ <ellipse
id="path4787"
- style="font-variation-settings:normal;display:inline;vector-effect:none;fill:#ececec;fill-opacity:1;stroke:#000000;stroke-width:0.26458333;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" />
- <path
- sodipodi:nodetypes="ccccc"
- id="path4877"
- d="m 200.31495,147.28816 -0.20355,-3.25948 1.10682,-8.8e-4 -0.21968,3.25753 z"
- style="display:inline;fill:#8e0b0b;fill-opacity:1;stroke:#8e0b0b;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
- <rect
- y="148.26013"
- x="200.42728"
- height="0.47716767"
- width="0.47716767"
- id="rect4879"
- style="font-variation-settings:normal;display:inline;vector-effect:none;fill:#8e0b0b;fill-opacity:1;stroke:#8e0b0b;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" />
+ style="font-variation-settings:normal;display:inline;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
+ ry="3.3072872"
+ rx="3.3072913"
+ cy="146.36649"
+ cx="200.64859" />
+ <g
+ id="g582"
+ transform="translate(0.09500785,0.34371818)"
+ style="fill:#333333;stroke:#333333">
+ <path
+ sodipodi:nodetypes="ccccc"
+ id="path4877"
+ d="m 200.28386,146.79012 -0.17246,-2.76157 0.93775,-7.5e-4 -0.18613,2.75992 z"
+ style="display:inline;fill:#333333;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <rect
+ y="147.61362"
+ x="200.37903"
+ height="0.40427679"
+ width="0.40427679"
+ id="rect4879"
+ style="font-variation-settings:normal;display:inline;vector-effect:none;fill:#333333;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" />
+ </g>
<rect
- style="font-variation-settings:normal;display:inline;vector-effect:none;fill:#ececec;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
+ style="font-variation-settings:normal;display:inline;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
id="rect4416-5"
width="6.6145797"
- height="8.2020779"
+ height="6.3500004"
x="210.04131"
- y="142.26546" />
- <path
- id="path4911"
- d="m 211.23193,143.58837 h 4.49791"
- style="font-variation-settings:normal;display:inline;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
- sodipodi:nodetypes="cc" />
- <path
- sodipodi:nodetypes="cc"
- style="font-variation-settings:normal;display:inline;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
- d="m 211.23193,144.91128 h 1.85208"
- id="path4911-6" />
- <path
- id="path4911-6-9"
- d="m 211.23193,146.2342 h 2.91041"
- style="font-variation-settings:normal;display:inline;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
- sodipodi:nodetypes="cc" />
- <path
- id="path4911-6-2"
- d="m 211.23193,147.55712 h 3.70416"
- style="font-variation-settings:normal;display:inline;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
- sodipodi:nodetypes="cc" />
- <path
- id="path4911-6-24"
- d="m 211.23193,148.88003 h 1.5875"
- style="font-variation-settings:normal;display:inline;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
- sodipodi:nodetypes="cc" />
+ y="143.0592" />
+ <g
+ id="g588"
+ transform="translate(-2.84e-6,-0.7937453)"
+ style="fill:none;stroke:#333333;stroke-width:0.3;stroke-dasharray:none">
+ <path
+ sodipodi:nodetypes="cc"
+ style="font-variation-settings:normal;display:inline;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
+ d="m 211.23193,144.91128 h 1.85208"
+ id="path4911-6" />
+ <path
+ id="path4911-6-9"
+ d="m 211.23193,146.2342 h 2.91041"
+ style="font-variation-settings:normal;display:inline;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
+ sodipodi:nodetypes="cc" />
+ <path
+ id="path4911-6-2"
+ d="m 211.23193,147.55712 h 3.70416"
+ style="font-variation-settings:normal;display:inline;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
+ sodipodi:nodetypes="cc" />
+ <path
+ id="path4911-6-24"
+ d="m 211.23193,148.88003 h 1.5875"
+ style="font-variation-settings:normal;display:inline;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
+ sodipodi:nodetypes="cc" />
+ </g>
<rect
y="142.79462"
x="134.37047"
- height="7.1437511"
+ height="6.8744421"
width="5.8208375"
id="rect4416"
- style="font-variation-settings:normal;display:inline;opacity:1;vector-effect:none;fill:#ececec;fill-opacity:1;stroke:#000004;stroke-width:0.274035;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
+ style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
ry="0" />
<path
id="path4422"
d="m 135.56109,145.17587 h 3.43959"
- style="font-variation-settings:normal;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
+ style="font-variation-settings:normal;fill:none;fill-opacity:1;stroke:#808080;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
sodipodi:nodetypes="cc" />
<path
- style="font-variation-settings:normal;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
+ style="font-variation-settings:normal;fill:none;fill-opacity:1;stroke:#808080;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
d="m 135.56109,146.2342 h 3.43959"
id="path4422-5"
sodipodi:nodetypes="cc" />
<path
id="path4422-5-3"
d="m 135.56109,144.11753 h 3.43959"
- style="font-variation-settings:normal;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
+ style="font-variation-settings:normal;fill:none;fill-opacity:1;stroke:#808080;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
sodipodi:nodetypes="cc" />
<path
id="path4981"
- d="m 135.56109,148.88003 h 0.52917"
- style="font-variation-settings:normal;display:inline;opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#ef2929;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
+ d="m 135.56109,148.61545 h 0.52917"
+ style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#4d4d4d;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
sodipodi:nodetypes="cc" />
<rect
ry="1.0526322"
@@ -585,7 +579,7 @@
height="5.2916737"
width="8.2020826"
id="rect5003"
- style="font-variation-settings:normal;display:inline;vector-effect:none;fill:#ececec;fill-opacity:1;stroke:#000000;stroke-width:0.275945;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" />
+ style="font-variation-settings:normal;display:inline;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" />
<path
transform="scale(1,-1)"
sodipodi:arc-type="slice"
@@ -597,13 +591,13 @@
sodipodi:cx="224.34216"
sodipodi:type="arc"
id="path5005"
- style="font-variation-settings:normal;display:inline;vector-effect:none;fill:#1a1a1a;fill-opacity:1;stroke:#1a1a1a;stroke-width:0.4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
+ style="font-variation-settings:normal;display:inline;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
d="m 225.48944,-147.45592 a 1.1472777,1.145589 0 0 1 -0.57364,0.99211 1.1472777,1.145589 0 0 1 -1.14728,0 1.1472777,1.145589 0 0 1 -0.57363,-0.99211 h 1.14727 z" />
<ellipse
cy="145.33148"
cx="224.37093"
id="path5007"
- style="font-variation-settings:normal;display:inline;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
+ style="font-variation-settings:normal;display:inline;fill:#ffffff;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
rx="0.69045985"
ry="0.68944359" />
<rect
@@ -612,68 +606,71 @@
height="1.0583328"
width="0.5291636"
id="rect5009"
- style="font-variation-settings:normal;display:inline;vector-effect:none;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.26458333;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" />
+ style="font-variation-settings:normal;display:inline;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" />
<path
id="path5026"
d="m 226.57776,144.91128 h 2.38125"
- style="font-variation-settings:normal;display:inline;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
+ style="font-variation-settings:normal;display:inline;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
sodipodi:nodetypes="cc" />
<path
- style="font-variation-settings:normal;display:inline;vector-effect:none;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
+ style="font-variation-settings:normal;display:inline;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
d="m 226.57776,147.55712 h 2.38125"
id="path5026-8"
sodipodi:nodetypes="cc" />
<path
id="path5026-8-9"
d="m 226.57776,146.2342 h 2.38125"
- style="font-variation-settings:normal;display:inline;vector-effect:none;fill:none;fill-opacity:1;stroke:#d3b88b;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
+ style="font-variation-settings:normal;display:inline;fill:#e6e6e6;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
sodipodi:nodetypes="cc" />
<rect
- style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#ececec;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
+ style="font-variation-settings:normal;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
id="rect4591-6"
- width="7.1437454"
- height="5.2916617"
- x="184.37672"
+ width="6.6209679"
+ height="4.2333322"
+ x="184.63811"
y="145.17587" />
<path
- style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#ececec;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
- d="m 184.50901,145.30816 3.4363,3.49952 3.44287,-3.49952"
+ style="font-variation-settings:normal;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
+ d="m 184.6413,145.17587 3.30401,3.175 3.31058,-3.175"
id="path4718-8"
sodipodi:nodetypes="ccc" />
<path
sodipodi:nodetypes="cc"
- style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#ececec;fill-opacity:1;stroke:#000000;stroke-width:0.26458333;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
- d="m 184.50901,150.33524 2.38125,-2.64583"
+ style="font-variation-settings:normal;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
+ d="m 184.6413,149.4092 2.11667,-2.11667"
id="path4720-02" />
<path
sodipodi:nodetypes="cc"
id="path4720-0-1"
- d="m 189.00693,147.68941 2.51354,2.77812"
- style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#ececec;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" />
- <g
- style="font-variation-settings:normal;display:inline;opacity:1;vector-effect:none;fill:#ececec;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
- transform="translate(12.632137,-3.0427151)"
- id="g5160-5">
- <path
- sodipodi:nodetypes="cc"
- id="path4562-1"
- d="m 173.86125,146.3665 4.7625,0"
- style="font-variation-settings:normal;vector-effect:none;fill:#ececec;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" />
- <circle
- r="1.0585326"
- cy="146.3665"
- cx="172.9473"
- id="path4580-1"
- style="font-variation-settings:normal;vector-effect:none;fill:#ececec;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" />
- <rect
- y="146.3665"
- x="177.56541"
- height="0.79374915"
- width="1.0583351"
- id="rect4582-0"
- style="font-variation-settings:normal;vector-effect:none;fill:#ececec;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
- ry="0" />
- </g>
+ d="m 189.13922,147.29253 2.11667,2.11667"
+ style="font-variation-settings:normal;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" />
+ <path
+ sodipodi:nodetypes="cc"
+ id="path4562-1"
+ d="m 186.49339,143.32378 4.7625,0"
+ style="font-variation-settings:normal;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" />
+ <ellipse
+ cy="143.32379"
+ cx="185.43506"
+ id="path4580-1"
+ style="font-variation-settings:normal;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
+ rx="1.0583334"
+ ry="1.0583365" />
+ <ellipse
+ cy="146.23419"
+ cx="147.34392"
+ id="path4580-1-3"
+ style="font-variation-settings:normal;display:inline;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
+ rx="1.0494802"
+ ry="1.0583365" />
+ <rect
+ y="143.32379"
+ x="190.19756"
+ height="0.79374915"
+ width="1.0583351"
+ id="rect4582-0"
+ style="font-variation-settings:normal;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
+ ry="0" />
<rect
y="156.3499"
x="158.61089"
@@ -705,24 +702,24 @@
d="m 159.92289,156.55554 c 0.22393,1.07871 -0.88582,2.33292 -1.18652,3.0127"
style="font-variation-settings:normal;display:inline;opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.528902;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" />
<path
- style="font-variation-settings:normal;display:inline;vector-effect:none;fill:#ececec;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
- d="m 159.63818,143.58837 h 5.82084 c 0.36236,0.51491 0.88791,0.92004 1.19063,1.19062 v 2.91042 c -0.41669,0.23146 -0.94165,0.69981 -1.19063,1.19062 h -5.82084 c -0.18245,-0.47189 -0.81101,-0.96279 -1.19062,-1.19062 v -2.91042 c 0.43314,-0.26661 1.05089,-0.81378 1.19062,-1.19062 z"
+ style="font-variation-settings:normal;display:inline;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
+ d="m 159.72965,143.58837 h 5.74465 c 0.36236,0.51491 0.87262,0.97596 1.17534,1.24654 v 2.77953 c -0.41669,0.23146 -0.93379,0.77478 -1.18277,1.26559 h -5.73765 c -0.18245,-0.47189 -0.90205,-1.03133 -1.28166,-1.25916 v -2.76821 c 0.43314,-0.26661 1.14236,-0.88745 1.28209,-1.26429 z"
id="path5271"
sodipodi:nodetypes="ccccccccc" />
<path
- style="font-variation-settings:normal;display:inline;vector-effect:none;fill:#ececec;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
+ style="font-variation-settings:normal;display:inline;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
d="m 164.00381,143.72066 v 5.02708"
id="path5602"
sodipodi:nodetypes="cc" />
<path
- style="font-variation-settings:normal;display:inline;vector-effect:none;fill:#ececec;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
+ style="font-variation-settings:normal;display:inline;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
d="m 159.63818,145.44045 h 2.91042"
id="path5620"
sodipodi:nodetypes="cc" />
<path
id="path5620-3"
d="m 159.63818,147.02795 h 2.91042"
- style="font-variation-settings:normal;display:inline;vector-effect:none;fill:#ececec;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
+ style="font-variation-settings:normal;display:inline;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
sodipodi:nodetypes="cc" />
<path
style="font-variation-settings:normal;display:inline;opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.528902;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
@@ -730,15 +727,15 @@
id="path5243-0"
sodipodi:nodetypes="cc" />
<path
- style="font-variation-settings:normal;display:inline;opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#8e0b0b;stroke-width:0.26458333;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
+ style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
d="m 123.0911,145.49381 -1.36064,1.74783 -0.66542,-0.57233"
id="path4309-3"
sodipodi:nodetypes="ccc" />
<path
sodipodi:nodetypes="ccc"
id="path4309-3-6"
- d="m 123.0911,148.08756 -1.36064,1.74783 -0.66542,-0.57233"
- style="font-variation-settings:normal;display:inline;opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#8e0b0b;stroke-width:0.26458333;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" />
+ d="m 123.0911,147.55839 -1.36064,1.74783 -0.66542,-0.57233"
+ style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" />
<path
d="m 241.31866,145.98907 0.32801,-0.0482 0.19241,0.0187 0.54261,0.24564 v 0.32246 l -0.54261,0.24564 -0.19241,0.0187 -0.32801,-0.0482 -0.15562,0.58079 0.30815,0.1223 0.15727,0.11239 0.34711,0.48404 -0.16124,0.27926 -0.59274,-0.0586 -0.17597,-0.08 -0.25999,-0.20573 -0.42517,0.42517 0.20573,0.25999 0.08,0.17597 0.0586,0.59274 -0.27926,0.16124 -0.48404,-0.34711 -0.11239,-0.15727 -0.1223,-0.30815 -0.58079,0.15562 0.0482,0.32801 -0.0187,0.19241 -0.24564,0.54261 h -0.32246 l -0.24564,-0.54261 -0.0187,-0.19241 0.0482,-0.32801 -0.58079,-0.15562 -0.1223,0.30815 -0.11239,0.15727 -0.48404,0.34711 -0.27926,-0.16124 0.0586,-0.59274 0.08,-0.17597 0.20573,-0.25999 -0.42517,-0.42517 -0.25999,0.20573 -0.17597,0.08 -0.59274,0.0586 -0.16124,-0.27926 0.34711,-0.48404 0.15727,-0.11239 0.30815,-0.1223 -0.15562,-0.58079 -0.32801,0.0482 -0.19241,-0.0187 -0.54261,-0.24564 v -0.32246 l 0.54261,-0.24564 0.19241,-0.0187 0.32801,0.0482 0.15562,-0.58079 -0.30815,-0.1223 -0.15727,-0.11239 -0.34711,-0.48404 0.16124,-0.27926 0.59274,0.0586 0.17597,0.08 0.25999,0.20573 0.42517,-0.42517 -0.20573,-0.25999 -0.08,-0.17597 -0.0586,-0.59274 0.27926,-0.16124 0.48404,0.34711 0.11239,0.15727 0.1223,0.30815 0.58079,-0.15562 -0.0482,-0.32801 0.0187,-0.19241 0.24564,-0.54261 h 0.32246 l 0.24564,0.54261 0.0187,0.19241 -0.0482,0.32801 0.58079,0.15562 0.1223,-0.30815 0.11239,-0.15727 0.48404,-0.34711 0.27926,0.16124 -0.0586,0.59274 -0.08,0.17597 -0.20573,0.25999 0.42517,0.42517 0.25999,-0.20573 0.17597,-0.08 0.59274,-0.0586 0.16124,0.27926 -0.34711,0.48404 -0.15727,0.11239 -0.30815,0.1223 z"
style="font-variation-settings:normal;display:inline;opacity:1;vector-effect:none;fill:#cecece;fill-opacity:1;stroke:#000000;stroke-width:0.26458333;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
@@ -751,27 +748,31 @@
cy="146.36647"
r="1.4924972" />
<rect
- style="font-variation-settings:normal;display:inline;opacity:1;vector-effect:none;fill:#ececec;fill-opacity:1;stroke:#333333;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
+ style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#333333;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
id="rect1291"
width="6.6145811"
- height="6.879168"
+ height="6.4278169"
x="95.74131"
- y="142.79462"
+ y="143.0592"
ry="0" />
- <rect
- style="font-variation-settings:normal;display:inline;opacity:1;vector-effect:none;fill:#ececec;fill-opacity:1;stroke:#4d4d4d;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
- id="rect1293"
- width="2.1166694"
- height="3.7041724"
- x="97.990265"
- y="144.38211" />
- <rect
- style="font-variation-settings:normal;display:inline;opacity:1;vector-effect:none;fill:url(#linearGradient1316);fill-opacity:1;stroke:none;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
- id="rect1304"
- width="2.1166694"
- height="1.852089"
- x="97.990265"
- y="144.38211" />
+ <g
+ id="g562"
+ transform="translate(0,0.03891575)">
+ <rect
+ style="font-variation-settings:normal;display:inline;opacity:1;vector-effect:none;fill:#ececec;fill-opacity:1;stroke:#4d4d4d;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
+ id="rect1293"
+ width="2.1166694"
+ height="3.7041724"
+ x="97.990265"
+ y="144.38211" />
+ <rect
+ style="font-variation-settings:normal;display:inline;opacity:1;vector-effect:none;fill:url(#linearGradient1316);fill-opacity:1;stroke:none;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
+ id="rect1304"
+ width="2.1166694"
+ height="1.852089"
+ x="97.990265"
+ y="144.38211" />
+ </g>
</g>
<g
inkscape:groupmode="layer"
@@ -1091,20 +1092,26 @@
x="259.91525"
y="197.56163" />
</g>
- <circle
- r="3.4979"
- cy="4.2333026"
+ <ellipse
+ cy="4.2333331"
cx="42.333332"
id="path4787-5"
- style="font-variation-settings:normal;display:inline;opacity:0.999;vector-effect:none;fill:#ececec;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000" />
- <path
- style="font-variation-settings:normal;display:inline;opacity:1;fill:#8e0b0b;fill-opacity:1;stroke:#8e0b0b;stroke-width:0.7;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
- d="m 40.471146,2.3711192 3.67137,3.67136"
- id="path1916"
- sodipodi:nodetypes="cc" />
- <path
- style="font-variation-settings:normal;display:inline;opacity:1;fill:#8e0b0b;fill-opacity:1;stroke:#8e0b0b;stroke-width:0.7;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
- d="m 40.497636,6.0689792 3.67137,-3.67136"
- id="path1916-9"
- sodipodi:nodetypes="cc" />
+ style="font-variation-settings:normal;display:inline;opacity:0.999;fill:none;fill-opacity:1;stroke:#343434;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
+ rx="3.307292"
+ ry="3.3072915" />
+ <g
+ id="g619"
+ transform="matrix(0.69160555,0,0,0.69160555,13.051277,1.3014398)"
+ style="stroke-width:1.44591;stroke:#343434;stroke-opacity:1">
+ <path
+ style="font-variation-settings:normal;display:inline;opacity:1;fill:#8e0b0b;fill-opacity:1;stroke:#343434;stroke-width:1.01214;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
+ d="m 40.471146,2.3711192 3.67137,3.67136"
+ id="path1916"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="font-variation-settings:normal;display:inline;opacity:1;fill:#8e0b0b;fill-opacity:1;stroke:#343434;stroke-width:1.01214;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
+ d="m 40.497636,6.0689792 3.67137,-3.67136"
+ id="path1916-9"
+ sodipodi:nodetypes="cc" />
+ </g>
</svg>
diff --git a/graphics/src/preferences_white.svg b/graphics/src/preferences_white.svg
index d06169801..333208197 100644
--- a/graphics/src/preferences_white.svg
+++ b/graphics/src/preferences_white.svg
@@ -39,6 +39,16 @@
y2="146.41513"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.96689231,0,0,1.0056282,3.2689299,-0.77321996)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient1314"
+ id="linearGradient5843"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.96689231,0,0,1.0056282,3.2689299,-0.77321996)"
+ x1="98.921783"
+ y1="144.93053"
+ x2="98.954666"
+ y2="146.41513" />
</defs>
<sodipodi:namedview
inkscape:pagecheckerboard="false"
@@ -48,17 +58,17 @@
showguides="false"
inkscape:window-maximized="1"
inkscape:window-y="0"
- inkscape:window-x="0"
- inkscape:window-height="1016"
+ inkscape:window-x="1920"
+ inkscape:window-height="1043"
inkscape:window-width="1920"
showborder="true"
showgrid="false"
inkscape:document-rotation="0"
- inkscape:current-layer="layer2"
+ inkscape:current-layer="layer5"
inkscape:document-units="mm"
- inkscape:cy="31.437497"
- inkscape:cx="99.31249"
- inkscape:zoom="8.0000008"
+ inkscape:cy="134.99999"
+ inkscape:cx="-308.99997"
+ inkscape:zoom="2.0000002"
inkscape:pageshadow="2"
inkscape:pageopacity="0"
borderopacity="1.0"
@@ -413,10 +423,389 @@
</g>
</g>
<g
+ inkscape:groupmode="layer"
+ id="layer5"
+ inkscape:label="black"
+ style="display:inline">
+ <g
+ transform="matrix(1.1551658,0,0,1.1392711,-260.71863,-162.60249)"
+ id="g1161-7"
+ style="display:inline;stroke-width:0.230636;stroke-miterlimit:4;stroke-dasharray:none">
+ <path
+ id="path1140-6"
+ style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#cecece;fill-opacity:1;stroke:#000000;stroke-width:0.230636;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
+ inkscape:transform-center-y="0.82979223"
+ d="m 251.35104,149.66655 c -1.02681,-2.04753 -2.2451,-3.29197 -2.25653,-4.23965 -0.0447,-3.29377 4.44748,-3.29377 4.51308,0 0.006,1.11239 -1.27158,2.19212 -2.25655,4.23965 z"
+ sodipodi:nodetypes="cccc"
+ inkscape:transform-center-x="-2.8553886e-06" />
+ <circle
+ style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.230636;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
+ id="path1157-7"
+ cx="251.29668"
+ cy="145.24889"
+ r="0.97841752" />
+ </g>
+ <rect
+ y="2.7392073"
+ x="-113.10938"
+ height="2.9104164"
+ width="1.5875053"
+ id="rect4197-3"
+ style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" />
+ <path
+ sodipodi:open="true"
+ sodipodi:arc-type="arc"
+ sodipodi:end="0.62542306"
+ sodipodi:start="5.6119701"
+ sodipodi:ry="4.2965121"
+ sodipodi:rx="4.0784903"
+ sodipodi:cy="4.191524"
+ sodipodi:cx="-110.83997"
+ sodipodi:type="arc"
+ id="path4260-6"
+ style="font-variation-settings:normal;display:inline;fill:none;fill-opacity:1;stroke:#cccccc;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
+ d="m -107.64624,1.5193597 a 4.0784903,4.2965121 0 0 1 0.11277,5.1875157" />
+ <path
+ sodipodi:nodetypes="ccccc"
+ id="path4276-5"
+ d="m -111.52187,2.7392025 2.64583,-1.96509998 V 7.6340025 l -2.64583,-1.98438 z"
+ style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" />
+ <path
+ sodipodi:nodetypes="cc"
+ id="path4285-6"
+ d="m -98.160413,2.2100425 h 3.43959"
+ style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#cccccc;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" />
+ <path
+ sodipodi:nodetypes="ccc"
+ id="path4309-39"
+ d="m -98.724163,1.3178525 -1.360637,1.74783 -0.66542,-0.57233"
+ style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" />
+ <path
+ style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#cccccc;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
+ d="m -98.160413,6.4433725 h 3.43959"
+ id="path4285-2-4"
+ sodipodi:nodetypes="cc" />
+ <path
+ sodipodi:nodetypes="cc"
+ id="path4285-2-8-8"
+ d="m -98.160413,4.3267025 h 3.43959"
+ style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#cccccc;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" />
+ <path
+ style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
+ d="m -73.421873,4.0621225 h 4.89479"
+ id="path4562-12"
+ sodipodi:nodetypes="cc" />
+ <rect
+ style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
+ id="rect4582-9"
+ width="1.0583345"
+ height="0.79375434"
+ x="-69.71772"
+ y="4.0621142"
+ ry="4.4042968e-06"
+ rx="4.4042968e-06" />
+ <rect
+ y="1.4162862"
+ x="-50.403126"
+ height="5.2916665"
+ width="7.672914"
+ id="rect4591-3"
+ style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" />
+ <path
+ id="path4718-9"
+ d="m -50.403123,1.4162925 3.83653,3.57677 3.70409,-3.44448"
+ style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
+ sodipodi:nodetypes="ccc" />
+ <path
+ id="path4720-08"
+ d="m -50.403123,6.7079525 2.76231,-2.86677"
+ style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
+ d="m -45.508333,3.9298325 2.77812,2.77812"
+ id="path4720-0-8"
+ sodipodi:nodetypes="cc" />
+ <ellipse
+ id="path4787-50"
+ style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
+ ry="3.3072872"
+ rx="3.3072913"
+ cy="4.1944079"
+ cx="-21.166674" />
+ <g
+ id="g582"
+ transform="translate(-221.73487,-141.82838)"
+ style="font-variation-settings:normal;display:inline;opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000;stop-opacity:1">
+ <path
+ sodipodi:nodetypes="ccccc"
+ id="path4877-9"
+ d="m 200.28386,146.79012 -0.17246,-2.76157 0.93775,-7.5e-4 -0.18613,2.75992 z"
+ style="font-variation-settings:normal;display:inline;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000;stop-opacity:1" />
+ <rect
+ y="147.61362"
+ x="200.37903"
+ height="0.40427679"
+ width="0.40427679"
+ id="rect4879-6"
+ style="font-variation-settings:normal;display:inline;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000;stop-opacity:1" />
+ </g>
+ <rect
+ style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
+ id="rect4416-5-3"
+ width="6.6145797"
+ height="6.3500004"
+ x="-11.773958"
+ y="0.88712668" />
+ <g
+ id="g588"
+ transform="translate(-221.81526,-142.96583)"
+ style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1">
+ <path
+ sodipodi:nodetypes="cc"
+ style="font-variation-settings:normal;display:inline;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
+ d="m 211.23193,144.91128 h 1.85208"
+ id="path4911-6-8" />
+ <path
+ id="path4911-6-9-5"
+ d="m 211.23193,146.2342 h 2.91041"
+ style="font-variation-settings:normal;display:inline;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
+ sodipodi:nodetypes="cc" />
+ <path
+ id="path4911-6-2-6"
+ d="m 211.23193,147.55712 h 3.70416"
+ style="font-variation-settings:normal;display:inline;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
+ sodipodi:nodetypes="cc" />
+ <path
+ id="path4911-6-24-1"
+ d="m 211.23193,148.88003 h 1.5875"
+ style="font-variation-settings:normal;display:inline;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
+ sodipodi:nodetypes="cc" />
+ </g>
+ <rect
+ y="0.62253928"
+ x="-87.444794"
+ height="6.8744421"
+ width="5.8208375"
+ id="rect4416-1"
+ style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
+ ry="0" />
+ <path
+ id="path4422-59"
+ d="m -86.254173,3.0037925 h 3.43959"
+ style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#cccccc;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#cccccc;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
+ d="m -86.254173,4.0621225 h 3.43959"
+ id="path4422-5-8"
+ sodipodi:nodetypes="cc" />
+ <path
+ id="path4422-5-3-4"
+ d="m -86.254173,1.9454525 h 3.43959"
+ style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#cccccc;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
+ sodipodi:nodetypes="cc" />
+ <path
+ id="path4981-8"
+ d="m -86.254173,6.4433725 h 0.52917"
+ style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#cccccc;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
+ sodipodi:nodetypes="cc" />
+ <rect
+ ry="1.0526322"
+ rx="1.0333338"
+ y="1.4162862"
+ x="0.132292"
+ height="5.2916737"
+ width="8.2020826"
+ id="rect5003-1"
+ style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" />
+ <path
+ transform="scale(1,-1)"
+ sodipodi:arc-type="slice"
+ sodipodi:end="3.1415927"
+ sodipodi:start="0"
+ sodipodi:ry="1.145589"
+ sodipodi:rx="1.1472777"
+ sodipodi:cy="-5.2838397"
+ sodipodi:cx="2.5268996"
+ sodipodi:type="arc"
+ id="path5005-0"
+ style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
+ d="m 3.6741773,-5.2838397 a 1.1472777,1.145589 0 0 1 -0.5736389,0.9921092 1.1472777,1.145589 0 0 1 -1.1472777,0 1.1472777,1.145589 0 0 1 -0.5736388,-0.9921092 h 1.1472777 z" />
+ <ellipse
+ cy="3.1594048"
+ cx="2.5556624"
+ id="path5007-3"
+ style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
+ rx="0.69045985"
+ ry="0.68944359" />
+ <rect
+ y="0.62253928"
+ x="4.1010423"
+ height="1.0583328"
+ width="0.5291636"
+ id="rect5009-0"
+ style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" />
+ <path
+ id="path5026-4"
+ d="m 4.7624966,2.7392025 h 2.38125"
+ style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
+ d="m 4.7624966,5.3850425 h 2.38125"
+ id="path5026-8-4"
+ sodipodi:nodetypes="cc" />
+ <path
+ id="path5026-8-9-4"
+ d="m 4.7624966,4.0621225 h 2.38125"
+ style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
+ sodipodi:nodetypes="cc" />
+ <rect
+ style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
+ id="rect4591-6-4"
+ width="6.6209679"
+ height="4.2333322"
+ x="-37.177155"
+ y="3.0037956" />
+ <path
+ style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
+ d="m -37.173963,3.0037925 3.30401,3.175 3.31058,-3.175"
+ id="path4718-8-7"
+ sodipodi:nodetypes="ccc" />
+ <path
+ sodipodi:nodetypes="cc"
+ style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
+ d="m -37.173963,7.2371225 2.11667,-2.11667"
+ id="path4720-02-6" />
+ <path
+ sodipodi:nodetypes="cc"
+ id="path4720-0-1-3"
+ d="m -32.676043,5.1204525 2.11667,2.11667"
+ style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" />
+ <path
+ sodipodi:nodetypes="cc"
+ id="path4562-1-1"
+ d="m -35.321873,1.1517025 h 4.7625"
+ style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" />
+ <ellipse
+ cy="1.1517141"
+ cx="-36.380203"
+ id="path4580-1-7"
+ style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
+ rx="1.0583334"
+ ry="1.0583365" />
+ <ellipse
+ cy="4.0621142"
+ cx="-74.471344"
+ id="path4580-1-3"
+ style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
+ rx="1.0494802"
+ ry="1.0583365" />
+ <rect
+ y="1.1517141"
+ x="-31.617708"
+ height="0.79374915"
+ width="1.0583351"
+ id="rect4582-0-5"
+ style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
+ ry="0" />
+ <path
+ style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
+ d="m -62.085613,1.4162925 h 5.74465 c 0.36236,0.51491 0.87262,0.97596 1.17534,1.24654 v 2.77953 c -0.41669,0.23146 -0.93379,0.77478 -1.18277,1.26559 h -5.73765 c -0.18245,-0.47189 -0.90205,-1.03133 -1.28166,-1.25916 v -2.76821 c 0.43314,-0.26661 1.14236,-0.88745 1.28209,-1.26429 z"
+ id="path5271-9"
+ sodipodi:nodetypes="ccccccccc" />
+ <path
+ style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
+ d="m -57.811453,1.5485825 v 5.02708"
+ id="path5602-6"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
+ d="m -62.177083,3.2683725 h 2.91042"
+ id="path5620-2"
+ sodipodi:nodetypes="cc" />
+ <path
+ id="path5620-3-1"
+ d="m -62.177083,4.8558725 h 2.91042"
+ style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
+ d="m -98.724163,3.3217325 -1.360637,1.74783 -0.66542,-0.57233"
+ id="path4309-3-7"
+ sodipodi:nodetypes="ccc" />
+ <path
+ sodipodi:nodetypes="ccc"
+ id="path4309-3-6-8"
+ d="m -98.724163,5.3863125 -1.360637,1.74783 -0.66542,-0.57233"
+ style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1" />
+ <path
+ d="m 19.503397,3.8169925 0.32801,-0.0482 0.19241,0.0187 0.54261,0.24564 v 0.32246 l -0.54261,0.24564 -0.19241,0.0187 -0.32801,-0.0482 -0.15562,0.58079 0.30815,0.1223 0.15727,0.11239 0.34711,0.48404 -0.16124,0.27926 -0.59274,-0.0586 -0.17597,-0.08 -0.25999,-0.20573 -0.42517,0.42517 0.20573,0.25999 0.08,0.17597 0.0586,0.59274 -0.27926,0.16124 -0.48404,-0.34711 -0.11239,-0.15727 -0.1223,-0.30815 -0.58079,0.15562 0.0482,0.32801 -0.0187,0.19241 -0.24564,0.54261 h -0.32246 l -0.24564,-0.54261 -0.0187,-0.19241 0.0482,-0.32801 -0.58079,-0.15562 -0.1223,0.30815 -0.11239,0.15727 -0.48404,0.34711 -0.27926,-0.16124 0.0586,-0.59274 0.08,-0.17597 0.20573,-0.25999 -0.42517,-0.42517 -0.25999,0.20573 -0.17597,0.08 -0.59274,0.0586 -0.16124,-0.27926 0.34711,-0.48404 0.15727,-0.11239 0.30815,-0.1223 -0.15562,-0.58079 -0.32801,0.0482 -0.19241,-0.0187 -0.54261,-0.24564 v -0.32246 l 0.54261,-0.24564 0.19241,-0.0187 0.32801,0.0482 0.15562,-0.58079 -0.30815,-0.1223 -0.15727,-0.11239 -0.34711,-0.48404 0.16124,-0.27926 0.59274,0.0586 0.17597,0.08 0.25999,0.20573 0.42517,-0.42517 -0.20573,-0.25999 -0.08,-0.17597 -0.0586,-0.59274 0.27926,-0.16123998 0.48404,0.34710998 0.11239,0.15727 0.1223,0.30815 0.58079,-0.15562 -0.0482,-0.32801 0.0187,-0.19241 0.24564,-0.54260998 h 0.32246 l 0.24564,0.54260998 0.0187,0.19241 -0.0482,0.32801 0.58079,0.15562 0.1223,-0.30815 0.11239,-0.15727 0.48404,-0.34710998 0.27926,0.16123998 -0.0586,0.59274 -0.08,0.17597 -0.20573,0.25999 0.42517,0.42517 0.25999,-0.20573 0.17597,-0.08 0.59274,-0.0586 0.16124,0.27926 -0.34711,0.48404 -0.15727,0.11239 -0.30815,0.1223 z"
+ style="font-variation-settings:normal;display:inline;vector-effect:none;fill:#cecece;fill-opacity:1;stroke:#000000;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000"
+ id="path4521-5"
+ inkscape:connector-curvature="0" />
+ <circle
+ style="display:inline;fill:#f2f2f2;stroke:#000000;stroke-width:0.249;stroke-miterlimit:4;stroke-dasharray:none"
+ id="path4523-7"
+ cx="16.933332"
+ cy="4.1943927"
+ r="1.4924972" />
+ <rect
+ style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
+ id="rect1291-4"
+ width="6.6145811"
+ height="6.4278169"
+ x="-126.07395"
+ y="0.88712835"
+ ry="0" />
+ <g
+ id="g562"
+ transform="translate(-221.81526,-142.13316)"
+ style="display:inline">
+ <rect
+ style="font-variation-settings:normal;display:inline;opacity:1;vector-effect:none;fill:#ececec;fill-opacity:1;stroke:#4d4d4d;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
+ id="rect1293-1"
+ width="2.1166694"
+ height="3.7041724"
+ x="97.990265"
+ y="144.38211" />
+ <rect
+ style="font-variation-settings:normal;display:inline;opacity:1;vector-effect:none;fill:url(#linearGradient5843);fill-opacity:1;stroke:none;stroke-width:0.264583;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
+ id="rect1304-8"
+ width="2.1166694"
+ height="1.852089"
+ x="97.990265"
+ y="144.38211" />
+ </g>
+ <ellipse
+ cy="4.1944213"
+ cx="42.333328"
+ id="path4787-5-5"
+ style="font-variation-settings:normal;display:inline;opacity:1;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
+ rx="3.307292"
+ ry="3.3072915" />
+ <g
+ id="g619"
+ transform="matrix(0.69160555,0,0,0.69160555,13.051273,1.2625285)"
+ style="stroke:#ffffff;stroke-width:1.44591;stroke-opacity:1">
+ <path
+ style="font-variation-settings:normal;display:inline;opacity:1;fill:#8e0b0b;fill-opacity:1;stroke:#ffffff;stroke-width:1.01214;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
+ d="m 40.471146,2.3711192 3.67137,3.67136"
+ id="path1916-97"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="font-variation-settings:normal;display:inline;opacity:1;fill:#8e0b0b;fill-opacity:1;stroke:#ffffff;stroke-width:1.01214;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
+ d="m 40.497636,6.0689792 3.67137,-3.67136"
+ id="path1916-9-5"
+ sodipodi:nodetypes="cc" />
+ </g>
+ </g>
+ <g
inkscape:label="New"
id="layer2"
inkscape:groupmode="layer"
- style="display:inline"
+ style="display:none"
transform="translate(-221.81526,-142.13316)">
<rect
y="144.91129"
diff --git a/run/tests b/run/tests
index 12d59346d..4315e227f 100755
--- a/run/tests
+++ b/run/tests
@@ -3,7 +3,7 @@
# e.g. --run_tests=foo
set -e
-PRIVATE_GIT="59b62615a48a1f3a70e9c028b92dfba75c1719ba"
+PRIVATE_GIT="f4b0c41b263a17cf33edae7565f16bd21eb80b65"
if [ "$1" == "--check" ]; then
shift 1
diff --git a/src/lib/image.cc b/src/lib/image.cc
index 2588d9f21..2167918f8 100644
--- a/src/lib/image.cc
+++ b/src/lib/image.cc
@@ -339,6 +339,10 @@ Image::scale (dcp::Size out_size, dcp::YUVToRGB yuv_to_rgb, AVPixelFormat out_fo
the input image alignment is not PADDED.
*/
DCPOMATIC_ASSERT (alignment() == Alignment::PADDED);
+ DCPOMATIC_ASSERT(size().width > 0);
+ DCPOMATIC_ASSERT(size().height > 0);
+ DCPOMATIC_ASSERT(out_size.width > 0);
+ DCPOMATIC_ASSERT(out_size.height > 0);
auto scaled = make_shared<Image>(out_format, out_size, out_alignment);
auto scale_context = sws_getContext (
@@ -347,6 +351,8 @@ Image::scale (dcp::Size out_size, dcp::YUVToRGB yuv_to_rgb, AVPixelFormat out_fo
(fast ? SWS_FAST_BILINEAR : SWS_BICUBIC) | SWS_ACCURATE_RND, 0, 0, 0
);
+ DCPOMATIC_ASSERT(scale_context);
+
DCPOMATIC_ASSERT (yuv_to_rgb < dcp::YUVToRGB::COUNT);
EnumIndexedVector<int, dcp::YUVToRGB> lut;
lut[dcp::YUVToRGB::REC601] = SWS_CS_ITU601;
@@ -642,7 +648,8 @@ struct TargetParams
};
-struct OtherParams
+/** Parameters of the other image (the one being blended onto the target) when target and other are RGB */
+struct OtherRGBParams
{
int start_x;
int start_y;
@@ -661,9 +668,24 @@ struct OtherParams
};
+/** Parameters of the other image (the one being blended onto the target) when target and other are YUV */
+struct OtherYUVParams
+{
+ int start_x;
+ int start_y;
+ dcp::Size size;
+ uint8_t* const* data;
+ int const* stride;
+
+ uint8_t* const* alpha_data;
+ int const* alpha_stride;
+ int alpha_bpp;
+};
+
+
template <class OtherType>
void
-alpha_blend_onto_rgb24(TargetParams const& target, OtherParams const& other, int red, int blue, std::function<float (OtherType*)> get, int value_divisor)
+alpha_blend_onto_rgb24(TargetParams const& target, OtherRGBParams const& other, int red, int blue, std::function<float (OtherType*)> get, int value_divisor)
{
/* Going onto RGB24. First byte is red, second green, third blue */
auto const alpha_divisor = other.alpha_divisor();
@@ -685,7 +707,7 @@ alpha_blend_onto_rgb24(TargetParams const& target, OtherParams const& other, int
template <class OtherType>
void
-alpha_blend_onto_bgra(TargetParams const& target, OtherParams const& other, int red, int blue, std::function<float (OtherType*)> get, int value_divisor)
+alpha_blend_onto_bgra(TargetParams const& target, OtherRGBParams const& other, int red, int blue, std::function<float (OtherType*)> get, int value_divisor)
{
auto const alpha_divisor = other.alpha_divisor();
for (int ty = target.start_y, oy = other.start_y; ty < target.size.height && oy < other.size.height; ++ty, ++oy) {
@@ -707,7 +729,7 @@ alpha_blend_onto_bgra(TargetParams const& target, OtherParams const& other, int
template <class OtherType>
void
-alpha_blend_onto_rgba(TargetParams const& target, OtherParams const& other, int red, int blue, std::function<float (OtherType*)> get, int value_divisor)
+alpha_blend_onto_rgba(TargetParams const& target, OtherRGBParams const& other, int red, int blue, std::function<float (OtherType*)> get, int value_divisor)
{
auto const alpha_divisor = other.alpha_divisor();
for (int ty = target.start_y, oy = other.start_y; ty < target.size.height && oy < other.size.height; ++ty, ++oy) {
@@ -729,7 +751,7 @@ alpha_blend_onto_rgba(TargetParams const& target, OtherParams const& other, int
template <class OtherType>
void
-alpha_blend_onto_rgb48le(TargetParams const& target, OtherParams const& other, int red, int blue, std::function<float (OtherType*)> get, int value_scale)
+alpha_blend_onto_rgb48le(TargetParams const& target, OtherRGBParams const& other, int red, int blue, std::function<float (OtherType*)> get, int value_scale)
{
auto const alpha_divisor = other.alpha_divisor();
for (int ty = target.start_y, oy = other.start_y; ty < target.size.height && oy < other.size.height; ++ty, ++oy) {
@@ -750,7 +772,7 @@ alpha_blend_onto_rgb48le(TargetParams const& target, OtherParams const& other, i
template <class OtherType>
void
-alpha_blend_onto_xyz12le(TargetParams const& target, OtherParams const& other, int red, int blue, std::function<float (OtherType*)> get, int value_divisor)
+alpha_blend_onto_xyz12le(TargetParams const& target, OtherRGBParams const& other, int red, int blue, std::function<float (OtherType*)> get, int value_divisor)
{
auto const alpha_divisor = other.alpha_divisor();
auto conv = dcp::ColourConversion::srgb_to_xyz();
@@ -788,7 +810,7 @@ alpha_blend_onto_xyz12le(TargetParams const& target, OtherParams const& other, i
static
void
-alpha_blend_onto_yuv420p(TargetParams const& target, OtherParams const& other, uint8_t* const* alpha_data, int const* alpha_stride)
+alpha_blend_onto_yuv420p(TargetParams const& target, OtherYUVParams const& other, std::function<float (uint8_t* data)> get_alpha)
{
auto const ts = target.size;
auto const os = other.size;
@@ -801,9 +823,9 @@ alpha_blend_onto_yuv420p(TargetParams const& target, OtherParams const& other, u
uint8_t* oY = other.data[0] + (oy * other.stride[0]) + other.start_x;
uint8_t* oU = other.data[1] + (hoy * other.stride[1]) + other.start_x / 2;
uint8_t* oV = other.data[2] + (hoy * other.stride[2]) + other.start_x / 2;
- uint8_t* alpha = alpha_data[0] + (oy * alpha_stride[0]) + other.start_x * 4;
+ uint8_t* alpha = other.alpha_data[0] + (oy * other.alpha_stride[0]) + other.start_x * other.alpha_bpp;
for (int tx = target.start_x, ox = other.start_x; tx < ts.width && ox < os.width; ++tx, ++ox) {
- float const a = float(alpha[3]) / 255;
+ float const a = get_alpha(alpha);
*tY = *oY * a + *tY * (1 - a);
*tU = *oU * a + *tU * (1 - a);
*tV = *oV * a + *tV * (1 - a);
@@ -817,7 +839,7 @@ alpha_blend_onto_yuv420p(TargetParams const& target, OtherParams const& other, u
++oU;
++oV;
}
- alpha += 4;
+ alpha += other.alpha_bpp;
}
}
}
@@ -825,7 +847,7 @@ alpha_blend_onto_yuv420p(TargetParams const& target, OtherParams const& other, u
static
void
-alpha_blend_onto_yuv420p10(TargetParams const& target, OtherParams const& other, uint8_t* const* alpha_data, int const* alpha_stride)
+alpha_blend_onto_yuv420p10(TargetParams const& target, OtherYUVParams const& other, std::function<float (uint8_t* data)> get_alpha)
{
auto const ts = target.size;
auto const os = other.size;
@@ -838,9 +860,9 @@ alpha_blend_onto_yuv420p10(TargetParams const& target, OtherParams const& other,
uint16_t* oY = reinterpret_cast<uint16_t*>(other.data[0] + (oy * other.stride[0])) + other.start_x;
uint16_t* oU = reinterpret_cast<uint16_t*>(other.data[1] + (hoy * other.stride[1])) + other.start_x / 2;
uint16_t* oV = reinterpret_cast<uint16_t*>(other.data[2] + (hoy * other.stride[2])) + other.start_x / 2;
- uint8_t* alpha = alpha_data[0] + (oy * alpha_stride[0]) + other.start_x * 4;
+ uint8_t* alpha = other.alpha_data[0] + (oy * other.alpha_stride[0]) + other.start_x * other.alpha_bpp;
for (int tx = target.start_x, ox = other.start_x; tx < ts.width && ox < os.width; ++tx, ++ox) {
- float const a = float(alpha[3]) / 255;
+ float const a = get_alpha(alpha);
*tY = *oY * a + *tY * (1 - a);
*tU = *oU * a + *tU * (1 - a);
*tV = *oV * a + *tV * (1 - a);
@@ -854,7 +876,7 @@ alpha_blend_onto_yuv420p10(TargetParams const& target, OtherParams const& other,
++oU;
++oV;
}
- alpha += 4;
+ alpha += other.alpha_bpp;
}
}
}
@@ -862,7 +884,7 @@ alpha_blend_onto_yuv420p10(TargetParams const& target, OtherParams const& other,
static
void
-alpha_blend_onto_yuv422p9or10le(TargetParams const& target, OtherParams const& other, uint8_t* const* alpha_data, int const* alpha_stride)
+alpha_blend_onto_yuv422p9or10le(TargetParams const& target, OtherYUVParams const& other, std::function<float (uint8_t* data)> get_alpha)
{
auto const ts = target.size;
auto const os = other.size;
@@ -873,9 +895,9 @@ alpha_blend_onto_yuv422p9or10le(TargetParams const& target, OtherParams const& o
uint16_t* oY = reinterpret_cast<uint16_t*>(other.data[0] + (oy * other.stride[0])) + other.start_x;
uint16_t* oU = reinterpret_cast<uint16_t*>(other.data[1] + (oy * other.stride[1])) + other.start_x / 2;
uint16_t* oV = reinterpret_cast<uint16_t*>(other.data[2] + (oy * other.stride[2])) + other.start_x / 2;
- uint8_t* alpha = alpha_data[0] + (oy * alpha_stride[0]) + other.start_x * 4;
+ uint8_t* alpha = other.alpha_data[0] + (oy * other.alpha_stride[0]) + other.start_x * other.alpha_bpp;
for (int tx = target.start_x, ox = other.start_x; tx < ts.width && ox < os.width; ++tx, ++ox) {
- float const a = float(alpha[3]) / 255;
+ float const a = get_alpha(alpha);
*tY = *oY * a + *tY * (1 - a);
*tU = *oU * a + *tU * (1 - a);
*tV = *oV * a + *tV * (1 - a);
@@ -889,7 +911,38 @@ alpha_blend_onto_yuv422p9or10le(TargetParams const& target, OtherParams const& o
++oU;
++oV;
}
- alpha += 4;
+ alpha += other.alpha_bpp;
+ }
+ }
+}
+
+
+static
+void
+alpha_blend_onto_yuv444p9or10le(TargetParams const& target, OtherYUVParams const& other, std::function<float (uint8_t* data)> get_alpha)
+{
+ auto const ts = target.size;
+ auto const os = other.size;
+ for (int ty = target.start_y, oy = other.start_y; ty < ts.height && oy < os.height; ++ty, ++oy) {
+ uint16_t* tY = reinterpret_cast<uint16_t*>(target.data[0] + (ty * target.stride[0])) + target.start_x;
+ uint16_t* tU = reinterpret_cast<uint16_t*>(target.data[1] + (ty * target.stride[1])) + target.start_x;
+ uint16_t* tV = reinterpret_cast<uint16_t*>(target.data[2] + (ty * target.stride[2])) + target.start_x;
+ uint16_t* oY = reinterpret_cast<uint16_t*>(other.data[0] + (oy * other.stride[0])) + other.start_x;
+ uint16_t* oU = reinterpret_cast<uint16_t*>(other.data[1] + (oy * other.stride[1])) + other.start_x;
+ uint16_t* oV = reinterpret_cast<uint16_t*>(other.data[2] + (oy * other.stride[2])) + other.start_x;
+ uint8_t* alpha = other.alpha_data[0] + (oy * other.alpha_stride[0]) + other.start_x * other.alpha_bpp;
+ for (int tx = target.start_x, ox = other.start_x; tx < ts.width && ox < os.width; ++tx, ++ox) {
+ float const a = get_alpha(alpha);
+ *tY = *oY * a + *tY * (1 - a);
+ *tU = *oU * a + *tU * (1 - a);
+ *tV = *oV * a + *tV * (1 - a);
+ ++tY;
+ ++oY;
+ ++tU;
+ ++tV;
+ ++oU;
+ ++oV;
+ alpha += other.alpha_bpp;
}
}
}
@@ -932,7 +985,7 @@ Image::alpha_blend (shared_ptr<const Image> other, Position<int> position)
0
};
- OtherParams other_params = {
+ OtherRGBParams other_rgb_params = {
start_ox,
start_oy,
other->size(),
@@ -941,6 +994,17 @@ Image::alpha_blend (shared_ptr<const Image> other, Position<int> position)
other->pixel_format() == AV_PIX_FMT_RGBA64BE ? 8 : 4
};
+ OtherYUVParams other_yuv_params = {
+ start_ox,
+ start_oy,
+ other->size(),
+ other->data(),
+ other->stride(),
+ nullptr,
+ nullptr,
+ other->pixel_format() == AV_PIX_FMT_RGBA64BE ? 8 : 4
+ };
+
auto byteswap = [](uint16_t* p) {
return (*p >> 8) | ((*p & 0xff) << 8);
};
@@ -949,70 +1013,111 @@ Image::alpha_blend (shared_ptr<const Image> other, Position<int> position)
return *p;
};
+ auto get_alpha_64be = [](uint8_t* p) {
+ return ((static_cast<int16_t>(p[6]) << 8) | p[7]) / 65535.0f;
+ };
+
+ auto get_alpha_byte = [](uint8_t* p) {
+ return p[3] / 255.0f;
+ };
+
switch (_pixel_format) {
case AV_PIX_FMT_RGB24:
target_params.bpp = 3;
if (other->pixel_format() == AV_PIX_FMT_RGBA64BE) {
- alpha_blend_onto_rgb24<uint16_t>(target_params, other_params, red, blue, byteswap, 256);
+ alpha_blend_onto_rgb24<uint16_t>(target_params, other_rgb_params, red, blue, byteswap, 256);
} else {
- alpha_blend_onto_rgb24<uint8_t>(target_params, other_params, red, blue, pass, 1);
+ alpha_blend_onto_rgb24<uint8_t>(target_params, other_rgb_params, red, blue, pass, 1);
}
break;
case AV_PIX_FMT_BGRA:
target_params.bpp = 4;
if (other->pixel_format() == AV_PIX_FMT_RGBA64BE) {
- alpha_blend_onto_bgra<uint16_t>(target_params, other_params, red, blue, byteswap, 256);
+ alpha_blend_onto_bgra<uint16_t>(target_params, other_rgb_params, red, blue, byteswap, 256);
} else {
- alpha_blend_onto_bgra<uint8_t>(target_params, other_params, red, blue, pass, 1);
+ alpha_blend_onto_bgra<uint8_t>(target_params, other_rgb_params, red, blue, pass, 1);
}
break;
case AV_PIX_FMT_RGBA:
target_params.bpp = 4;
if (other->pixel_format() == AV_PIX_FMT_RGBA64BE) {
- alpha_blend_onto_rgba<uint16_t>(target_params, other_params, red, blue, byteswap, 256);
+ alpha_blend_onto_rgba<uint16_t>(target_params, other_rgb_params, red, blue, byteswap, 256);
} else {
- alpha_blend_onto_rgba<uint8_t>(target_params, other_params, red, blue, pass, 1);
+ alpha_blend_onto_rgba<uint8_t>(target_params, other_rgb_params, red, blue, pass, 1);
}
break;
case AV_PIX_FMT_RGB48LE:
target_params.bpp = 6;
if (other->pixel_format() == AV_PIX_FMT_RGBA64BE) {
- alpha_blend_onto_rgb48le<uint16_t>(target_params, other_params, red, blue, byteswap, 1);
+ alpha_blend_onto_rgb48le<uint16_t>(target_params, other_rgb_params, red, blue, byteswap, 1);
} else {
- alpha_blend_onto_rgb48le<uint8_t>(target_params, other_params, red, blue, pass, 256);
+ alpha_blend_onto_rgb48le<uint8_t>(target_params, other_rgb_params, red, blue, pass, 256);
}
break;
case AV_PIX_FMT_XYZ12LE:
target_params.bpp = 6;
if (other->pixel_format() == AV_PIX_FMT_RGBA64BE) {
- alpha_blend_onto_xyz12le<uint16_t>(target_params, other_params, red, blue, byteswap, 256);
+ alpha_blend_onto_xyz12le<uint16_t>(target_params, other_rgb_params, red, blue, byteswap, 256);
} else {
- alpha_blend_onto_xyz12le<uint8_t>(target_params, other_params, red, blue, pass, 1);
+ alpha_blend_onto_xyz12le<uint8_t>(target_params, other_rgb_params, red, blue, pass, 1);
}
break;
case AV_PIX_FMT_YUV420P:
{
auto yuv = other->convert_pixel_format (dcp::YUVToRGB::REC709, _pixel_format, Alignment::COMPACT, false);
- other_params.data = yuv->data();
- other_params.stride = yuv->stride();
- alpha_blend_onto_yuv420p(target_params, other_params, other->data(), other->stride());
+ other_yuv_params.data = yuv->data();
+ other_yuv_params.stride = yuv->stride();
+ other_yuv_params.alpha_data = other->data();
+ other_yuv_params.alpha_stride = other->stride();
+ if (other->pixel_format() == AV_PIX_FMT_RGBA64BE) {
+ alpha_blend_onto_yuv420p(target_params, other_yuv_params, get_alpha_64be);
+ } else {
+ alpha_blend_onto_yuv420p(target_params, other_yuv_params, get_alpha_byte);
+ }
break;
}
case AV_PIX_FMT_YUV420P10:
{
auto yuv = other->convert_pixel_format (dcp::YUVToRGB::REC709, _pixel_format, Alignment::COMPACT, false);
- other_params.data = yuv->data();
- other_params.stride = yuv->stride();
- alpha_blend_onto_yuv420p10(target_params, other_params, other->data(), other->stride());
+ other_yuv_params.data = yuv->data();
+ other_yuv_params.stride = yuv->stride();
+ other_yuv_params.alpha_data = other->data();
+ other_yuv_params.alpha_stride = other->stride();
+ if (other->pixel_format() == AV_PIX_FMT_RGBA64BE) {
+ alpha_blend_onto_yuv420p10(target_params, other_yuv_params, get_alpha_64be);
+ } else {
+ alpha_blend_onto_yuv420p10(target_params, other_yuv_params, get_alpha_byte);
+ }
break;
}
case AV_PIX_FMT_YUV422P9LE:
case AV_PIX_FMT_YUV422P10LE:
{
auto yuv = other->convert_pixel_format (dcp::YUVToRGB::REC709, _pixel_format, Alignment::COMPACT, false);
- other_params.data = yuv->data();
- other_params.stride = yuv->stride();
- alpha_blend_onto_yuv422p9or10le(target_params, other_params, other->data(), other->stride());
+ other_yuv_params.data = yuv->data();
+ other_yuv_params.stride = yuv->stride();
+ other_yuv_params.alpha_data = other->data();
+ other_yuv_params.alpha_stride = other->stride();
+ if (other->pixel_format() == AV_PIX_FMT_RGBA64BE) {
+ alpha_blend_onto_yuv422p9or10le(target_params, other_yuv_params, get_alpha_64be);
+ } else {
+ alpha_blend_onto_yuv422p9or10le(target_params, other_yuv_params, get_alpha_byte);
+ }
+ break;
+ }
+ case AV_PIX_FMT_YUV444P9LE:
+ case AV_PIX_FMT_YUV444P10LE:
+ {
+ auto yuv = other->convert_pixel_format (dcp::YUVToRGB::REC709, _pixel_format, Alignment::COMPACT, false);
+ other_yuv_params.data = yuv->data();
+ other_yuv_params.stride = yuv->stride();
+ other_yuv_params.alpha_data = other->data();
+ other_yuv_params.alpha_stride = other->stride();
+ if (other->pixel_format() == AV_PIX_FMT_RGBA64BE) {
+ alpha_blend_onto_yuv444p9or10le(target_params, other_yuv_params, get_alpha_64be);
+ } else {
+ alpha_blend_onto_yuv444p9or10le(target_params, other_yuv_params, get_alpha_byte);
+ }
break;
}
default:
diff --git a/src/lib/player.cc b/src/lib/player.cc
index 9debbaf7b..888c56aec 100644
--- a/src/lib/player.cc
+++ b/src/lib/player.cc
@@ -912,7 +912,7 @@ Player::open_subtitles_for_frame (DCPTime time) const
/* Bitmap subtitles */
for (auto i: j.bitmap) {
- if (!i.image) {
+ if (!i.image || i.image->size().width == 0 || i.image->size().height == 0) {
continue;
}
@@ -933,7 +933,10 @@ Player::open_subtitles_for_frame (DCPTime time) const
/* String subtitles (rendered to an image) */
if (!j.string.empty()) {
auto s = render_text(j.string, _video_container_size, time, vfr);
- copy (s.begin(), s.end(), back_inserter (captions));
+ copy_if(s.begin(), s.end(), back_inserter(captions), [](PositionImage const& image) {
+ return image.image->size().width && image.image->size().height;
+ });
+
}
}
diff --git a/src/tools/dcpomatic.cc b/src/tools/dcpomatic.cc
index d3efd1f97..024422965 100644
--- a/src/tools/dcpomatic.cc
+++ b/src/tools/dcpomatic.cc
@@ -1375,7 +1375,7 @@ private:
add_item (edit, _("Select all\tShift-Ctrl-A"), ID_edit_select_all, NEEDS_FILM);
#ifdef __WXOSX__
- add_item (_file_menu, _("&Preferences...\tCtrl-P"), wxID_PREFERENCES, ALWAYS);
+ add_item(_file_menu, _("&Preferences...\tCtrl-,"), wxID_PREFERENCES, ALWAYS);
#else
edit->AppendSeparator ();
/* [Shortcut] Ctrl+P:Open preferences window */
diff --git a/src/tools/dcpomatic_batch.cc b/src/tools/dcpomatic_batch.cc
index df49acfac..1e383b39a 100644
--- a/src/tools/dcpomatic_batch.cc
+++ b/src/tools/dcpomatic_batch.cc
@@ -93,7 +93,7 @@ setup_menu (wxMenuBar* m)
#endif
#ifdef DCPOMATIC_OSX
- file->Append (wxID_PREFERENCES, _("&Preferences...\tCtrl-P"));
+ file->Append(wxID_PREFERENCES, _("&Preferences...\tCtrl-,"));
#else
auto edit = new wxMenu;
edit->Append (wxID_PREFERENCES, _("&Preferences...\tCtrl-P"));
diff --git a/src/tools/dcpomatic_kdm.cc b/src/tools/dcpomatic_kdm.cc
index 775349d54..9adef0ab0 100644
--- a/src/tools/dcpomatic_kdm.cc
+++ b/src/tools/dcpomatic_kdm.cc
@@ -294,7 +294,7 @@ private:
#endif
#ifdef __WXOSX__
- file->Append (wxID_PREFERENCES, _("&Preferences...\tCtrl-P"));
+ file->Append(wxID_PREFERENCES, _("&Preferences...\tCtrl-,"));
#else
wxMenu* edit = new wxMenu;
edit->Append (wxID_PREFERENCES, _("&Preferences...\tCtrl-P"));
diff --git a/src/tools/dcpomatic_player.cc b/src/tools/dcpomatic_player.cc
index feac2a915..9c7522bc5 100644
--- a/src/tools/dcpomatic_player.cc
+++ b/src/tools/dcpomatic_player.cc
@@ -575,7 +575,7 @@ private:
#endif
#ifdef __WXOSX__
- auto prefs = _file_menu->Append (wxID_PREFERENCES, _("&Preferences...\tCtrl-P"));
+ auto prefs = _file_menu->Append(wxID_PREFERENCES, _("&Preferences...\tCtrl-,"));
#else
auto edit = new wxMenu;
auto prefs = edit->Append (wxID_PREFERENCES, _("&Preferences...\tCtrl-P"));
diff --git a/src/tools/dcpomatic_playlist.cc b/src/tools/dcpomatic_playlist.cc
index e2f2536db..a373d81e6 100644
--- a/src/tools/dcpomatic_playlist.cc
+++ b/src/tools/dcpomatic_playlist.cc
@@ -569,7 +569,7 @@ private:
{
auto file = new wxMenu;
#ifdef __WXOSX__
- file->Append (wxID_PREFERENCES, _("&Preferences...\tCtrl-P"));
+ file->Append(wxID_PREFERENCES, _("&Preferences...\tCtrl-,"));
file->Append (wxID_EXIT, _("&Exit"));
#else
file->Append (wxID_EXIT, _("&Quit"));
diff --git a/src/wx/content_menu.cc b/src/wx/content_menu.cc
index 78b6469a0..700683bd2 100644
--- a/src/wx/content_menu.cc
+++ b/src/wx/content_menu.cc
@@ -137,7 +137,7 @@ ContentMenu::popup (weak_ptr<Film> film, ContentList c, TimelineContentViewList
_views = v;
int const N = _cpl_menu->GetMenuItemCount();
- for (int i = 1; i <= N; ++i) {
+ for (int i = DCPOMATIC_CPL_MENU; i < DCPOMATIC_CPL_MENU + N; ++i) {
_cpl_menu->Delete (i);
}
diff --git a/src/wx/full_config_dialog.cc b/src/wx/full_config_dialog.cc
index c24871f39..66dbae63e 100644
--- a/src/wx/full_config_dialog.cc
+++ b/src/wx/full_config_dialog.cc
@@ -1938,7 +1938,7 @@ create_full_config_dialog ()
the containing window doesn't shrink too much when we select those panels.
This is obviously an unpleasant hack.
*/
- wxSize ps = wxSize (750, -1);
+ wxSize ps = wxSize(900, -1);
int const border = 16;
#else
wxSize ps = wxSize (-1, -1);
diff --git a/src/wx/supporters.cc b/src/wx/supporters.cc
index e4e5cb07a..beb4d967a 100644
--- a/src/wx/supporters.cc
+++ b/src/wx/supporters.cc
@@ -160,6 +160,7 @@ supported_by.Add (wxT ("Marco Valerio Caminiti"));
supported_by.Add (wxT ("Lachlan Campbell"));
supported_by.Add (wxT ("Edward Campos"));
supported_by.Add (wxT ("Luis Canau"));
+supported_by.Add (wxT ("Francesco Cappellini"));
supported_by.Add (wxT ("Paul Carey"));
supported_by.Add (wxT ("P. G. Carmona"));
supported_by.Add (wxT ("Kevin Carney"));
@@ -203,7 +204,7 @@ supported_by.Add (wxT ("Grand Illusion Cinema"));
supported_by.Add (wxT ("Flathead Lake International Cinemafest"));
supported_by.Add (wxT ("Leduc Cinemas"));
supported_by.Add (wxT ("Cinematic"));
-supported_by.Add (wxT ("Zach & Zach Cinérgie"));
+supported_by.Add (wxT ("Zach && Zach Cinérgie"));
supported_by.Add (wxT ("Cinestudio"));
supported_by.Add (wxT ("Cinema Clarici"));
supported_by.Add (wxT ("Berendina Clason"));
@@ -231,7 +232,7 @@ supported_by.Add (wxT ("Tom Cowan"));
supported_by.Add (wxT ("Jill Cox"));
supported_by.Add (wxT ("Stefano Cravero"));
supported_by.Add (wxT ("Phillip Crawford"));
-supported_by.Add (wxT ("Root & Rust Creative"));
+supported_by.Add (wxT ("Root && Rust Creative"));
supported_by.Add (wxT ("Caribbean Creativity"));
supported_by.Add (wxT ("Ailis Cross-Gorman"));
supported_by.Add (wxT ("Rodrigo Hernández Cruz"));
@@ -362,6 +363,7 @@ supported_by.Add (wxT ("KulturKino Feuchtwangen"));
supported_by.Add (wxT ("Lorenzo Fiale"));
supported_by.Add (wxT ("Dean Fick"));
supported_by.Add (wxT ("Marc Fiebig"));
+supported_by.Add (wxT ("Moshel Film"));
supported_by.Add (wxT ("Juli Film"));
supported_by.Add (wxT ("Pató Film"));
supported_by.Add (wxT ("Hoppe Film"));
@@ -370,7 +372,7 @@ supported_by.Add (wxT ("Hamann Film"));
supported_by.Add (wxT ("Traverse City Film Festival"));
supported_by.Add (wxT ("Z-fest Film Project"));
supported_by.Add (wxT ("DIAMETRALE Filmfestival"));
-supported_by.Add (wxT ("Lichtwerk & Kamera Filmkunst"));
+supported_by.Add (wxT ("Lichtwerk && Kamera Filmkunst"));
supported_by.Add (wxT ("Casablanca Filmkunsttheater"));
supported_by.Add (wxT ("Redscope Filmproducties"));
supported_by.Add (wxT ("Lukas Thiele Filmproduktion"));
@@ -732,14 +734,14 @@ supported_by.Add (wxT ("Juan Marin Lorenzo"));
supported_by.Add (wxT ("Tim Lorge"));
supported_by.Add (wxT ("Thomas Lorin"));
supported_by.Add (wxT ("Leonard Louder"));
-supported_by.Add (wxT ("Auguste & Louise"));
+supported_by.Add (wxT ("Auguste && Louise"));
supported_by.Add (wxT ("Cubic Films Pty Ltd"));
supported_by.Add (wxT ("First And Only Ltd"));
supported_by.Add (wxT ("Quiet Heart Film PTY LTD"));
supported_by.Add (wxT ("The Digital Picture House Ltd"));
supported_by.Add (wxT ("Futurilla Ltd"));
supported_by.Add (wxT ("Sector Zero Ltd"));
-supported_by.Add (wxT ("Lewis & Coleman Consulting Services Pty Ltd"));
+supported_by.Add (wxT ("Lewis && Coleman Consulting Services Pty Ltd"));
supported_by.Add (wxT ("Keen i Media Ltd"));
supported_by.Add (wxT ("Ted Lubin"));
supported_by.Add (wxT ("Michael Luce"));
@@ -770,7 +772,7 @@ supported_by.Add (wxT ("MantaRay.Media"));
supported_by.Add (wxT ("Maxim Mantel"));
supported_by.Add (wxT ("Nick Manting-Brewer"));
supported_by.Add (wxT ("Marc Levy from The Marcs"));
-supported_by.Add (wxT ("Job, Joris & Marieke"));
+supported_by.Add (wxT ("Job, Joris && Marieke"));
supported_by.Add (wxT ("Stoyan Marinov"));
supported_by.Add (wxT ("Ruben Marques"));
supported_by.Add (wxT ("Francisco M Ortega Marquez"));
@@ -982,6 +984,7 @@ supported_by.Add (wxT ("Kino ist Programm"));
supported_by.Add (wxT ("Sem Rumo — Projetos Audiovisuais"));
supported_by.Add (wxT ("ProsetschioPictures"));
supported_by.Add (wxT ("Ivan Pullman"));
+supported_by.Add (wxT ("Milos Pusic"));
supported_by.Add (wxT ("John Quackenbush"));
supported_by.Add (wxT ("Festival De Cinéma De La Ville De Québec"));
supported_by.Add (wxT ("Arts Quest"));
@@ -1087,7 +1090,7 @@ supported_by.Add (wxT ("Brendan Shoebridge"));
supported_by.Add (wxT ("Tiffany Sia"));
supported_by.Add (wxT ("Konstantin V. Sichart"));
supported_by.Add (wxT ("Atli Sigurjonsson"));
-supported_by.Add (wxT ("Andre & Shannon Silva"));
+supported_by.Add (wxT ("Andre && Shannon Silva"));
supported_by.Add (wxT ("Daniele Silvestri"));
supported_by.Add (wxT ("Benjamin Simmons"));
supported_by.Add (wxT ("Peter Six"));
@@ -1266,6 +1269,7 @@ supported_by.Add (wxT ("Mike Wilde"));
supported_by.Add (wxT ("Andrew Wilhelm"));
supported_by.Add (wxT ("Edgar Wilkening"));
supported_by.Add (wxT ("Maya Willcocks"));
+supported_by.Add (wxT ("Steven Willemin"));
supported_by.Add (wxT ("Roland Wirtz"));
supported_by.Add (wxT ("Sean Wirz"));
supported_by.Add (wxT ("Volker Wischnowski"));
diff --git a/test/burnt_subtitle_test.cc b/test/burnt_subtitle_test.cc
index 9c6863a1d..8d7dcd143 100644
--- a/test/burnt_subtitle_test.cc
+++ b/test/burnt_subtitle_test.cc
@@ -30,6 +30,7 @@
#include "lib/dcp_content.h"
#include "lib/dcp_content_type.h"
#include "lib/film.h"
+#include "lib/ffmpeg_encoder.h"
#include "lib/log_entry.h"
#include "lib/ratio.h"
#include "lib/text_content.h"
@@ -184,3 +185,24 @@ BOOST_AUTO_TEST_CASE(burnt_subtitle_test_position)
/* Should have a baseline 864 pixels from the top ((1 - 0.2) * 1080) */
check("bottom");
}
+
+
+/* Bug #2743 */
+BOOST_AUTO_TEST_CASE(burn_empty_subtitle_test)
+{
+ Cleanup cl;
+
+ auto content = content_factory("test/data/empty_sub.xml")[0];
+ auto film = new_test_film2("burnt_empty_subtitle_test", { content });
+ content->text[0]->set_use(true);
+
+ auto job = make_shared<TranscodeJob>(film, TranscodeJob::ChangedBehaviour::IGNORE);
+ auto file = boost::filesystem::path("build") / "test" / "burnt_empty_subtitle_test.mov";
+ cl.add(file);
+ FFmpegEncoder encoder(film, job, file, ExportFormat::PRORES_4444, false, false, false, 23);
+ encoder.go();
+
+ cl.run();
+}
+
+
diff --git a/test/data b/test/data
-Subproject 515c71604fe16cc95a5f240b0333f78f47b9ea9
+Subproject a5b12872bf034712039414fad58e7e68c068b77
diff --git a/test/image_test.cc b/test/image_test.cc
index fae65af1c..4df4f9125 100644
--- a/test/image_test.cc
+++ b/test/image_test.cc
@@ -203,7 +203,7 @@ alpha_blend_test_rgba64be_onto(AVPixelFormat format, string suffix)
for (int y = 0; y < 128; ++y) {
auto p = reinterpret_cast<uint16_t*>(overlay->data()[0] + y * overlay->stride()[0]);
for (int x = 0; x < 128; ++x) {
- p[x * 4 + 2] = 65535;
+ p[x * 4 + 0] = 65535;
p[x * 4 + 3] = 65535;
}
}
@@ -219,7 +219,7 @@ alpha_blend_test_rgba64be_onto(AVPixelFormat format, string suffix)
for (int y = 256; y < 384; ++y) {
auto p = reinterpret_cast<uint16_t*>(overlay->data()[0] + y * overlay->stride()[0]);
for (int x = 0; x < 128; ++x) {
- p[x * 4] = 65535;
+ p[x * 4 + 2] = 65535;
p[x * 4 + 3] = 65535;
}
}
@@ -242,8 +242,10 @@ BOOST_AUTO_TEST_CASE (alpha_blend_test)
alpha_blend_test_bgra_onto(AV_PIX_FMT_RGB48LE, "rgb48le");
alpha_blend_test_bgra_onto(AV_PIX_FMT_YUV420P, "yuv420p");
alpha_blend_test_bgra_onto(AV_PIX_FMT_YUV420P10, "yuv420p10");
- alpha_blend_test_bgra_onto(AV_PIX_FMT_YUV422P10LE, "yuv422p9le");
+ alpha_blend_test_bgra_onto(AV_PIX_FMT_YUV422P9LE, "yuv422p9le");
alpha_blend_test_bgra_onto(AV_PIX_FMT_YUV422P10LE, "yuv422p10le");
+ alpha_blend_test_bgra_onto(AV_PIX_FMT_YUV444P9LE, "yuv444p9le");
+ alpha_blend_test_bgra_onto(AV_PIX_FMT_YUV444P10LE, "yuv444p10le");
alpha_blend_test_rgba64be_onto(AV_PIX_FMT_RGB24, "rgb24");
alpha_blend_test_rgba64be_onto(AV_PIX_FMT_BGRA, "bgra");
@@ -251,8 +253,10 @@ BOOST_AUTO_TEST_CASE (alpha_blend_test)
alpha_blend_test_rgba64be_onto(AV_PIX_FMT_RGB48LE, "rgb48le");
alpha_blend_test_rgba64be_onto(AV_PIX_FMT_YUV420P, "yuv420p");
alpha_blend_test_rgba64be_onto(AV_PIX_FMT_YUV420P10, "yuv420p10");
- alpha_blend_test_rgba64be_onto(AV_PIX_FMT_YUV422P10LE, "yuv422p9le");
+ alpha_blend_test_rgba64be_onto(AV_PIX_FMT_YUV422P9LE, "yuv422p9le");
alpha_blend_test_rgba64be_onto(AV_PIX_FMT_YUV422P10LE, "yuv422p10le");
+ alpha_blend_test_rgba64be_onto(AV_PIX_FMT_YUV444P9LE, "yuv444p9le");
+ alpha_blend_test_rgba64be_onto(AV_PIX_FMT_YUV444P10LE, "yuv444p10le");
}
diff --git a/wscript b/wscript
index 86eb5562b..f6907f3a2 100644
--- a/wscript
+++ b/wscript
@@ -79,6 +79,7 @@ def options(opt):
opt.add_option('--enable-grok', action='store_true', default=False, help='build with support for grok J2K encoder')
opt.add_option('--warnings-are-errors', action='store_true', default=False, help='build with -Werror')
opt.add_option('--wx-config', help='path to wx-config')
+ opt.add_option('--enable-asan', action='store_true', help='build with asan')
def configure(conf):
conf.load('compiler_cxx')
@@ -125,6 +126,10 @@ def configure(conf):
if not conf.options.target_macos_arm64:
conf.env.append_value('CXXFLAGS', '-msse')
+ if conf.options.enable_asan:
+ conf.env.append_value('CXXFLAGS', '-fsanitize=address')
+ conf.env.append_value('LINKFLAGS', '-fsanitize=address')
+
if conf.env['CXX_NAME'] == 'gcc':
gcc = conf.env['CC_VERSION']
if int(gcc[0]) >= 8:
@@ -155,7 +160,7 @@ def configure(conf):
pass
#
- # Windows/Linux/OS X specific
+ # Windows/Linux/macOS specific
#
# Windows
@@ -608,7 +613,7 @@ def configure(conf):
elif conf.env.TARGET_LINUX:
Logs.pprint('YELLOW', '\t' + 'Target'.ljust(25) + ': Linux')
elif conf.env.TARGET_OSX:
- Logs.pprint('YELLOW', '\t' + 'Target'.ljust(25) + ': OS X')
+ Logs.pprint('YELLOW', '\t' + 'Target'.ljust(25) + ': macOS')
def report(name, variable):
linkage = ''