From 9b32e604427d05861363b6a34a6e38aa1f6e87d8 Mon Sep 17 00:00:00 2001 From: jkriege2 Date: Fri, 2 Sep 2022 22:59:41 +0200 Subject: [PATCH] added command-line tool that auto-generates images for the JKQTPLotter documentation, implemented auto-generated plot-symbols --- doc/CMakeLists.txt | 54 +++++++++--- doc/dox/examples_and_tutorials.dox | 5 +- doc/images/symbols/none.png | Bin 102 -> 125 bytes doc/images/symbols/symbol_asterisc.png | Bin 383 -> 266 bytes doc/images/symbols/symbol_asterisc6.png | Bin 376 -> 276 bytes doc/images/symbols/symbol_asterisc8.png | Bin 510 -> 297 bytes doc/images/symbols/symbol_char_at.png | Bin 0 -> 457 bytes doc/images/symbols/symbol_circle.png | Bin 398 -> 263 bytes doc/images/symbols/symbol_circle_cross.png | Bin 455 -> 329 bytes doc/images/symbols/symbol_circle_peace.png | Bin 505 -> 326 bytes doc/images/symbols/symbol_circle_plus.png | Bin 441 -> 299 bytes doc/images/symbols/symbol_cross.png | Bin 230 -> 296 bytes doc/images/symbols/symbol_curved_triangle.png | Bin 440 -> 267 bytes doc/images/symbols/symbol_diamond.png | Bin 212 -> 307 bytes doc/images/symbols/symbol_diamond_cross.png | Bin 287 -> 311 bytes doc/images/symbols/symbol_diamond_plus.png | Bin 267 -> 315 bytes doc/images/symbols/symbol_dot.png | Bin 117 -> 145 bytes .../symbols/symbol_down_curved_triangle.png | Bin 457 -> 272 bytes doc/images/symbols/symbol_down_triangle.png | Bin 265 -> 253 bytes doc/images/symbols/symbol_down_tripod.png | Bin 191 -> 242 bytes doc/images/symbols/symbol_female.png | Bin 308 -> 252 bytes doc/images/symbols/symbol_filled_circle.png | Bin 568 -> 280 bytes .../symbols/symbol_filled_curved_triangle.png | Bin 538 -> 278 bytes doc/images/symbols/symbol_filled_diamond.png | Bin 274 -> 309 bytes .../symbol_filled_down_curved_triangle.png | Bin 573 -> 287 bytes .../symbols/symbol_filled_down_triangle.png | Bin 358 -> 276 bytes doc/images/symbols/symbol_filled_hexagon.png | Bin 525 -> 310 bytes .../symbol_filled_horizontal_hourglass.png | Bin 309 -> 306 bytes .../symbols/symbol_filled_hourglass.png | Bin 300 -> 320 bytes .../symbol_filled_left_curved_triangle.png | Bin 502 -> 307 bytes .../symbols/symbol_filled_left_triangle.png | Bin 291 -> 270 bytes doc/images/symbols/symbol_filled_octagon.png | Bin 282 -> 278 bytes doc/images/symbols/symbol_filled_pentagon.png | Bin 565 -> 305 bytes doc/images/symbols/symbol_filled_rect.png | Bin 185 -> 167 bytes .../symbol_filled_right_curved_triangle.png | Bin 521 -> 304 bytes .../symbols/symbol_filled_right_triangle.png | Bin 269 -> 254 bytes .../symbols/symbol_filled_santaclause.png | Bin 599 -> 352 bytes doc/images/symbols/symbol_filled_star.png | Bin 619 -> 300 bytes doc/images/symbols/symbol_filled_triangle.png | Bin 328 -> 243 bytes .../symbols/symbol_filled_updowntriangle.png | Bin 426 -> 287 bytes doc/images/symbols/symbol_hexagon.png | Bin 333 -> 286 bytes .../symbols/symbol_horizontal_hourglass.png | Bin 277 -> 297 bytes doc/images/symbols/symbol_hourglass.png | Bin 236 -> 310 bytes .../symbols/symbol_left_curved_triangle.png | Bin 406 -> 291 bytes doc/images/symbols/symbol_left_triangle.png | Bin 220 -> 258 bytes doc/images/symbols/symbol_left_tripod.png | Bin 176 -> 253 bytes doc/images/symbols/symbol_male.png | Bin 342 -> 265 bytes doc/images/symbols/symbol_octagon.png | Bin 254 -> 269 bytes doc/images/symbols/symbol_peace.png | Bin 227 -> 216 bytes doc/images/symbols/symbol_pentagon.png | Bin 436 -> 281 bytes doc/images/symbols/symbol_plus.png | Bin 136 -> 171 bytes doc/images/symbols/symbol_rect.png | Bin 177 -> 162 bytes doc/images/symbols/symbol_rect_cross.png | Bin 366 -> 296 bytes .../symbols/symbol_rect_downtriangle.png | Bin 337 -> 266 bytes .../symbols/symbol_rect_lefttriangle.png | Bin 261 -> 261 bytes doc/images/symbols/symbol_rect_plus.png | Bin 222 -> 175 bytes .../symbols/symbol_rect_righttriangle.png | Bin 252 -> 260 bytes doc/images/symbols/symbol_rect_triangle.png | Bin 339 -> 243 bytes .../symbols/symbol_right_curved_triangle.png | Bin 389 -> 290 bytes doc/images/symbols/symbol_right_triangle.png | Bin 215 -> 239 bytes doc/images/symbols/symbol_right_tripod.png | Bin 157 -> 250 bytes doc/images/symbols/symbol_santaclause.png | Bin 401 -> 327 bytes doc/images/symbols/symbol_star.png | Bin 462 -> 284 bytes doc/images/symbols/symbol_target.png | Bin 360 -> 274 bytes doc/images/symbols/symbol_triangle.png | Bin 251 -> 237 bytes doc/images/symbols/symbol_tripod.png | Bin 184 -> 226 bytes doc/images/symbols/symbol_updowntriangle.png | Bin 291 -> 266 bytes .../jkqtplotter_doc_imagegenerator_small.png | Bin 0 -> 10549 bytes tools/CMakeLists.txt | 1 + tools/jkqtmathtext_render/README.md | 2 +- .../CMakeLists.txt | 33 +++++++ .../jkqtplotter_doc_imagegenerator/README.md | 2 + .../jkqtplotter_doc_imagegenerator.cpp | 81 ++++++++++++++++++ .../jkqtplotter_doc_imagegenerator.pro | 23 +++++ ...jkqtplotter_doc_imagegenerator_and_lib.pro | 8 ++ 75 files changed, 196 insertions(+), 13 deletions(-) create mode 100644 doc/images/symbols/symbol_char_at.png create mode 100644 screenshots/jkqtplotter_doc_imagegenerator_small.png create mode 100644 tools/jkqtplotter_doc_imagegenerator/CMakeLists.txt create mode 100644 tools/jkqtplotter_doc_imagegenerator/README.md create mode 100644 tools/jkqtplotter_doc_imagegenerator/jkqtplotter_doc_imagegenerator.cpp create mode 100644 tools/jkqtplotter_doc_imagegenerator/jkqtplotter_doc_imagegenerator.pro create mode 100644 tools/jkqtplotter_doc_imagegenerator/jkqtplotter_doc_imagegenerator_and_lib.pro diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt index 043a2893cb..d3e0b9b768 100644 --- a/doc/CMakeLists.txt +++ b/doc/CMakeLists.txt @@ -1,5 +1,21 @@ cmake_minimum_required(VERSION 3.16) +add_custom_target(JKQTMathText_GenerateDocImages + COMMENT "Building JKQTMathText Documentation Images ..." +) + +add_custom_target(JKQTPlotter_GenerateDocScreenshots + COMMENT "Building JKQTPlotter Documentation Screenshots ..." +) + +add_custom_target(JKQTPlotter_GenerateDocImages + COMMENT "Building JKQTPlotter Documentation Images ..." +) + + +add_custom_target(JKQTP_GenerateAllDocImages + DEPENDS JKQTPlotter_GenerateDocImages JKQTPlotter_GenerateDocScreenshots JKQTMathText_GenerateDocImages +) if(JKQtPlotter_BUILD_TOOLS) @@ -22,10 +38,6 @@ if(JKQtPlotter_BUILD_TOOLS) set(JKQTMathText_GenerateDocImages_COMMAND $ ${JKQTMathText_GenerateDocImages_DefaultOptions}) set(JKQTMathText_GenerateDocImages_OutputDir "${CMAKE_CURRENT_LIST_DIR}/images/jkqtmathtext/") - add_custom_target(JKQTMathText_GenerateDocImages - COMMENT "Building JKQTMathText Documentation Images ..." - DEPENDS jkqtmathtext_render - ) foreach(file ${JKQTMathText_GenerateDocImages_StdInputFiles}) string(REGEX MATCH ".*_([^_\.]+)\.[A-Za-z]+" dummy ${file}) @@ -64,6 +76,33 @@ endif() + + + + +if(JKQtPlotter_BUILD_TOOLS) + + # custom target that generates the images for the JKQTPlotter documentation + set(JKQTPlotter_GenerateDocImages_DefaultOptions ) + + + set(JKQTPlotter_GenerateDocImages_COMMAND $ ${JKQTPlotter_GenerateDocImages_DefaultOptions}) + set(JKQTPlotter_GenerateDocImages_OutputDir "${CMAKE_CURRENT_LIST_DIR}/images/") + + + add_custom_target(JKQTPlotter_GenerateDocImages_listplotsymbols + COMMENT "Building JKQTPlotter Documentation Images: LISTPLOTSYMBOLS" + COMMAND ${JKQTPlotter_GenerateDocImages_COMMAND} --listsymbols --iconsize=32 --outputdir="${JKQTPlotter_GenerateDocImages_OutputDir}/symbols/" + WORKING_DIRECTORY ${JKQtPlotter_QT_BINDIR} + DEPENDS jkqtplotter_doc_imagegenerator + ) + + add_dependencies(JKQTPlotter_GenerateDocImages JKQTPlotter_GenerateDocImages_listplotsymbols) +endif(JKQtPlotter_BUILD_TOOLS) + + + + if(JKQtPlotter_BUILD_EXAMPLES) # custom target that generates the images for the JKQTMathText documentation @@ -129,13 +168,6 @@ if(JKQtPlotter_BUILD_EXAMPLES) evalcurve/JKQTPXYFunctionLineGraph/--smallscreenshotplot ) - add_custom_target(JKQTPlotter_GenerateDocScreenshots - COMMENT "Building JKQTPlotter Documentation Screenshots ..." - ) - - add_custom_target(JKQTPlotter_GenerateDocImages - COMMENT "Building JKQTPlotter Documentation Images ..." - ) diff --git a/doc/dox/examples_and_tutorials.dox b/doc/dox/examples_and_tutorials.dox index 9217029c4d..8d456ecf89 100644 --- a/doc/dox/examples_and_tutorials.dox +++ b/doc/dox/examples_and_tutorials.dox @@ -270,7 +270,10 @@ All test-projects are Qt-projects that use qmake to build. You can load them int Screenshot Name Notes/Description \image html jkqtmathtext_render_small.png \subpage JKQTMathTextRenderCmdLineTool - uses JKQTMathText to render LaTeX Markup into an image file + uses JKQTMathText to render LaTeX Markup into an image file and used to render different images for the documentation + \image html jkqtplotter_doc_imagegenerator_small.png + \subpage JKQTPlotterDocImageRenderCmdLineTool + uses JKQTPlotter to render different images for the documentation diff --git a/doc/images/symbols/none.png b/doc/images/symbols/none.png index 3832d6f28bf4e531896beb2ad61f7f3846b5766b..d0298f443896771c9b234517a9f10e126d73a344 100644 GIT binary patch delta 108 zcmYeRRqPD#bLZuf;$mQ6;Pv!y2?EjzAk4uAB#W!6zD!hgTe~DWM4ffE62F delta 85 zcmbhau5TDX4=sQN zumI))=+Rg-N%oI=QToqL3Mn9>V)p^49kpN(AngXFvt&)fY)UNPLtk#+Ovb4T0ELOx z%3RM7)g3)^i9A{>ZUD_u1i}T-Q|b?yUJ*)xg%UdFnw0=rNit8!EsZN#vQKXU%E&w!S$Feg$v>z41Uo=#OfY00000NkvXXu0mjf DWfNq9 delta 371 zcmV-(0gV2N0{;RbiBL{Q4GJ0x0000DNk~Le0000O0000O2nGNE0N{5$_>mzOe*rN` zL_t(YiS3fjD#T$F#(!o?gvnO6$_=O~q)hqPkz!}z9xP@tDL24|4LfSWEht=oasiSR zg@q!@M}8J_%4BBrpJ|jbPo2$qpZ9srd)^2B89Xjka-@E1l$ODtG;j`F14qEN`lU>P zqu@F?Q;kpnpFzPZa046%(`B4*e=#);=D=diJ~RT>mxHH&4vrRdd4OJeb1@U8UG6=y~870fm&N!|-yg6CjQ zmGcaE5tV7g-~fC9hkoE>;}ykv#dERav-0+a$FiBL{Q4GJ0x0000DNk~Le0000W0000W2nGNE0CReJ^pPPKe*nfw zL_t(oh3%KY4uBvGLx=JIe|es!#^`9fAP3#aL?*9gz-;dBHZhi&lm7r_W@~RiYsWKM zElf_=fl7%YxzrMzl~u;j0E!D}4(vdDFjE-s7~tu0z{mZ zS6q<#f$SU@(hrOb7y!BL6c-=>rMS=>sUN70p#Um(1k}X-|AwCj*Z`4eK0W2-kp=(& N002ovPDHLkV1j)@XrKT9 delta 364 zcmV-y0h9ie0{8+UiBL{Q4GJ0x0000DNk~Le0000O0000O2nGNE0N{5$_>mzOe*r2< zL_t(YiS3lnDuhuO#(x+rFvY^3C9#*dfJrpT!fjYsQQUwecR+Ck6e~r!0Lq_OD3>5% zgTl|kF@1}#Z)VOncJr)G@B5tRIi2&K2bze7bKoV|lffy1S715DU=sWSH!?U|;3qg9 zVF2JR_y&%o^v1vsa63{Qz(Mc@e>_O(9f8kae+~lxSHW*^I#HVqwdI`R0Cs{8;0@RY z7Qj339&B%b0e}mj;3Bvb*7FS#ub7;GkKhw{T)z`8mJ&c~tta{0 zRVTk5cp7s>wTl1eBUi@sIx(iVVN5$3VXziHRVh)M3AL5H;zQsoxS!HHLJUzckjG#z zgxzpTZxnn7cVfk-LR_zBa5h6+PsA9M!E>-XgHr@Ae#5VcNc;ec0+;RLTyvlR0000< KMNUMnLSTZ)w19|=-WO8@ icEN4K)d;UZIDreYK3+veT#>B+0000vrA% delta 499 zcmVmzOe*v&b zL_t(YiQSc5N&`Ul2s@_1y ziM%3cJ>>O+bsyT3Wton!1!EhaE$` z3OS(QtM}USy%!(Gk?efdR(x~EZOiiI>lAcn>=kqfni)o#_xN9Vh~9%0HRl7pw=6e- z96mfzp-j^Zh7xNoZN7Mj#qkV9)wSKG%$6J6Xw#mZq7&F0FZ%&$ZTlXiEuf p#aJ~l-?ECtBJtc{>0A002ovPDHLkV1oC4<1zpM diff --git a/doc/images/symbols/symbol_char_at.png b/doc/images/symbols/symbol_char_at.png new file mode 100644 index 0000000000000000000000000000000000000000..2fd12a2129321dcd85243a425c6ff877e6cb99ea GIT binary patch literal 457 zcmV;)0XF`LP)WEIj6` z2Li0-t&z6_)B+M1i_HmU4oxb7xT-}IA}EpCTMSF97D?Z_!BQW<7%zt(lnT)UC)*Y{F#~AAbe$DM z1)#!O;=JApf>I55g5MC937RW{T4sTpbkvBgHMbegNJIZh@dKhz_iZ7hvY; zb8s%iaA3vhb5IvzIB)QOEkMTG_y7O^07*qoM6N<$f>!cq APyhe` delta 386 zcmV-|0e$|50*(VAiBL{Q4GJ0x0000DNk~Le0000O0000O2nGNE0N{5$_>mzOe*r*A zL_t(YiM5q6a)U4sMIWim4Ls1`G89}Txr9?Vl_95~PVNzNk2JnOG84eQL}pWHjTHxs zY>S;yv-@^bQy zqg0N*nn(rm?RG7L0-@Gqb2<_0@z&RqcU-x0MRxL8lZgj`g>tO`?lhYLdkDU67YIHL z7nv;(VScBtXo1)km@EzgEk~d65fRYX0$X72ugJ`mvrA6>OhG?dJ<&%4SkG2*KLohN z?4Cx<4tnf5bRZ5byMA@;35C^ga(x-6xP{Ig8cyy&{)Zqn#Tspyn=^Or-1HwX-V$rF g;n?(jTFm9~3&IG~*m#Ve;Q#;t07*qoM6N<$g1xz@R{#J2 diff --git a/doc/images/symbols/symbol_circle_cross.png b/doc/images/symbols/symbol_circle_cross.png index 6a7765d7e6dbcbfc19af45d4c69ad6fd76284726..9206cc1b7acedc1307098763b80095a0ccd95e5f 100644 GIT binary patch delta 317 zcmV-D0mA;r1IYp*iBL{Q4GJ0x0000DNk~Le0000W0000W2nGNE0CReJ^pPPKe*pVQ zL_t(oh0T{s4#O}AL~E<}zp}eZgfK7+I7-=u&&vpp?6KBbpBLlH7K{;pXMZORfClTl zEC>Y9gHhuvKMOLv9bgAn>rDVz++9)BYeog9!|J^OWQsZiLjburQmzVwmj3FedxZ*A zA($Py0lZ_wLPWzY72pmq5S7z2e`R4*gdnoRwF)T(5Jbl}C;$thYg#mbH>m2EC4iGr z0zganD1hg1RR{{eTeuFylnpv2!=X(iBL{Q4GJ0x0000DNk~Le0000O0000O2nGNE0N{5$_>mzOe*t+( zL_t(YiM5qYP69y?g}+f3a0S@F(ph*FJ%_HC@f4V_F!ApeGMvMWR}h#>NXkVQL(|iL z7_DRysDAZccXd@4{IeBlh>U?7;0hS2a|?U|?@(-hsVyZ)10wphARqd*mcKFBeBuJ+ z9%Kiy2AP3OJh+Ljtrc6F*fjaGf9`A!GRWA_K(V5+F%hY)qc76rUEHG;SBF5Q9(8WW zb45Dx2aVkY?nD}puR~gLL~L>Z8S0%ZUEo-OGshnhamhP>rT&rayi@1IL*x+&kpsw7 z*KTd+o2l)P*&;FW4&Q>j+K!cJpqO>{XRb-4l+_?f0trTb@fsd zyJSz!qt)fTt^tK1+oF0000V)gj;goe@*=S}9-Zq?e1*-S}ml%eB>(^b M07*qoM6N<$g3ud+DgXcg delta 494 zcmVmzOe*vpW zL_t(YiM5qYQo=wGg}+!XVC#}>U?~f(B9~yJE5Ji20{&D{>M4|5z&m&We*xF7rP{@G z$YjVQqn1-OMdJW*6F3>fG7%YSV9(<( z5ZL&7iXHmM+nVaAa-$W9Sx9!*RBZ0bplez1NHNCzc93lW91LbM}?5MS? zzjx)}pp|lTZGjH(0nzi{`J*SpMF(J4tqn|dR;|52l_d~EmO;Rhb3IiDf8;D2XTZ0n z{L9EiKwdyz^?6(pzXG|j4Mz%U76f0Y?A)G7o8e|4E%l`XXHYQBYX)!@_%885FMCB?#cBK5Ut>h2y{Vp zU>7a{D|g=^xlqG_9lP&97iu_gbP|tN?ET>&vT;P!9EcWSws`A(hQ|eHeR>7(*lIXH zw8sUhXzMsYwAKaflT{scX_q3=pF delta 430 zcmV;f0a5;|0=WYriBL{Q4GJ0x0000DNk~Le0000O0000O2nGNE0N{5$_>mzOe*tSr zL_t(YiM5qaPJ>Vo#(x+WZF&I%8@rSR@d}>6dWgCQJVn=f4k;J#4qQMJEx0yuNyfz+ z{)mM~rJdyEB{ScA-<$Vf22N~_9U>mE0s_EQXAWdQ0?zKA+Tw$xAfl@P`O;Oi{Hei? zCw4#{KuVAgkPzfjV=rcb@kywde-b1%xpwj=J=q3i)`_So{o0|KCxls#`EDaiZZYdJ_@u5YsK20Se<>`xve03eZaxd3PCUFrTj zoIJ`Zj#XPA06xKao6hgN8ZH8WbM?Bw!d^btX0zfJfCo(lC$p-89QX$3e`Xk7o!p8m zfE_dyWWYt!5~i3e4HsEkAkqD9x&3Wz{>;wE4R;f*f=3<8O}00;t& zy8#{q6Ndm6f{lxa6lOQn9s{$la6)&$3bC6y1&ACJU^NL-0po<*T`?hmHrsa)ZoukQ zV-YTZ_dRD2O8~mapa>Jdu5buK1?()Z2x1D@jU$K$AS&)f+yK#W4`O;W%Q!7+2=lW% g6LDdFb2|QN9OnLRI*bKaO#lD@07*qoM6N<$g4t7O1poj5 delta 216 zcmV;}04M*b0_FiBiBL{Q4GJ0x0000DNk~Le0000O0000O2nGNE0N{5$_>mzPf0#)` zK~zYIy_HK2fFKM7U(}nq;Ak#LJhF9T2thtAecBZ%Fq1%=0{?}C4_Oib5kMjVem<IgG1!zSFPzV0D1YoA}0Z>+3(qMJ~pP`=fG*=36^*?3phFlJW0#NohS<)Z^ zu(X$Sjw%I`cGI>b3*fnINal(iRM6~9^DhY?DLf8>b72VJ39f-Cy_b>quFnBsy&TX4 z#}^WbdTU<}P=T#!kgR#k4mw(61akxU@|`?_=@#KioyYV-HERmwyZ`_I07*qoM6N<$ Ef}Z$f@&Et; delta 429 zcmV;e0aE^p0=NSqiBL{Q4GJ0x0000DNk~Le0000O0000O2nGNE0N{5$_>mzOe*tPq zL_t(YiOrS2FGEoj$3L$NmbQt8e*j&yQSHLcz)I4v=pVp;(Senn{sGJqCX6a#q$Dg& zx>?xzHN2C!jYscmUlTVu$+_pp_j}I0@16($YiTl+(Ge&V|CNdXJ{GMfM!=k-&yIqi z;ONCs5G(_qCQH6afj_?PfwtvLe?w66$@1(#S;8Z_GAV*G{>Akt*tSn}(L|uFBni$y z&!E8M1$3GecpCHp+IMURW=khQuxCdy@7M}v+Z`4>1$qKqMEEX2k73N<1XZhaEyA~M zzUrXh6QDQHb$GEq`~m0&^cu#-C#ZwEpz@NBfSTW9 zSy|AGRa`MWYrb*No#o_xz}wb#19a}}qoi#y4QJm&;#{6~fMdtk1#W>R@Bnmxck^X{ zDZ;T`1}gNk51_btK7W_efB`ewEjPWZNVtoN3 XX}-!E2Ku7_0000w(Vi(04%!#@AN_ufTU=Cdm&&9G8%omo)W?Dp*sHDoRKiva^%T3*B}Nn>oa-hER@!(m`)CQ y@AN9yueLuZ{))km)ha^wrpo9X{Qv3Y?bDnAvdlYN*KPwjmci52&t;ucLK6V7Ku#5-X228a&I#m2|*7{b1IM4MMT<~uj3bhdocq60qhD< zh%~^xNaQ*gh!nuHe0QFO2m@&4EJO&vD`y~FfM_`iVFIv@NA95lpsHnaTL4rwB=-V9 zRYP+N0IC|JXrH@bX0~guGn1Rwe~xUqb`7d1wH;TC(OQ1-s8DqI1R01bMdw&P!B?tT zbL=$-s#WuHUHd7mP%V;EEvQf}k~1}|_+j_%;jROWqLBv(EkvwpG(ZFbDNg}d5NLU8 vhK6PcRCG6>%?MSr4B%PF=z8GMnswp?Iz5sx5xn^;00000NkvXXu0mjf delta 273 zcmV+s0q*{{0-pjQiBL{Q4GJ0x0000DNk~Le0000O0000O2nGNE0N{5$_>mzPf6+-q zK~zYI&6V8>!Y~YlPt><{u*dLXpuO>Fg~bcQsBL1?E&~ID^e5+Qn>7UvHu6tp0&tba z6Ce&;2NS>vV3sclFkCzp{$5BWPI_OMxMys)cpv1X2jT%>mX4SH#}ETpr7?eEnmegh zwTQncbMG>Ca~_wqWet*x|B7vjXK&*fq!f2)@YLSo22sRS$ONcKHtn4GmyWoKtQ}FF zP$TifdC<V<(OZ;CR{c(E( XUa3Dy|F1WE00000NkvXXu0mjfH{Ni# diff --git a/doc/images/symbols/symbol_diamond_plus.png b/doc/images/symbols/symbol_diamond_plus.png index ad801a31ecbd89ab4420cb31d6874220749efe92..7910e1bc403d40f4932b1ff6a7d2585505ab4a47 100644 GIT binary patch delta 302 zcmV+}0nz@80=ohsiBL{Q4GJ0x0000DNk~Le0000W0000W2nGNE0CReJ^pPPLf9**` zK~z|U#n<5q!ypU<;3<9oS5AM7f^ChtyF@As##Xs+Gn%%Unf*Q-Ju|tr|LYUL7@R>! zfLWl5paH8O1wjGEfU$JP_bdVic;Q(D1c<^jh!B8=tB56l4Ob8@Kn-URQ$RMHLA(G} z;V9w;s18REefGtU{^%i^nOU}@f2qSP*^Vp5aY>XVxaP3ek8}F-gXe`+!~21^CD?^n z{kyLks76FfJ1xR01X5S-F32L#qF!!86~XMN@El+f>~@9@A{3#VCGbfYA=F;d*hjNy z8Q4Zf_X6~$bQ{16Qd_v(4ZQ~wb{zWDnj4oBcqVc-l>YmzPf4xaW zK~zYI&6U9o!Y~X)pP7Rr1F#pcOC(?(R$u^bu!p%A0VPSD#FemQRZ+kHOOw=rg+u&O z6<}wBGl&MxLj^Q}s%0`@xcS{O3i4&1Krfal0PEaj?(fanOULZ diff --git a/doc/images/symbols/symbol_down_curved_triangle.png b/doc/images/symbols/symbol_down_curved_triangle.png index 41bcf3738b6496662571460ce90b61eb823ee4c3..822cf153a86ff3786db96edc5a2fb20ae4e9a9ec 100644 GIT binary patch delta 259 zcmV+e0sQ{S1CRnCiBL{Q4GJ0x0000DNk~Le0000W0000W2nGNE0CReJ^pPPKe*nTs zL_t(oh3%J14uBvGM1gSsE7z5=AqA!%B~9$gpoQ^G`BfsKaxmKcQ0sSt^0E5tMKqV$ z4|cgZMhrr=jy0gM;?A_>Oa*8=)PzJ*w1DUl;jM*TKTU47;nfbl6yOzs5?l(9I*k5y zE5K6&NG?pE6mVWE?SceYD4;noSplRVEmK!z!5fiFz{&>e%9)D*4^F|eT&o4F5L>2e zUJIf^Jdi+%gYVWo<2Zp|Kwbg7=sbs(yab|RdNo5L;{JG?zy*QFL^U=ef0qCN002ov JPDHLkV1hzAXfgl* delta 446 zcmV;v0YUzd0?7j*iBL{Q4GJ0x0000DNk~Le0000O0000O2nGNE0N{5$_>mzOe*t?* zL_t(YiM^G*P6AO7g})^xNP`v_AAo{JV-OxeW1=ku(T3RTTTo~#z4!py84E3qRv3Re z4JKMZqLmFL$6^P(niY0o;Utsn&dfP8yE{7slCG4lU42WHUf1drEv7mkH zbjk58n{RJSaR8-39ngW}J2YQ9h5`UOvo+wEy@F0-5(m(Zy^>WkfwsdiXF^su$KOpG z`1`ACzM%-1@Bg5CplzH*@M2i)zYEmt!*;^05Fb%y_y$Os-Ai&piix}fd^AerIdo>$nucVzky}ihez;x%q-c+ z3+sZ^aSq#X{c$BA8CjO2r5r~9Y!#l?SS$gsQF!~q;t9aF3cdX$rT~1SFtWSG6@WE` z(X%DC0O%BEPS*GWFsCrvSL`7GMPmw@u4*3vcvsN&lzRz4TVbW6b{9z6t69AcwD$>j p0d)fR8L!-?a{rUDB(%f51ShA_L^*;1wmtv=002ovPDHLkV1mf*WWfLc delta 251 zcmVmzPf4fOU zK~zYI&6L3n!Y~X)Ur@I|xp8HP9$BG-WfcbD%B@>)F$ba$p*A?Nk%&~aO6BMGtJLu0 z6<#+v16Sbg#61BQ2)9GtSb!rC9pEvumTFHT$O9zV`I0j0Q+D@754abQC51}R zl0q#vlA=p&Bt^GWPr=YO) z(x8I6+m|K@MDpcnUmC=!f!co3HwY`p{C@tE^#phqv?4=^8k+zB002ovPDHLkV1n)z BXS)CZ diff --git a/doc/images/symbols/symbol_down_tripod.png b/doc/images/symbols/symbol_down_tripod.png index 0add1933a4a42b08df0a8ad753da2bd33edae72b..aaa16caff3cad932dc6636d8ae6eab1d62a54ac6 100644 GIT binary patch delta 228 zcmVoiHW%f7@!0&1J8BeAiD0Ue6TYP04bmO z4n*EyzE@xuqKpIC7OY0p;xE8TL@WLQtU&bQRe&dA6mJ4N5R!NoFoTfBhX4yg6BhwA z2yI*pkRU8^6`+T(#sPqs_2*z~IvXq}s%iy#A?tB&0+hj-ZwWKNYXl$w0SG_<0&vW{ e?D0qa`wE=iIz%-@)mPd80000K6(+3)0mn?Y`W_tk9Z5gn- oUthxpxEdfejQ+CXzxsFvUY-m-J6fY=X#fBK07*qoM6N<$g65oFi2wiq delta 294 zcmV+>0onfi0ki@kiBL{Q4GJ0x0000DNk~Le0000O0000O2nGNE0N{5$_>mzPf96R< zK~zYI<&(P+f?yDYzuyL+0*o}L0(xob@zx^sdgyD z>lyNOWXRB1(^R`Hc~`k9YYKYM!p1?%weHG=6AxNtPx# diff --git a/doc/images/symbols/symbol_filled_circle.png b/doc/images/symbols/symbol_filled_circle.png index 1e899c61cd4dd5d60bda4ceb2c1f375ba8608de3..d14fe8b361cd19bcdea1a99b03bddb53367ec826 100644 GIT binary patch delta 267 zcmV+m0rdX31egLLiBL{Q4GJ0x0000DNk~Le0000W0000W2nGNE0CReJ^pPPKe*nr! zL_t(oh3%J34nrXbgth4vyY1n+eTSqg%o9PN#h-<3VS4Q01m(bz-yA;;Uk0|=($G%Da}cNc3%Ok zQUx$F1+M!BfGdbJ=hOh)2_qo1N9mr=@_#_A#%2HsL{r$;j2^h`bNZ`+rY~epYb`Lf RKi>cV002ovPDHLkV1n~eX`285 delta 558 zcmV+}0@3}L0=NVriBL{Q4GJ0x0000DNk~Le0000O0000O2nGNE0N{5$_>mzOe*x-A zL_t(YiM5r#ZrV^3#(xJqSr%eM@B$cB88VuQAyXTb*Qna533-R6NjtTD4J6VjgD1Qt zLsW&l0L&J$SYmTJ_)l+9>VQ+e$vQgve!fTdo)7jcdA>zEzz{e9+F5Y{+yP^dc}2GN zMDz+&LDjZ3ZnZRNwKTD9jq`fef79FH1S-G@aPBy)`+e%&E;O5ecZDH5Jiv5H5=GR2 z5%2{>O8_dsH{hM;!C(NEResJm2H%Gu0N@Ak-h^xdPJoN!V>mo4H{R6kElef=oPu0F z0ni@s%kz+&Mae~v1z`+cnE zW?m-C0?(ta${WzO0bmHw?N&F><+{b^&;%UVHp%8ytfFQUY@3+$VHSXPqp{7a-cF4M zHK1bx_NE-LST51h&KSB4?|e3ut=9-0T@HNTVAT!toR%o0GW&M zb2=r7 zkYZ5(dtHAAK9sEM0`d{~>^Q7FkGktV9XPXDI`b@WPJyqRfm0&wiRi?L%ts?KAC1VI wfV%&3**5gwlJ1sHR-E%E^cP$H@qY9h7)rcW@8+%$00000NkvXX1g=70f`tV9ivR!s diff --git a/doc/images/symbols/symbol_filled_curved_triangle.png b/doc/images/symbols/symbol_filled_curved_triangle.png index 6b9aebcf5e049a5fee47e66209603da6e006c716..cdf1927fdedb0356728a8fa524fd289562abf0a3 100644 GIT binary patch delta 265 zcmV+k0rviy1eO9JiBL{Q4GJ0x0000DNk~Le0000W0000W2nGNE0CReJ^pPPKe*nly zL_t(oh3%K!3ViTo+-OZMq+G2ptF_a{D^lpalSc%~88&ax*{(*X0H< zLhAyQ)?3Q3t^+@SD?n~KNO6M{AJ3)$jMRDnEvq$UP&<%oU*Asy7$p%v+5NS&)3BBU zt^h6jvovL30cggHdqz|O&bUcOU$P5e`Ptx{Wji4GGReD508ZoeAbKv40G8wuh=6TI z)_;8x2-(424oH#%;6W*2v2O=jiM87!C+0CaDHVf)c>sL5CsQzJ6VB8LcLhfkVp=(a P00000NkvXXu0mjfMtEb% delta 527 zcmV+q0`UEo0-6LNiBL{Q4GJ0x0000DNk~Le0000O0000O2nGNE0N{5$_>mzOe*w%% zL_t(YiOrS4P7_fShQE8;q%aG{L^4S$q#38Ri`I_Dl%(u6sVq^pLc#;ECE*eD4M_B9 z+!!{vQo{?tMmK~6IKPXjVZat!oElGZa?hN(=l{-`+}wfx%XB~U*#VUKYk z3JV0V2Dl`FMgssh%oPS$4?`}iRj5`W47mi>3j%1tIbL=;lzwH}ZA#9u23jZpz@|i{ zn>(0k3KA9I&0hlKy=Nzmu_(IAMiIm@<~=*0TQ&YP!G;-ezyJHbejjhfe?ws7jsVSj z&%5PitU2OhXf|PK3G<$}p!quh*fXOx7>wUD7~su#0PIZ(& z(DPAy+z9cO_k4^Z!tHHJr4pQ-!RcwX0?f@p5M=Ac1?=x*CntP2V-?(&@hzd2_c{hC zO{FA}1%b}5el*uT2y~t#WwJEQo`^$AQEr;1DH1qbKp~ z#@E;a_aU$KI@j3|XbZG>%cwUeUmVsP<#b+MYZmks^kj0;v9PD0Z<*#lu%AC6qh#~P R_S^sf002ovPDHLkV1jVd?C1ah diff --git a/doc/images/symbols/symbol_filled_diamond.png b/doc/images/symbols/symbol_filled_diamond.png index 6e802a02ca3b99bc135bf3c49e27167737e82d53..eb8195eae1498811f7cea61a1d4401497d26ce53 100644 GIT binary patch delta 295 zcmV+?0oeYM0<{7miBL{Q4GJ0x0000DNk~Le0000W0000W2nGNE0CReJ^pPPLf9FX= zK~z|U#n&+ogD?z*VLR#-yY_Ib9MT;sqySEAKRYE75(2^hZHZY#gdSWi^D*=9dIZpi zGYANv1yMv8(1&E-NcJs-2m!8f?LLZd14i*I!UeG68H5S&#!5h@@X zk05S1(p8zWn zqxcQ50x^rLfJ%fF9|9^6p7<1yL3raP06|3JEvA&aqhSzf$n4tgw002ovPDHLkV1nF&aJB#d delta 260 zcmV+f0sH>70+IqDiBL{Q4GJ0x0000DNk~Le0000O0000O2nGNE0N{5$_>mzPf5b^d zK~zYI&6V8^!XOkz55}EXp}VMQoWwSkUAh8O;X`ROO`-P!8oz`G0y*b~U-)v2d}=Vj zC3YN`(6EkRAPf*fY(o^bg59cL9dVDx^epfsB$ za`3xNu9FClX_-WM(R7l+r$Q#FeC+ZPDO{Mk4@WK0!vE#dFV73-=&J2|1badN0000< KMNUMnLSTY6DQnLF diff --git a/doc/images/symbols/symbol_filled_down_curved_triangle.png b/doc/images/symbols/symbol_filled_down_curved_triangle.png index 2d64a7e7dd85f21673ab02b95a5ce53c0746ced2..4c858a86fb7778451655a68b6cb54345d08745d7 100644 GIT binary patch delta 274 zcmV+t0qy?11fK#SiBL{Q4GJ0x0000DNk~Le0000W0000W2nGNE0CReJ^pPPKe*n=* zL_t(oh3%J14udcZMD263XHemI;w*Z;%0TK&4Xh4L`%v&x9AmRcV13Q2;B-(f(fKgftpjU>7{ceB} z3Int*WIoq!fS$#X<+^SOs-$j6puo$fCHl{p?!X^lU4XXfGMkol9jKCdG(%Kzew^;W Y4`2;W@nV)`&;S4c07*qoM6N<$f?-o^1poj5 delta 563 zcmV-30?hrN0=)zwiBL{Q4GJ0x0000DNk~Le0000O0000O2nGNE0N{5$_>mzOe*y1F zL_t(YiM^G%3F}%6954E4*0sZhODn=cMQXI!S_+%J;?X}f9FlMOuhlT zr>D^C<(qfA;QIjVW|@xx0I*{WUDw6tH5?yfjo}Zllh-o_Abo53*y&(`;Nff#K&OMT zmTi#!BLDy#7(?6h9`3^Pu*T2=4#pWw0Eo4gy>=TDhNEg2Lc5KzmOYT%S6Bc5z-JL| z>h)2fRs#`kfUKWsT7X=sf8sV8+zl(uCU>eFfn3c10Kj1sQR?*upKTOT0uGA^%LM^P zfS#QpssLzGn-xGVMYMTw!7Eh|p`j|#WL@zcpvsT)b6yU|MRi5b0N^B!F>#Cmyr%&C zN{#EeU5^i)OWg%?PXK@spm-EM?k&PDHLkV1gm@ B@j?Iq diff --git a/doc/images/symbols/symbol_filled_down_triangle.png b/doc/images/symbols/symbol_filled_down_triangle.png index 4ce9d4c180e2c41ed76a8cff3ddc1c361601fcce..802401582248e83760f577c64158494eeb509694 100644 GIT binary patch delta 263 zcmV+i0r>vr0+a$FiBL{Q4GJ0x0000DNk~Le0000W0000W2nGNE0CReJ^pPPKe*nfw zL_t(og~gXk4uCKSL|fA(mY2kARsWJPUa83ZM}hYLK`833%}n&|IO`z7X)B5YSkm)xIiVO;up!3cdDC z0ZW N002ovPDHLkV1i9fV)Xz3 delta 346 zcmV-g0j2(w0_FlCiBL{Q4GJ0x0000DNk~Le0000O0000O2nGNE0N{5$_>mzOe*qXt zL_t(YiOr8aYQsPj2Im>o2G>T7Nt?>LK+517o^ zlAW;HUHt^|KxkQsH#6|ZWA#gqz#H%}(cTB(8SFi|Uc3Oy#e(I0K5lbW!RgfQd~FI+ zGd|aAlFeou;BbKBkuQlASUIb&f31|*7X_-SarQ-lB=%q>!0hh(R^pQ9!vT2?5*J|G z+}#1jRk-Yb0e}$|E_(-HSVfn;0{{%D=(6ts^sDgMcL0DM6+U|pAg&^0?*RZ26(Rco zz+Vw#9{>QJiWvI{fV(2rJ^}zZDq`&;0Y5AH*!LKvW;$n?lx32c&Y*OnFy$>|2h#P~ sO}rdx;}#HYpM-yD#!ArB?fg&X8&Avi8kK8ey#N3J07*qoM6N<$f_hk%8vp|en-vZ#}J}-n=+A+Kf#ic{0#uiL7X+qYb*}VP*XRltfWGtD_e%00000NkvXXu0mjf&jozW delta 514 zcmV+d0{#8A0*wSAiBL{Q4GJ0x0000DNk~Le0000O0000O2nGNE0N{5$_>mzOe*wQq zL_t(YiPe=oPuoxwhM!}bjo<+`mMld{2j)yL1T{hJz{pQ%msUbm+aV(Z6a84)pTNk_ zilmZM?{m+&zCLi@W%DgP0Gf_D5!km9 zT!m)30mpaZAg!P9pIz-zu+Q{c#ZB?d-UP12mi9`*^@{-pc{h0v>N|;Vmz_11c5R-o^u-fF8{O zXvvHZVMy9&xQEZwXh0Z}n(-dAR8+w;iH&v}KbUv)3ls#_(z99%G}??}uMr!g!2Hbilr6004Y6>;6yw&)F z6NtXmv=1udd<}pqgtq4&0H1dWg73u}1E2yii;IArh*ew#>_AxJQ$Pk`jV}QagePtS zco5#W8DK#~;x51p5skY65+V~1dI7XhBpwFrTp<8GU#4dz03HIqR|eq%^l|Cli!cMU zcoty-tl}BO5@3x-5mSIS9zm#pXxxjC52eYt2QePYH^r?80s!gvx_e;L8uFpEU|Q7n q9FOINqpGxb<1bFk$$g9N9?vhEmzPf9FX= zK~zYIy_L%igD?z0Ur^_OF|qs3=+=i42o)m0LKnqt1wj^3O z9Gt;jp%U~xI0rxnbk6xTO(a{ifKP|~ZP%qkUc*he!2I8&k?gi;9}eNYMbWNJ!7==t tWF^qSPwyn(bv+eiA2``ZX6~V%FFq|2&vhsNt~CGv002ovPDHLkV1n7~cIN;9 diff --git a/doc/images/symbols/symbol_filled_hourglass.png b/doc/images/symbols/symbol_filled_hourglass.png index bf8562283b23e7e9cbe6badb9d5e563067af2849..287e95654da7a5cf0a606839549ffc3828cd102a 100644 GIT binary patch delta 307 zcmV-30nGla0>AwUqD{CKA0JP0%Rhz@EaflVTE@AD-ok`6|e%~2{!>V2ygfh zfFL5_Ehl09t35LAU{7D5JNz;sznhd0PTqpgbJ7~sa`}Eu&N<@5I4Z;dOkv& z09m_%g{Zw78Hvt#j(08T9}+T)(0f(#MF0Q*2>?k&PDHLk FV1m;na{>SW delta 286 zcmV+(0pb3@0;~cdiBL{Q4GJ0x0000DNk~Le0000O0000O2nGNE0N{5$_>mzPf8I$% zK~zYI#g)ws!XOwxAEra}WQXv;t-W>$U7>Ljbp`7XoV_tdUF7p1?ZF7NrNl2G5Fqan zem)>`s81z(U;v(gY{0C63e>A`osFyOs!F2|!_;hmeiS@_1JIQvwCy^$F_YltnBx`! zhypG^r}c7)F<|WkKZBAl!Fq`gbpAuIToQtN1oI^^ct8-B%z;M)e#u<;%n$`~1re=3 z1w>q5WPvLrOX0hXR*({DTU3OH{Wr;4IyWbH$p5;gSsz-~RFO5=Wlh&<@Q`E_9DzH) khF|6hRGPx# diff --git a/doc/images/symbols/symbol_filled_left_curved_triangle.png b/doc/images/symbols/symbol_filled_left_curved_triangle.png index c781ea3460d46683becf4849dfa0af0a2b3dd77c..24c44cc8d233a72edf5488f8215f13e481e4a685 100644 GIT binary patch delta 294 zcmV+>0onfc1G54liBL{Q4GJ0x0000DNk~Le0000W0000W2nGNE0CReJ^pPPKe*oo4 zL_t(oh0T{c62dSHL@kCZ(sDRj4k-#oM9A_8JJK3gDU$5->Sq%(bKAHsJH=aT?TQv8 zI-Z#~Iv|0E0_fe#f&qBqFaRsA>#iJNwDWQRqC=dYkKudiW!Twm#BJM4bs!S=)@cX4 z82=)C3Sg92Gs4pVnW7;;R5}^Ld>ud}njz>7{_W$KyaP!^2zTiBL{Q4GJ0x0000DNk~Le0000O0000O2nGNE0N{5$_>mzOe*vgT zL_t(YiPe=oPhwFJhM#jFK`q2&%?;QHA$Ki6&;lbiRyJ5_VX38!+1}d1f3S@$Kf^y@ zx9tX_i605kL>qDoJg)^8xP)EQz%86=GH3FEDVk3a(bjRU?C!UbBJ zI^0^dLU?o9@EvRQ9I5_jTHsmGe;LSSGU`++63BrTCk0#3fwj5^X=6h=J(UUtIb(Dc z%}jm~JP#aN%P;51FD>Efb;xGBr;m@kNqkj63&1Y0XAE_TR4#|x+yvjp_OgNi+HI1+ zpD_YT0Y8CNV9OY`C5nJar+F)tNR-Rqc>{3I+U>sE`iFpi08c{)Nn9?6e_39}6bg{d zk{H)#5cJ*GXndrSp?<=jZW0SSFwcMqN8|(LPKVm{HQUW5rOV6ih>ArLl?r&?C}?J; z@1~>iPb?%Y0Cl<_c~>Hp&*N$}tnUx9f&k9X0XPQpyB8ljqOgV+Fbyz!5*~1Jd&^Cu z0T&mzhlfE2b8~cn^2f}NLA&Z*v^$Wh)&F0#NrmEC6(d4%ExRF+IM?++B+|utTq1`t hKAC-yI3N9Cdk5-HzvT^qzg7SM002ovPDHLkV1hZp(;NT* diff --git a/doc/images/symbols/symbol_filled_left_triangle.png b/doc/images/symbols/symbol_filled_left_triangle.png index b3d63ea66b071bda5f72c1dc6420752a695d67ea..b8006e6a51fd93444fa2320132237e2ef29e02c5 100644 GIT binary patch delta 256 zcmV+b0ssD^0*(S9iBL{Q4GJ0x0000DNk~Le0000W0000W2nGNE0CReJ^pPPLf51sZ zK~z|U#n&+ofFKM7P;0!RtA}&-kaaM`ieLnOf4h*l{1=2)MOAeQtT`f7BnTjKho^O6 z1=q?IkO%9rU(eUg7f=f>6%^1C3y{1@H|11Tcb&0A}zD zV8a=~sY1qa5nw+{WZfPEg91nhRyL&g3Yd`3Gr)lSI)t8(rd!|v>AHqU$WR|ZKp>51 z1On}ZJrI{x+yW8CzhUjiM3pp*@*S~7orV^Y){t>*cjE-$?`!!mzPf7MAu zK~zYI)zvEw!cY)K;WGtI(glFPV+ytjo58RHR)DSnWH*6^4X_IEBv?p)1i_F?>0>Gw z-JCD!on+wuMnljVH0dI|G1DC+(8WC*MJi@9DUK!35uo2L%*u>~8NDRI(i8>*$aA<} zUtcumzPf6Pfl zK~zYI?Um6Df-n?CPnm%wn4+#i;ve%6`7m*nGDVl@3Q|8PSkxjdXw-O<{xs#Byu9)X zKOCEZJ%F`f&w*v#nJh#RVK_&i%yTG;$EUOgV*oe-dl20M!4)ng>~^zdq7<}kSaKtX zgD;VIf;9LuiQk+$6%PG3QUXvqViqv1z~(trRXp5JT@Q^H0;Uyoq1zG@#~6DMyuVxJ zFZe7$ruBNDV~kv1&=}MIk*QH?9DdEP_wrHk&S94(i5%DWlC=-cOtyJ4zdsj|!h#52 SKDrhF0000T+``Uu40Q%%`zVBntSDT}OsFEhctH#MOM4Kl7S@wW5IW;Ef4b}n9@}+R+ z2Im9`pjovPVg@n*SXM0o!4S6|dWcAlwXnMfHQYxN|+@ z((W5^9|yJoh%5tT{{WB?`vQ2Dfzuj4M1fmWN_*cDl;Tr{l?DkAQHGgjdI_dmGV6f@ qhuQ(pGH_b#x!@P4#`GTe1AG9Z6k{vbw!<#~0000mzOe*x!7 zL_t(YiS3lJPg7A8#(!TKC_}~B5CfYAk}^x;z)V6yFr;zR_%E2S=%n#qaCeYW62i`4 zf`cwd!fVk)+fYoq6-z24(9hu&d@U`$R^0rid+s^s``vrq%Y}a|#V>Udc-jhHfsU{7 z9KI`g2W+rg>pRzBEbwE=$0H*?f6ZjI!30a@S)sMZI-_as(;TeGuhW(L$zX~WhQY;I!Uz-9^b{to~T0n5Pi(NVm( z$k5nW?>hpN%doo2+2J7qo&hgGXI%gulXzoue`*Tm=3sdEYV&iQoWRBgf9&pp#5Ga^{5ca0i7hwvZ1<--S$7+@4;P#=a zRhkkXK;I((u*p^`Bx+rMws@-5pi&`WlRe){MDjU+e1331q&L?Epsx};`TXEx3IduE zpFrQb0Kzft?~^z>>fgLxe}{6peLR-{{Kc3Gg?5h~0OcjV1Oe_B5CmA_GpG>V@4Nvv zE2R=N8u85=4Jehu-p<@50FblM-d=n_p#V0bV?5CHHMJy)Hn%4y;{jT4P|0Qj)HdE; t&-IeT3n|{Wu#wF&=xw|s{Z~Z40EBkGkvCpg0ssI207*qoM6N<$0fHP)`}Y6< diff --git a/doc/images/symbols/symbol_filled_rect.png b/doc/images/symbols/symbol_filled_rect.png index 759f6c2b80ab0109a3a2dc1b56cbb5b76316a134..3557f15eae884f4ece02d8873d193e3cc2ada951 100644 GIT binary patch delta 152 zcmdnVxSUb3Gr-TCmrII^fq{Y7)59eQNGpIa2OE$quB!SnQBfi<($mE;B%<~0bw!~A z20YA;)|2(8eJfmA`9$<+aEQcY;Y|~#X)!J`ES8`7{Ip_H$<+5}-XE^&oARvmx^17y zKbHmuMkW>x0R;yTLuf(vtgB{k?i}CByIVltu~OK2!bPbbpk)l6u6{1-oD!MwF5-1VM|Jiec5o*#Uy@SOwqyD*L8RrXRF zI**vl{&|(rWx+Lx1>e~tleC_DDm1bPc_=V4#G7p1=ptC@yNvnQUyhEpZD)%Z=Q0Xe V-rB0N2WUNmr>mdKI;RB2CICKOJ8}R3 diff --git a/doc/images/symbols/symbol_filled_right_curved_triangle.png b/doc/images/symbols/symbol_filled_right_curved_triangle.png index 9d8d074cea9b1082e1f72e1c42da69d6b81ad0ad..b5b86ae5bcbff1c883ed45c8bacad1c6c5a6691f 100644 GIT binary patch delta 291 zcmV+;0o?wH1h4`jiBL{Q4GJ0x0000DNk~Le0000W0000W2nGNE0CReJ^pPPKe*of1 zL_t(oh0T{u62l+}g&!HO*liEjZ4YTzu>^mkfO*SIX5J?V0>v03HtN`E4gdiFi2fhE z<8kaT%>cM~G`0YELnHv11}}(a6?i~Y0pjmzOe*wEm zL_t(YiM^FEOIuMC$A9M*nU%S?EXTA{6Y_ z3U=z!4C#_IS^7{T1Rp#ROhHt5zJG^Atx?l9cs<)WaQ?r0&b{{>xF3^&UiburAc0={ z0z7U51e){(*#^lu#hxIVKd-_}e+QsvcMTW@rG9BAlofJ}$K4{&@8+3aO7pND)N7spVk@Ss}dd9%q3e;_l}B)$UQ zfFHn5u+#HgyQ;6Jz?a2E$mP19EQ(-j3wC!=y^fOPS~nhn9rSc@7sqLT&2HA&qK5$e zw>-=^hH@EdHO`t%`T&_xZMUchRDkf$7IgxKZvuoN6pN%gJ2*2=B|ZV`z-P%0|EGe& zzyL`$+lue)!Nvw@qk(gdR64LK@gD3~H_=-GW;_W3`jP}TH=$Gl=ZJviH01+W`me$_ z*yX4g8SyeI{0}>y<{9 diff --git a/doc/images/symbols/symbol_filled_right_triangle.png b/doc/images/symbols/symbol_filled_right_triangle.png index 4e4298510fe2a2de1fc2868bd149b35a75c2b3ba..4f290c70a8651212fc4c5584c485e16ec0292e69 100644 GIT binary patch delta 240 zcmeBW`p2l)8Q|y6%O%Cdz`(%k>ERLtq!mDzgAGU)S5%~AxIQQZHJI;KN;>}Y z=JfpzAr0con4%7eIQY9+h!_a*F`j8z&LH?u(II6A_W=%b#u)T delta 255 zcmVmzPf4@mY zK~zYIz16V|fbAjXT{Hn_p z?^FKppJ@+jLAzAI6C`8w0-X~;x)z00Rg$&(#Dwhl$aAP`Xc|mel3B~q7;d4EoqxoJ zet_7J6Nm*Z0-?}qU@PPe_(GcjRTl)DfIH|A1z1`Z8W;xXI_P^O@dhqH3+537%)`<& zJkA?f8}fU<;YA=c>;z(kXG?c*Mj-jgOnvmz?F*gnx;R$_Wd{HN002ovPDHLk FV1k{2Xf6N% diff --git a/doc/images/symbols/symbol_filled_santaclause.png b/doc/images/symbols/symbol_filled_santaclause.png index 4c41b7b13591df92a4929603715e934467ca0f39..c56f46b802d7a93bf67912c0c467b47960c6a3ea 100644 GIT binary patch delta 340 zcmV-a0jvJk1mFT8iBL{Q4GJ0x0000DNk~Le0000W0000W2nGNE0CReJ^pPPKe*qFn zL_t(og~gUj4udcZL=)62cH6^s+e1zlZICejI}l4OfFu(h_QV|k+QQf>lY9SNm3U-@ zx%&*uFahn0Gc?=;=;HXikMEza!#FPu7XeG0-H?+;*Q&rH%+CAM*ykxUL;_iHZmgO& zlt4w86)ch*aUxI^*XFX-DkF77ck}~* ml7x4)Y1`Pzs@Msv+Qb(NWsi&jSQu&m0000mzOe*y_f zL_t(YiM5r#PuoBo#Xm>DOHjfTDH3Y3cg}ST6Y78(s$TZ?AG z5N>b5_rVxC5-ymp83~jJ-UCO)B7^;Xa@A^j2|)mtmkfG6azGnsO`gpJf$GL^AyKgw zwzt7?rfW>p+}yz3UAh`GQuRmRmE)kjJ_X`pvRr@{wClb%cZ%gAvIZk{(lNx!I ziqvXFjj~v?4Id+GrQ>6%QW-YdUjkU{A(!!y-0l;chsuU~&Ec69k*wg$5b!gGDxD6#y0_y}JiBL{Q4GJ0x0000DNk~Le0000O0000O2nGNE0N{5$_>mzOe*zsz zL_t(YiS3k4OB+!XhMzNu0m&v17`3fpu+rK#L?gt7Uv2+|(*A&!Zu?8xMZ0S^y2zr? zZi*cY=^zL{R6xUCfw_nwSU*UG%_#;oSGW&$%CS;ok~94fA%)dqIlw z-faNh#{lnc+WfAWjz>qOVo@^Fe=+DzJ2SmD32%Yq!~{%E0+5VqHvv$O8Lx(iu}lUs z87LGmGhTzbTg^^hFiQgcz+f!jNVU!Zn3{t1byC27csA_B@(mh3?cAOjpgu?U3%WV4V?x7vU(e-00!Qh|*P zSY54^JupRN6VPkM@2xGI)V?`{S_w8cac1lSy^&{qi=vhEnDH}_;Qs6^UM|-jU~doR z=5Rs4j>I#t{j)KTU6`N8Ima)F=U@l%@dnq_4kV_70IysQ z&*iEpmvKRWCoz4|ya@one=5MYbQ-k+M4GSBoJ-O4NAosHhwA|PK;J>7HngQk+jkAX|ER}bpw!atwpaeK00000NkvXXu0mjf2sj%5 diff --git a/doc/images/symbols/symbol_filled_triangle.png b/doc/images/symbols/symbol_filled_triangle.png index 6279ef1ba3f5905a476588a75998bfd184ca6a64..a670ff4318ecd282b553fd122dac05666d2f36b8 100644 GIT binary patch delta 229 zcmVG!G^;3}Z; fKjzH+c`=&<0?$W_*}T|a00000NkvXXu0mjf2NGI) delta 315 zcmV-B0mT0E0muR&iBL{Q4GJ0x0000DNk~Le0000O0000O2nGNE0N{5$_>mzPfBH#8 zK~zYI&5yl}!cY(fXOG+x1vtBu#Byqh^a`N|Tme+zR<4js=>dt9U}kIl_$+jLfA2Y7f@=TDcMNocfo|#JrHEeZTD7iKMfB>e_;N0^BCMJQng&Ez0qsHq zT8gl%Dx@f&D4?nk5q6#mPr<|9e;8Ad8TfB+jH$>Kyx1Gwio`(J-tbnW3ZnLgry??t zwl_Q#v4X6y_~k-ES*#bsWIoU5TW0l~=?QFbb>ZlUX%S6ede^e55M{*%;Dd1-96~Urz*7s zUw1)s(YXCAdv0DR4u1O8OTkDoIuB$8Q@Z(|+k1h|5?C#HQN7idzvGe1;j*5nOZP>m Wcj&)-bW#%NO$JX_KbLh*2~7ZVZ*rCZ delta 414 zcmV;P0b%~10;&TciBL{Q4GJ0x0000DNk~Le0000O0000O2nGNE0N{5$_>mzOe*s)c zL_t(YiM^FEZo)ti0B3>Pl56B9N}I;GwWuS0Ku^IB;unw?K*2ju>c}m)NgJi{1CZPj zv?+`u<2&#HAuCyTI?rln?}~*xhm?yx0dK%(3qL%p?=9RT@C@?NI~~dti0}N27qf3)9M#GYZ(duvuNeH47Zuow9Q0 ztf7I3?xILFid02(2O3<@*^A6U_3+Ja=PY)$#4}dyT=S9tEADzlfBVR`bSp|k=*BU` zF^JFwl54p}0S!c$gdyU2;CT>+hzOHoJ6F!^;Mb~(6Lzj#y}+?m6{ejlXLev%ov?G| z>ILjpO*>!;Oxw767u7_Y0WZE^Lbhm(Oc(AIB)R+0Z{co_ALS7xqB+A1(*OVf07*qo IM6N<$f}EVT<^TWy diff --git a/doc/images/symbols/symbol_hexagon.png b/doc/images/symbols/symbol_hexagon.png index 60a5b11838ec713f19ed48a6a9e899704a54dd17..d345a6b8fbfc1ebc3d5b48711e8b4afb2e40ebc2 100644 GIT binary patch delta 272 zcmV+r0q_3J0-gdPiBL{Q4GJ0x0000DNk~Le0000W0000W2nGNE0CReJ^pPPLf6z%p zK~z|U%~nYgz#s_2PXGU9d(yEM2vY&gSxJbplv-=0jktD_A0gmI2TEBZKo6`suu5); z0UaR1S^Om@QXKHe-VzIb!j&Sm++_tc#U34^#gJUsUWOk5p4m5OF1!SIemn^?2m1sO z(?N>a1!QE;aeW+!oQ+)UYgCjmW|-#>c}5wcX5oq1ZLtqTl8@*DG8eOvOPvLtFwKI@ zDqsbS2O{r0000mzPfB#8D zK~zYI)s?+Y0znjozcn%0N((7u`=yhYAdwCO?}4?v0{9U43U0l;g*GHoZ=(fNG>5|L zgkWH2a2LZQQ{8jFGk^CEocoCOhm-;xPfiZeJiu4ipaLY%S%9uW3?`P?1KpO)2h)yy z;VsY_G!0nLi{+#~;taF|H3JM1f6xl_S|;q;cAxy=E_Y)5U>j3N;s+6J}QSNdVlpRlo_F9n{>ep~?^EzrM^f78)C@7vYIZ S)_C&(0000c~M%+SZl4{hhts`W1I_>SyP@kf!MRA zc0*^l91lPjLVM;7Aj`25A)mFE{NoK&BdqXOKqbNpR{<3WB-{jK5NNmyU=WdT2oOO; z!(jk|V8TNH3&Dnm0dI&*I0evxaoC?a1*jYpz$?O5!2Zp%D`p6w6ZFxn{Tm?%Zb~~4CZMxbRk!8W hg%f@9o;AL1&;K3+Yz#*qL3002ovPDHLkV1hKvYa;*v delta 263 zcmV+i0r>u@0+j+GiBL{Q4GJ0x0000DNk~Le0000O0000O2nGNE0N{5$_>mzPf5%Bg zK~zYI#g*F;gCGz9mrUxgv((^FNk~Up+2zBF5`=IGVs6F{IoRb5oD(vD+(6s`ET^m? zE)@Mjn?#&4l(!}3c1a4CIZjS03BO6+;6YhaDwr}A4U$}&7jGvhHTVXe^0EaM$)`G1 zK^0KxfJsmSnMSwruKQ#hPC&f=U5rs;1Rj82>Xf4*C`wFlfJ zK~z|U#n;^qg&+t3U}U}jE7L`D^OXF<(W|!F_)HgYfJq5fDLmx3dcH zAR@KI1h62Yh0F|)5Sc1EBBvp@ehiTk?wSE9Q1tu=0V+obpe11|;GJ;Uis=Gy*`7g| z0oqoJB1{15K93+&fVaqa5h5U3;XDWykiDc@5nDjj4cUVD0IIL&8sZ1g)f-3%+`Z^% uOxUBGi0DLX2JoP8KAZ>+uyn_#n)DmygLX6|Ae9*a0000nu|G{j3K+C{-LF)#S z!j1hqtzBY27z-a@y1|iVDBhtWDL3)@UR9-=wwAm{ch_Bhv2VM&L$7-w_bRsiqANM~ zi=1pSe<@Vy(eF`p@>05%$={4ifr_$amkQS!&$&C9J)vu=T)bWMGx0+@=C$hDvf9#i WKjxhpW{NGeKTnG);)wD}Abak)r@r$7s7nE8QG2CxHD zZbTl;4oK=0%z}|-P9H-NyF_SR<^vjJm5FjA^7^2~30J+*X2n(}TJM6tx{O8{+W!qp cAEhVp0rPE2Nw?hRJpcdz07*qoM6N<$f}g&0egFUf delta 394 zcmV;50d@YP0+s_IiBL{Q4GJ0x0000DNk~Le0000O0000O2nGNE0N{5$_>mzOe*s8I zL_t(YiPe=oF9cB(hM$>8mS!^vKS5|n2$g6xbfOR%+iCb08tsZ+R0?Vzl|-YEZB)o6 zG@EQR8Y*7Jo{>AdlZ~-+3OAX|WX_!Dy?5?=&V~Ouv<8a2;5Cpyj~?(zg9|j{0dE=n zsciTXs2$9{Ru*^!vkFf_ozs z&<5LS^WRedz2Im-0V}~!z)mm(a1wk3Km>0AkikoUjNmCiX7CWe2o3?v;2*$;GaGbC zI}QQLb49@@qN-}i_Ga*a2AOo^>4Uv$eI)H#c3egD!S_yX`DW!M? ulKL)a-vJSV(u~>_p#vg_%_Z&Fuf_}U^Hf|EKveVq0000ERLtq$NO@gAGVND7XDFQBk74&(p;*#G~`-)ziEU z3IeVd#eXkgsor31y+KZ@FkLifp7bNPIR|PMZBn{;XR<^}!+%}12JHiuN_!Y}7&t$4 za7^EIpYd5o!K(9{7$+RMZY{MyeGQY_A?F6QJFF3hlpYAyvFx}qzj@mS*%>(t4NX4@ zS319!3+8_j9p1`j#ArK#TSdW1j@iA%#yw5AOXAntQYKNu_l`@APW1zw$l&Sf=d#Wz Gp$P!T=Sx}u diff --git a/doc/images/symbols/symbol_left_tripod.png b/doc/images/symbols/symbol_left_tripod.png index f8b735af8a5b904e1683f03fc1f3d8cf302ce472..63c3545b8a4f313bd809d187d1aae52446ac63d8 100644 GIT binary patch delta 239 zcmVeKU&g|Q$z&lck2H4PGe(0fB0>#|`M*A$@fLuNi+}-RoCpY* z#bJO|90J(I%K@i&DZmmh16boFfSY(a;5MEL@Wj&q-gpWi5+@>hXE*XJ?@(_U$9i$} zha|cM;U}P@o^4Fof(Rn*9q=MjMPEV>BK<44MU;GoH;A%xz=|k6h%AWmlkkLq9K|~X pY!<8#&|x$~z^CDeXc@;E@d3vTLOUZ>{BQsO002ovPDHLkV1nR?T@nBQ delta 161 zcmey%xPeizGr-TCmrII^fq{Y7)59eQNK1e)2OE%lP;UEUqM}53lBbJfh(~8~!UD-3 z_m3a=@ZY|d_y2vntRE{LE^fPgu)s~F_jhN2{*eO*792lt;KIQJ2O>OsSbdIY9Ab(% zamAhI$9-PjMehQ=-E<|lwpe&)Oi-5emX!EsY+zt8#UV3_vBRI?*z?@rmqIZofwnSu My85}Sb4q9e0RGcIQvd(} diff --git a/doc/images/symbols/symbol_male.png b/doc/images/symbols/symbol_male.png index 51cf9929bf6c2a331b6bb37ea7166d1319cb7272..a305ce05c0956db09752b506e14ad9b8848d3fd2 100644 GIT binary patch delta 252 zcmV$*!M;v^n9R(uaGjAKPpSXj3^*bIm=&r( z8Qhv8(-dfhV+ufSyi_F|pl3WBz%vdECSfa{xe>-V03@Xmd3EhU)fTNlX`CrB#x)9n zk@J48sw5>LX9T!4|dD`#m1QWVdWy~~Hu2A~0yWK{OL08cJ#%vmV}jAv@u(z8Hq z#jJ86!$=96G>*M~Kawv)_klP6B)-!JHoyk>Ex-lvFF-j*-Q{-x0000mzOe*p+d zL_t(YiS3jzZo*IyMBk6-?Gu=a^jsi4*GNo_I07dKsc^$RD9H&ZgOUy|KmsjH3a=F# zWMey@j*-6PKN`=hcD;rh!}+n%^33xI7=T;&4#>>2t0(_7#DS(D*?GT}`7|{zw9Tuz zOU=`OPEC_8@C@{gSOIfj3%mj&f8Y%mgA=Gxbwkh|bOe2X*7m#y9g3AVhK6P^0|hxg zFisZK%DihY&nh&DX`(g(6Kh3Kp$SbhDN{UDB=mt#aNp$;w*$WT8-AkzFQ^Jw0gu;P zM9;KMp{VANe_9S1a-V5p)n!J)2wk*tQ=EwCK^HRH0;73_GGGY_fmzPf3QhJ zK~zYI?Ug|agD?<9pCa@sy-!adxbPU>!cDO!@H~1L+i_u#fE^hlLuu)UtTMirV3L6! zj^rRMh=5GWkWiCrltPDd2TEWBdgc2YPy-i`3bL1Vnt ze`o@HBWd4F3doQSUpd3VS`u&NMu~n}j-(H)jld;;!RG~0e2!^6;eOG)pNcaQ*B5mk qp6L>E!?^+vz}j$P$@!M~{h0woY^MbsgHxjb0000*(oNu=xMN))gyO$+f;-)3cmW>3kqt#73zL4QwV07i<mzPf0ao@ zK~zYI?UmUHfG`k5N3jB%^TUQb;@Ob3Xd~lCLOd`MkAR{B3t`#J+pk&RV`3-EUcReU ze!vfS5g<4?A3E7WiWNYr%3YcF00;FJcbV79FqyK5;wA{2$sAaQorV-w&C^+Lm8L9C zLfER0*{Z)0*BVmVn#bGbCIBGKD@lNn4Zt@K?j0OP06h!9F8p~H?fn`7mK?^}IZjmD0LCD|vI+65xe?ZWZK!)-M3i$y)R!EPELVk%V@ZH7R%#HOP6yzb zwFLxgW@|@Jv|8AeOf^It&KyMdViiPI21?si3ueR%Q0ctIMGES;KF5J003w%xtCnXu za1_AIWstP~gGdCJu?(692@qY3RDhMC-ijk@LrQ`JQ5O;%q5~`b8n^F(AK(VW*ibYU SNA6Jo00002xPqg delta 424 zcmV;Z0ayN+0<;4miBL{Q4GJ0x0000DNk~Le0000O0000O2nGNE0N{5$_>mzOe*tDm zL_t(YiS3j|z_d*B;KH4Co3Z+gG5;UIcrf z0_X+w2%5G11bPPL1E#a^0Z_#ze?A2HAO{)ZKyzm*&1LzI34oXBY3DAZy_kpK< zZ~{~^Qyr9b@MJ-E<|#%G6M&!p8aQxl$N_a=0z9=T08kDn0}aQ5KA;4i>p=hOYkdI2_Qll; S%*Q7H0000ERLtq!mDzgAGU)S5*?Yc64Cnh`bI9G zjO#_7|Np1wavbL{so)Lgkm~ZwKdGaX#F4GVpU-^e+XTiq5ujcMh6&6z>T}(fZZejcCDw()hIeA=G=}ISoWISE{T-G@yGywqrqbz6u delta 121 zcmZ3@*ukjS8Q|y6%O%Cdz`(%k>ERLtq$NO@gAGVND7XDFQBlI*%G1R$#G^AgK_caW`B)AxKo^oId_{AjXW^H6};UK$8)5S$eSDFI3-P9NuJnwMH U#6FVdQ&MBb@0G?wbX#fBK diff --git a/doc/images/symbols/symbol_rect.png b/doc/images/symbols/symbol_rect.png index b3e97309b7ca15d513d2aa300fdcee2f0ac8da93..e084ed90dcf0b93d9e8bf8c7cd7207bc860aabc7 100644 GIT binary patch delta 147 zcmdnUxQJ1)Gr-TCmrII^fq{Y7)59eQNGpIa2OE$quB!SnQBfi@#M8wwB%<~0bwxe~ z1s>;%c@O`E>v1u0-Z=Y5E1=e3>xNv@v^CBywL5iF!+)N#&<{OqAwS1->VKdS2ykGl mWa*j=&8uru*1wT|;pFr48;?umdKI;Vst0D(a{jQ{`u diff --git a/doc/images/symbols/symbol_rect_cross.png b/doc/images/symbols/symbol_rect_cross.png index 6d3f648334ce17b6b8854121e6f65921ccadee00..29d8013fc58703aa42c8890905777e11b4a70de6 100644 GIT binary patch delta 283 zcmV+$0p$Mf0;mEZiBL{Q4GJ0x0000DNk~Le0000W0000W2nGNE0CReJ^pPPKe*oG^ zL_t(og~iuf4ul{K1<*p=|CT#n8b%7eeM!HJG2X*NgvQKF2kW{oTKhhnnW&!%zw452 zRt<{O(2hP>5k3LNmS-ZycfEUe>Va&;E?fj;BDC-&AOnGfZvhbm8m#WVp{6E1>)0orW$A|L?z zsd*48!1|qA5nF(Fk+C3_fanT`BGgT3WQU9(CO}p=iueO$ha(7eQ(A!-OFS8Uc~t8} hbw@Fzo*p=b_yN6SWJK9IAJqT=002ovPDHLkV1f)8YS#b& delta 354 zcmV-o0iFJ+0`3AKiBL{Q4GJ0x0000DNk~Le0000O0000O2nGNE0N{5$_>mzOe*qv# zL_t(YiM7?wO~Wu0fbn0T6Z8xx&WJM`unrO}VgeAAIuFOp&;g2Q?=XTnBxytbI8Ga$ z6j^ed?|ZhN9sW78q6rUp$M;0sIhJG}m0*Kg?6Ex)euFD)$nMI%kP~){8 zEeP;bwwHLs8`;ay*9n5Agj6_OqzO=DJ~FZ7fnn{iEM^YNl`SR^)Zx{#)c0gqB2uQY zQjC>wlh=9B21+p|8NMnK;4w-3vKs;Klk^_6t_@9z)?sXAkQ4UfGjDOKIGOC4GngxW zb35Gk-%Clc$2ER9p5!Gq_&ft##kOQUPrw?EUsE~p%yn;2kpKVy07*qoM6N<$f}~8E A6#xJL diff --git a/doc/images/symbols/symbol_rect_downtriangle.png b/doc/images/symbols/symbol_rect_downtriangle.png index 04d89a0e9a8dbffcfacdba6fc5de3898795f0eb6..513aa74ad4dfdc1e69d0511567cd7200d1d9e3b0 100644 GIT binary patch delta 253 zcmVBS(8EC4V?GQQbAXar7_H z3+cmF?6@^A0pvPHXaB2#wtqwm?aclg`&R=*m=U-uu3lq zWFZQCX+e{IDUiWZz|(>@y-EO$Q%ba(}FdmzOe*ptY zL_t(YiM^Gv4Z<)GMV}FCq+t?0z=)xWN!q-E$sFH z>oNf7P4|Q?iuMx#t^;X+gI~B>>|?-o_(>#2f2zB}yIbI{0cV3u2W-@H8*c8#%;oa} Xl(mgSuMNs(00000NkvXXu0mjfF6)X; diff --git a/doc/images/symbols/symbol_rect_lefttriangle.png b/doc/images/symbols/symbol_rect_lefttriangle.png index 19044fc88658eae29487e43d610958a0c8cc549f..82fea7f94bb3772c83d65a8eba2d74d7e02c02ca 100644 GIT binary patch delta 242 zcmV;M1&07*qoM6N<$g1y38;{X5v delta 242 zcmVmzUe@KbV zmAwtZFc3zc5fjk6VG&v;LX3b!pLxt6RBS11=4~vpD4=K_wLt4>Ew)BKxcnkJAXAz{pQ%{W`2V5m6 z0T&5sz*zzdI4!u^!Jh>(D+72bNLblG`Nq(DiNY^7IlMIWI;M-}UKhi_@%07*qoM6N<$f@Gy#S^xk5 diff --git a/doc/images/symbols/symbol_rect_plus.png b/doc/images/symbols/symbol_rect_plus.png index c322669cd98084039623880dac02b5eb922f620a..a7bd7aa29db7f996877d62654a1dba4c39f17d92 100644 GIT binary patch delta 160 zcmcb|xSmn5Gr-TCmrII^fq{Y7)59eQNGpIa2OE$quB!SnQBk5S(bL5-B%<~0^^IH& z20SefyTAO6{~6QsB7=4PgZV3Ez3e7E%(%I&$@Evi*V^LfTR~@cAN%^LM3Q%Yt-7qR zhZxW#28JD}2Xi#`a&F$L<{-rc05AWq0p0;2iBL{Q4GJ0x0000DNk~Le0000O0000O2nGNE0N{5$_>mzPe~?K; zK~zYI?Ul<7fFKY=AI5&L1N3G|mS9QVloF^24`AGjg7I@OOhR@cvpbON1b7)L1m6S0 z!@WmPQx!J@U^0qyTq&5?lUf{FQ0;l0pF>n#g12m0b;5cCMW6`WhxCEo=ll>&2uYp> z9DMu&m*LRjG0zVzRWmbrnA&bs^UKXd%B%908a-rf zPCwx?7WSp8{M9MmU?#)`WI{qf24o4qglqvAkRt#Ras@y@Ab=YP6mS9wU&RPW1N7HE zlojwGv+qg@APRL0TB3tU1&qbxOqrkoX2o8hfSqC};G`G=xGBB@Ac~Iw$l@&kqj(9x wEDiw~#V#PT*aeKq_+=|1IWwK*Ux8PM4++9hV5z2{a{vGU07*qoM6N<$f|DUx5C8xG delta 238 zcmVmzPf38VH zK~zYI&DG5b!axv);djLfyr&jz${vCRq!y2+ka+QK0bV{2NnBBgo1GbOUmzOe*pza zL_t(YiM5r%4TCTYMSs|XS$gdt%uvw@+6m}|L3*TvvU}iT{5> zN`QkEmVwRyddK<`k1xmCI}n}?zx2swO|9~*1xW+bw3H>Ef0x1tCxwR~O^@ukN>MS$(~JBRHG)!lWOF8kVW6cK z`6w&`D?PGrDurTDOE0QZXat`0B9o$E;7u>GDM|!e(u-7z%wTJJkxr2l{F7c}{R^4^ ziU7^^qu3G++#_bkKTUkj&)#ELF=)95nvjzj9_3hhfOa5I}ZXYQLg8kx;F*BC)PaaR4X)K=i#4-H$6n z^bdd+??wthG{g-cZHR&xu7U`NEMdx1FP2Sf)(n~B%l*tMXEdk?Hb3nHfF8^GJ^DL{s}3XpO#iaw0+D!|K* bX3_Nl4Uj}t?NAKr00000NkvXXu0mjfg3)nW delta 377 zcmV-<0fzpf0)+!1iBL{Q4GJ0x0000DNk~Le0000O0000O2nGNE0N{5$_>mzOe*rg1 zL_t(YiM^G-N<%RehrfuRU8*2HfH-t%7wseHqN5!|L5q`vK7bG4;M{_f;0x&LprarN zia1&nTohc~3J&ehi#O0>(ST`C4|EK=0rf%qf1py4kZaHxXdKis$TMgaG*SfM5cCp_=RueDY!9Ga zP&p4^+mua4{{m0Ev z;2t;vuB_jIPwQ?VsAdQk+W`E&$#JMUN?;ct!;{n3bcV#aqEyO{F9w$x^^!(-z9U?K{?=G^!?-$ XZ4uR3b#q~300000NkvXXu0mjf*t(&6 diff --git a/doc/images/symbols/symbol_right_triangle.png b/doc/images/symbols/symbol_right_triangle.png index 71f93c5b14ded6f66c86bc5fdb3177fd21df1c82..c9638b1eb88a3c9b27d8178ab2b5bcc3751147a9 100644 GIT binary patch delta 225 zcmcc4_?}U*Gr-TCmrII^fq{Y7)59eQNGpIa2OE$quB!SnQBk6Pp{I*uNJQ(=tEagR zDDb#kbo=#x{~W!p1aFRKhRF^B=HDmuE?QM3JI7F8iJj3{?@&9>>xrB{8A9$KZkZvS z;N-&~{D?_nf-ZxQ5R-y}ri1ztmKP0M7_=sYIj}J?x+nxRurFlVvr}^7|6A8{9T?*z zxNdMdGfXVdRuIl(3^}A~?%;00`husOq2q%XgJcRt ZMqVr|Y<2wVYM`qbJYD@<);T3K0RYc$N?ZT{ delta 201 zcmaFQc%4zPGr-TCmrII^fq{Y7)59eQNK1e)2OE%lP;UEUqM}57r>Bc!h)3tys|Pt7 z40u`}%6~6lDKD@#FPNwI=&a@*8~!eit}SN%JWnn;+hts4*~eMBfbq(%21%6*Oj5iP zgfeb*>$7=edf(`3b54I?(cSW{A>aikM`KZg)(Vyi*1e2f3#1+}WuBK?uu^;0`sMO* z6W>nE&CU9qu`MuBx@=#ed~U48x2Z4Ve(j53yz%(G<7Xzxqd?a&c)I$ztaD0e0swB4 BOJF zK~z|U#n(X&fFKM+(JAr%SH=|t1cU;evM_35{sR|^05JmT$R8n{h&TbtnR_4tP%l3l zkzauqB9s>%i159^Ml=96q6=Umh5#1g7r;PF0oI5mfF)uXV1-ZtED#do-iP=!o~r5< zxILbohsxQX{>Z3T;AUJ6xE)skLM-CT0IT>Cz%o7sSjT?>jQ9}1igy9bcmrU^D}YBl m1H9q@AZ5~HhuqzoF~ITcCumgMMD>Y?2i`~){vP8+gUuS0rv+QHmy@zK> sY<|kNRBzpL*Yt<2;{R;toZKNjH>jZKLhQ2XKr0wLUHx3vIVCg!04jenl>h($ diff --git a/doc/images/symbols/symbol_santaclause.png b/doc/images/symbols/symbol_santaclause.png index 9ab92071c4ef2f72e15f64e6e1ad6844231359e0..17c829a4a9d84f6cb541f04cfc65bc0e8c910f46 100644 GIT binary patch delta 315 zcmV-B0mS~11IGd(iBL{Q4GJ0x0000DNk~Le0000W0000W2nGNE0CReJ^pPPKe*pPO zL_t(og~gW34uvoXM5*!re;F4>b1(87Fp{`1woH43X%{myeHdG3@>=K9i5(Tz-Vv5% z0^W`h8fgMDx!mpby-FiRAQJZ$6z2B2AS2wJXA(fgwXts9NCF*URUpXsM_^i9%kgMo zX6CM$puya9!ig|_VETlxD5tyNe+_XWLEzdo>S~d&%ui$xKwT{(E+edgDvfF@hh0!| zHNZzwr(r~+V_+p8&}eksvwS0(*!6EfPN>xZ>Ki2jQC}mzktX0F@AyVYAp5UT8ZH5( z(5f_40^JI)(0CA-ycK0=?ACy(`+!A5U4XTiH)A83zx`C=Ch*lF4rmW_5nZdcTj>A* N002ovPDHLkV1o6mzOe*r^D zL_t(YiM5q6Qo}G1MV}Ztd#E@Dv{2f)L#UbI6mSBl2|XQLfsPy?70{A9kO?iHLNds) zWN$Lg&TQcw>Hojh*9!I=&c0M7a2-Bw!F`XYLp5j#QpitGH3o1Anzcb&WHV5)D|nR$ zN)g+Ei)i!GE6%QsySX=XqbewBe^i$SK_%#6pc@sS=dfr6nu3nE%!{yBpr;LSdWjq| zR;~aJ1H*aD2HXJK`n&+{qVJy=a}HV<{$(aQXSeW}ZGuqH#O{oo<6^vI!QzZQ#|;wv z)f3%V?unV8(@mT`_v9b%AiW?Cx5iJ=kErQX+d!Zicmqy=$B?JKTQ=;p9)f0| z@ru72HMlFEOz>~X9NR?gxTt1uB==3!>>=+mhErnF1R7SICD|0Fh9JDj`T~yZfYxxX jIpnkP!MWT6W;cET<1|`J+IlK900000NkvXXu0mjfUb?G_ diff --git a/doc/images/symbols/symbol_star.png b/doc/images/symbols/symbol_star.png index c196830150bad8dfa80507dce301515ae169f6b0..07702916e07ab4d6b5b7538dd8c3001ee29dba78 100644 GIT binary patch delta 271 zcmV+q0r39L1DpaOiBL{Q4GJ0x0000DNk~Le0000W0000W2nGNE0CReJ^pPPKe*n%& zL_t(oh3%Hz4uBvCg`@TUuS^$>MkaqsIa_D*rX}YC848Gq%RsFo&AR~rjx_{;8}~rW zc?6U(;<5O*R{$~<2H@F~da5v21!~!oTC1>0COy((l<+{K*kkM++L2hd3Pg;o;H7F{ zXAkgA8ONZRbFWJiJ_R9}-vFL~Wzfv40GSY$xd@N};W1YMtc_k-G3FY@KR~IBHz8=x za_RPyOr`&{My%ci7EozO-#vy+0Fto<;!(H=iBL{Q4GJ0x0000DNk~Le0000O0000O2nGNE0N{5$_>mzOe*u6= zL_t(YiS3llE(2i{hMy6eZYx3kG!-ncV$qd|kZ=Jkxr1Jag@i;GS|KD|OIW!H8>xR1 zmrz9!Kd;4{)~BkSNh-1MC1-QabKdvNH)jU^*3qONza!oYl10yN7^EG8wPuTVgPuVd zP!{wA>T0IJD(D520QG@hK`YG?e~*D4L7Pr)%W|EKy1go~Rv-ZkI+3#C0C?BN^#fOy zPXm`u+<^C5YtmEaC6=QIIs~O^@F}YmYxJE|!=6*jg2q7|e!kI>XY4p=!_lekRS)O_ zbO)MfEd0%A0(1{Luk)QK=0BbuKvN;ar$Hsqv9D1dZU-INmdpeYpEdT#fA0-8QJdXk zApl!2wk@D|rE%ZitcKhfXz!n6ao6b8Yl)@ws2o$-e(mFFib^k z%K{^2f78lfwrBW-45v8YB^&U!Wd+nX?H=xHJA~r tmAUmW264~elF8XFH`8SsBT&j;Sx?(VODW~u-H002ovPDHLkV1mo$zia>i diff --git a/doc/images/symbols/symbol_target.png b/doc/images/symbols/symbol_target.png index 2d9eb17b9a4082c2cae034a7e44732793016c2ec..a607e49e6c456474a6e0339ee9e56b79262a627b 100644 GIT binary patch delta 261 zcmV+g0s8*v0+IqDiBL{Q4GJ0x0000DNk~Le0000W0000W2nGNE0CReJ^pPPKe*nZu zL_t(oh3%Ko4uBvCMWglqzibbU<{HYqO2e(#dU2S?3xY~1rEH0|XD&VsAaZ?a01@^B z9P9)u=JgnRreFXx+0+jOfdE=Nv=-Ab5e&l30ajiMW*A^JwhRPx3Py@GI;RQ1CQ}ch zr$TxiNCyyY$Fog^H4RU?0(T*LTP7Qlgb_aJ3akr&oMF$95J3uzK%jHF0BmEie7#EQ zD!@Xp4NTB?0UL(U3rYP$59GBgnYBPf$6U7#dmzOe*qdv zL_t(YiRG0|PQyS9g}+o0y+B#A;SwOVQduV=M}SM@La^&C1~m(M3PhJ_@9|TMkh?ZSwh%*7c`C?p*(9CoCVX5WXDQ2Ew@j0000v>dKpKqMWL1@gg~C1O4S zje&IXyDbaMqDp0Z~qZQ&5sM(W|3NZ?_*puE0{tNWjlb#B`3yj#4)(UrC$$Q`H43b-Ctnr(6j*6bN)^lt2molmSEB$=0gL}JXI}4% Z-Q4Y&Ks#%xsh0o%002ovPDHLkV1n^%Sd;(& delta 237 zcmVmzPf2~PG zK~zYI&6L3j0x=LpAL5pgUcA}Mc3>kZ!8+_kwh1re!8v4MjY;MQ32>EEyFbM1EAF62qv?rfg~0+NZ6tU5VB|)9=7Ni z9J1&c>b4ls?y?wBZY~wMdQHV5L)Y$SImPp@7F0a_uO*eg;C<1vpRT|HT)`f}gygIh nxSjm)4s5_P2*(+lGv}{29FexkY!axo00000NkvXXu0mjf92sM6 diff --git a/doc/images/symbols/symbol_tripod.png b/doc/images/symbols/symbol_tripod.png index 8ba14c3273de8cff50b52c2bb255bc1deb97efc0..7db338198cfa7959bf2bffce34fbbcf5bbe84fc9 100644 GIT binary patch delta 212 zcmdnN_=r)lGr-TCmrII^fq{Y7)59eQNGpIa2OE$quB!SnQBk6Pil>WXNJQ(~>$|xQ zDDXI3Jof+p^OAy%Ql{(GyjdJecCd>J3JA_Wa?$8<8iT|9Ooslz1}2dO46GUrQU?2) zrill#E@+BskuYcz_`OBJrNPo~?NSc21o7=k5e?CInszYlDAaw#G2xhLhpvP4bR~}l zQ$0r=hV>TW9~mo-TXwi<$^Q8meMd3MNl*;jE8rW$$oT)agv7u9?T_-JB=7MV&RI20L7Go|@if&N zJj-XP{@_`DLnw(y{kBjLkNQoaA|CZyLS8)T8Jwm($1^!id5>ptZsm2~%ED0JP_9tU S)36?BJAERLtq!mDzgAGU)S5mdKI;Vst0R2*7 A<^TWy delta 277 zcmV+w0qXvW0;2*UiBL{Q4GJ0x0000DNk~Le0000O0000O2nGNE0N{5$_>mzPf7MAu zK~zYIy_LNU!axj0Um`L^l#Z4eC=n|#0voVMMqmY6n1PlKWr;MVh$97b7aI{{DZ0q_ z{KdW>2ZF5_2H5}?;9>Av9d8D=2KG?gOLZK88fa#Mn#_BOt5tI}X+V0AHXkP~i0ET+ z{h;Za_(;IZeKk21^>Xg=Qi5L2YgNTBA2q93V%cV^SYqSzRd|o2gG*;O2F_$^Gn|ua3;F-_tZO-C4 b)r_|n3f6Xi@@54ZTQ_E-Enz5K6$1 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 +#include +#include +#include +#include +#include +#include +#include +#include +#include +#if (QT_VERSION>=QT_VERSION_CHECK(6, 0, 0)) +#include +#include +#else +#include +#endif +#include "jkqtcommon/jkqtpstringtools.h" +#include "jkqtcommon/jkqtpdrawingtools.h" +#include "jkqtcommon/jkqtpenhancedpainter.h" +#include + + +int main(int argc, char* argv[]) +{ + // 1. create Qt Appcilation object and a QCommandLineParser to go with it + QApplication app(argc, argv); + QCommandLineParser parser; + parser.setApplicationDescription("JKQTPlotter command line tool that renders diverse images for the documentation"); + parser.addHelpOption(); + parser.addVersionOption(); + QCommandLineOption outputDirectoryOption("outputdir", "write results into this directory.", "outputdir", app.applicationDirPath()); + parser.addOption(outputDirectoryOption); + QCommandLineOption listsymbolsOption("listsymbols", "list all symbols in the given output file and generate images."); + parser.addOption(listsymbolsOption); + QCommandLineOption iconsizeOption("iconsize", "typical size of the generatued images.", "iconsize", "24"); + parser.addOption(iconsizeOption); + QCommandLineOption backgroundOption("background", "background color.", "background", "white"); + parser.addOption(backgroundOption); + parser.process(app); + + const QDir outputDir(parser.value(outputDirectoryOption)); + const bool listsymbols=parser.isSet(listsymbolsOption); + const int iconsize=parser.value(iconsizeOption).toInt(); + const QColor backgroundColor = jkqtp_String2QColor(parser.value(backgroundOption)); + + if (listsymbols) { + for (uint64_t i=0; i(i); + QImage img(QSize(iconsize,iconsize),QImage::Format_ARGB32_Premultiplied); + img.fill(backgroundColor); + JKQTPEnhancedPainter p; + p.setRenderHint(QPainter::Antialiasing); + p.setRenderHint(QPainter::TextAntialiasing); + p.setRenderHint(QPainter::SmoothPixmapTransform); + p.begin(&img); + JKQTPPlotSymbol(p, iconsize/2,iconsize/2,s,iconsize-4,2,QColor("blue"), QColor("salmon").lighter(120),QGuiApplication::font().family()); + p.end(); + const bool ok=img.save(outputDir.absoluteFilePath(JKQTPGraphSymbols2String(s)+".png")); + std::cout<<"saving to "< "<