From 0775d1364a6beb6ae7f0f2a30fb1d7e637d02828 Mon Sep 17 00:00:00 2001
From: Seth Hillbrand <seth@kipro-pcb.com>
Date: Wed, 14 Feb 2024 02:00:01 +0100
Subject: [PATCH] Add bezier icon

Fixes https://gitlab.com/kicad/code/kicad/issues/16830
---
 eeschema/lib_shape.cpp                        |   1 +
 eeschema/sch_shape.cpp                        |   1 +
 include/bitmaps/bitmaps_list.h                |   1 +
 resources/bitmaps_png/CMakeLists.txt          |   1 +
 resources/bitmaps_png/png/add_bezier_16.png   | Bin 0 -> 377 bytes
 resources/bitmaps_png/png/add_bezier_24.png   | Bin 0 -> 446 bytes
 resources/bitmaps_png/png/add_bezier_32.png   | Bin 0 -> 687 bytes
 resources/bitmaps_png/png/add_bezier_48.png   | Bin 0 -> 687 bytes
 resources/bitmaps_png/png/add_bezier_64.png   | Bin 0 -> 1142 bytes
 .../bitmaps_png/png/add_bezier_dark_16.png    | Bin 0 -> 379 bytes
 .../bitmaps_png/png/add_bezier_dark_24.png    | Bin 0 -> 443 bytes
 .../bitmaps_png/png/add_bezier_dark_32.png    | Bin 0 -> 685 bytes
 .../bitmaps_png/png/add_bezier_dark_48.png    | Bin 0 -> 686 bytes
 .../bitmaps_png/png/add_bezier_dark_64.png    | Bin 0 -> 1146 bytes
 .../bitmaps_png/sources/dark/add_bezier.svg   | 131 ++++++++++++++++++
 .../bitmaps_png/sources/light/add_bezier.svg  | 131 ++++++++++++++++++
 16 files changed, 266 insertions(+)
 create mode 100644 resources/bitmaps_png/png/add_bezier_16.png
 create mode 100644 resources/bitmaps_png/png/add_bezier_24.png
 create mode 100644 resources/bitmaps_png/png/add_bezier_32.png
 create mode 100644 resources/bitmaps_png/png/add_bezier_48.png
 create mode 100644 resources/bitmaps_png/png/add_bezier_64.png
 create mode 100644 resources/bitmaps_png/png/add_bezier_dark_16.png
 create mode 100644 resources/bitmaps_png/png/add_bezier_dark_24.png
 create mode 100644 resources/bitmaps_png/png/add_bezier_dark_32.png
 create mode 100644 resources/bitmaps_png/png/add_bezier_dark_48.png
 create mode 100644 resources/bitmaps_png/png/add_bezier_dark_64.png
 create mode 100644 resources/bitmaps_png/sources/dark/add_bezier.svg
 create mode 100644 resources/bitmaps_png/sources/light/add_bezier.svg

diff --git a/eeschema/lib_shape.cpp b/eeschema/lib_shape.cpp
index beb0870fa6..dec84a686b 100644
--- a/eeschema/lib_shape.cpp
+++ b/eeschema/lib_shape.cpp
@@ -494,6 +494,7 @@ BITMAPS LIB_SHAPE::GetMenuImage() const
     case SHAPE_T::CIRCLE:    return BITMAPS::add_circle;
     case SHAPE_T::RECTANGLE: return BITMAPS::add_rectangle;
     case SHAPE_T::POLY:      return BITMAPS::add_graphical_segments;
+    case SHAPE_T::BEZIER:    return BITMAPS::add_bezier;
 
     default:
         UNIMPLEMENTED_FOR( SHAPE_T_asString() );
diff --git a/eeschema/sch_shape.cpp b/eeschema/sch_shape.cpp
index 8f97f69310..105c5c47ba 100644
--- a/eeschema/sch_shape.cpp
+++ b/eeschema/sch_shape.cpp
@@ -470,6 +470,7 @@ BITMAPS SCH_SHAPE::GetMenuImage() const
     case SHAPE_T::CIRCLE:  return BITMAPS::add_circle;
     case SHAPE_T::RECTANGLE:    return BITMAPS::add_rectangle;
     case SHAPE_T::POLY:    return BITMAPS::add_graphical_segments;
+    case SHAPE_T::BEZIER:  return BITMAPS::add_bezier;
 
     default:
         UNIMPLEMENTED_FOR( SHAPE_T_asString() );
diff --git a/include/bitmaps/bitmaps_list.h b/include/bitmaps/bitmaps_list.h
index b306020a8b..642433e460 100644
--- a/include/bitmaps/bitmaps_list.h
+++ b/include/bitmaps/bitmaps_list.h
@@ -41,6 +41,7 @@ enum class BITMAPS : unsigned int
     about,
     add_aligned_dimension,
     add_arc,
+    add_bezier,
     add_board,
     add_bus,
     add_bus2bus,
diff --git a/resources/bitmaps_png/CMakeLists.txt b/resources/bitmaps_png/CMakeLists.txt
index 0a95c47283..4a89b048c2 100644
--- a/resources/bitmaps_png/CMakeLists.txt
+++ b/resources/bitmaps_png/CMakeLists.txt
@@ -158,6 +158,7 @@ set( BMAPS_MID
     about
     add_aligned_dimension
     add_arc
+    add_bezier
     add_board
     add_bus2bus
     add_bus
diff --git a/resources/bitmaps_png/png/add_bezier_16.png b/resources/bitmaps_png/png/add_bezier_16.png
new file mode 100644
index 0000000000000000000000000000000000000000..04600e72cbd43f25fe1ab92a0cc431f7d7aad313
GIT binary patch
literal 377
zcmV-<0fzpGP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003%Nkl<ZILl-B
z|NlP&u~@3<n4xsTQ3GT#qBVmw#w@+|F&c=an-1%fZU9hI<dUo3A{Jf#CDU+7k7NTN
zUN|yYs^Q2(vb+HC#*u#M#v`Z5GC-;048K(4;m1G&+E5ITZa5($-FP?@Xu1Wmgk1Y!
zCF{v&w;A=F&H*~xPpa|gS*gY&52agA86c}?0C9j4|AF`oP|+&M#-lqx3XS_u{dx5M
z$A8D^=l(<GpGr0!*#@MKf%y$bjzL{;!~&@Cm`uZwMu~<)T0qG!KzvTK^TaaOnde?x
zO+2$tyy2)AQaHfXV}t?Fk9&Zc4>2_CXCXFh;0&3*W1K+EKY=)$l$e1tK+XjDO|s#r
z9a#n_H0<X9`t7eo<I!TW3;?BdU{d`JO0LLhop=L)nm`#PYVnni$Z4Hu17L=bq8Wq%
X4hpbdLC8Ga00000NkvXXu0mjfvACy*

literal 0
HcmV?d00001

diff --git a/resources/bitmaps_png/png/add_bezier_24.png b/resources/bitmaps_png/png/add_bezier_24.png
new file mode 100644
index 0000000000000000000000000000000000000000..4b5d18dc7711a7d2d83afa64e830a1d139e58196
GIT binary patch
literal 446
zcmV;v0YUzWP)<h;3K|Lk000e1NJLTq000;O000;W1^@s6;CDUv0004nNkl<ZNXKLN
z|NlP&EiuIg$TuGKR%tu-7KA};s#^du_|&71|4%;r_+O>%_#2v705bdp#DaG;3Zmn`
zl-rK~muWguL3Im2SgPshW~s&_|D_ua`_RM!$;QJcK^Dj~9X6-B1#<0&1%ZZt2jbt-
zZ6}4PZh>UO(PohArJ9axq$nRqH5@XMZah*b)pX1d#24@0$qhC99}xeMYB*wp(*m#y
zpcvEO{UVY;gVoxP|E$?|_b-tC1ypwkh(AL0{F81xnu*IC3=44K>TP#Hn*LV-X=2pl
z^?`W9VI?5@8C2{iD3yR*UcK$!A61}Fq#BNuNVOc4#qcdI3(&%h5vbreRN+3EmSfT&
zap{Jm2B0_q(G(SSG7ZPfpoTvcZP?F4_0klWE6czZG#r^slj2&c@$fuIx;~slBMXi!
z09gQx*jSoa08G;pzy(+1;bNLtAlrOonsVE*|H|#heqgJiD7HYk{rCrbH5A1bpw&>+
ow*Xp0y#ZmF<|AGM-l`yk0TAO_*eHN{*#H0l07*qoM6N<$g5LznfdBvi

literal 0
HcmV?d00001

diff --git a/resources/bitmaps_png/png/add_bezier_32.png b/resources/bitmaps_png/png/add_bezier_32.png
new file mode 100644
index 0000000000000000000000000000000000000000..104a401d0b44a5312223e6b97fa8658bf95f627f
GIT binary patch
literal 687
zcmV;g0#N;lP)<h;3K|Lk000e1NJLTq001BW001Be1^@s6b9#F80007ZNkl<ZSi{Aa
zO=uHA6vv|oq9;+oW_Du>3W8tIV?k`{$%7}+f_SLlNsk`&GBa5`6#Oc5dsiVK=ut(G
z(9X<?;;sj^o;-L^dlUSC+H5kux7|&)l58qC)4+pGvhTg$oA+k+za_18X(P>8V3!9+
z2o-nG_E2@$Du7EDj=Eg^KH*2r2|sM&bw3Cr09Z99Znd>WtImc^hpF3E0jf}a1~BeN
zu~h(EZnvgZ#%Cja91L2}8shSh)geR(!ek7l375~U?}DTiOnyrMn0#h`8{Q1ILE<(7
zK>zPr2OvBcO{>>sCOrE9OipJ24i%@Y0u0fGgOK=F3h-tB%;T;99e~v2fie{*T^j6M
zdj`m3ko0q>dZsQ7d=@xdT_H?8$PB)Z6*)mrFB`B*P5p4Fx&YS~2@_AV-;?BAJ_LtN
zMe);q;UB9`spBoM$-EIRE`!y<c@giazgg1Xmt#Fuf3Jr<rStx)F+`){1?Li9CSUv&
zf3gr@J%-8gb1(b~tMG5W0|Bxdoa--lIZVD?6M(A~SoV0TzSzDWF6q%5uUc@_et<Td
zalOFly(4<Z&(FY^!^GLlh&Nxs-r*729VYp)%;b4OUvI}j8}ZaTsQl-!7d#@gvAb|)
zdc+^N3(8cU?oz98gf@0qRYXwzlN2DveQi~em1tuNBwkJd=B;Z&7_xo2p_#T0fZ`!{
zl3lY7kSN;hNyg<>>j1FL_U2kJV;!JG^=79tgyK_?t~b*H)b%yhp70}G^+R2x>kYL4
zbp2cucXfT#SJxW@z@!~rU+`jK1R&A%u<Qtd$t!T(PuCkeiV*^<Ml+S%_<O;6><?iv
VFYmYdGs^$~002ovPDHLkV1i)$JR$%9

literal 0
HcmV?d00001

diff --git a/resources/bitmaps_png/png/add_bezier_48.png b/resources/bitmaps_png/png/add_bezier_48.png
new file mode 100644
index 0000000000000000000000000000000000000000..a6bd05aa375350035fe3d03622b418af40562eea
GIT binary patch
literal 687
zcmV;g0#N;lP)<h;3K|Lk000e1NJLTq001xm001xu1^@s6R|5Hm0007ZNkl<ZXx{Cb
zF^dyX5XbkpLTnVQvh(&D(MG{W3o9EzP!WWy)Ku4qg^l<DX7(ajogj!HS|-Axjm7oJ
z&Wno(7Dv8;8x>EyErg8<&%z5PkL;1`?zuZ~f$5gb`@Ot*^Z(DpF~&HO!#MybArwX)
zVE7V<hd>+y>5jt469E9N?g|iZ1F^AUdmf1D0sij1X|@Mun2gLY8JT8#unVC(^#>r1
zf!M@JYQ~>9NyooJECyhhjHCkS&iDw$NowLG{da_r+qDN!7<m~<{6j<%Pe6Q_0zmyl
zR3THO?}!EfKU}i_UI+u=`;!1J@rEn_3ZG2^C|}<b2EYUB2wf5b;9>8Kb%mzKFghXz
z07wT@$A@@RjGT6T-L#9ChkQi@fJ=M}h<{qU|IRUHsWO0h%t^!N)5_=9v*beqd#7?a
zvKcQkKy1n|CyMwx`295(^*Rto8Q=9AD7>-gdI|%08~wwIdKZC01me%x=48)EUDB)8
zwOS59p2#pKrNn;$$S^0>09X$%*(HBgWSEmL3i%QEd~+V1zb^m^`9a2WpIqdpK>DsC
z-pSixC<HKvUcWlyg^5di`^4kTL(}F&cXqvQ49M+87hif~%L#&IMZ9G#{-d|vJt?9y
z2iUuAE&iA5hiApK76G|!0X!Gg8wKKTQ<W9@ychtl)mPT;?<^v=DhF^;U$6k)ifXR|
zh1V>AH=+Ps(yNxTd?gB?L3}x{-K$9s@Hq=$OBBHIhwqQt+T96)Wm$Cq!>@KC@29>g
z_ZDh(SCnPE^D4}001D2qYETD?&9G_%kavbv1At;PtjYoQm|@9C;wo(7!Jj=O#UE5t
V#Ts|oOsxO_002ovPDHLkV1f}8Gadi{

literal 0
HcmV?d00001

diff --git a/resources/bitmaps_png/png/add_bezier_64.png b/resources/bitmaps_png/png/add_bezier_64.png
new file mode 100644
index 0000000000000000000000000000000000000000..60fb8533c4f2c3ff32e9f8ca133a3bfd149a4e1b
GIT binary patch
literal 1142
zcmV-+1d02JP)<h;3K|Lk000e1NJLTq002M$002M;1^@s6s%dfF000C%Nkl<Zc-rk-
zTSyd97~ZbXQ$^%nOA~@Zji8rq4_%0?DCj}(p)g;9iimnJB7!rcRuBXgXqSg-yGvm7
z(nAm8&Y4xgv=B9nN-Q!-P$cuRtEc~8XKZ&pv%9*x<jnEFFXJ*hbH4BV=f9nQZHzIS
z$YPr#z@!sjMX1X|=zf&Ua-UNe0#;v9mb)d@>yqd=2-9TTC9Bm)ilqra@BsE}81QK6
z%px_*EK7j4@*%LhZ#T0?@4A_{v76=JeLqQplhB8jBmmW0SNmO+O>8(Y#`J;L_?bq+
z*mP`yX$Wvgbf3P;xbo2hHDOW<B>!H^5#S_Bz77z<3P(Wr7Qj6}5;WcdD@l#Rl131~
zz0y}10pqHp?5t?|=LrbCZ&@#(X+fu<8zi*H(ryq10ivsONy-!g+>-BvFrhF2?wP6u
z$|->eP&+sToEMq^h!ii1v;}&nXn?Go6oP>4tBp&evO!G)lma0LaLK-HJU8f({dr;#
zK&ZqaU^IucF19=Y@Mj)a`!)^%wL(;cVD%62)ZZ=9vz8~obKSoLz_xM-2sq2sOiL3G
zQhh@2@mF8<TDmA|BWykZtuRP}g3i*q^`;>JU6oT(%3$J;L2knJVOv$z0>k@DYuCDD
z`Zh)(R8GmcfSc5NFpw}5LN_P#qD^-i7iqu)91u<R(%Lmq#%}vW)<;KTfcM)-&BA2n
zA69Wy3SztnbL|&Nm9!?nvsfi<kF1tJjQ=!F>06g}PnqAH?EKS8fP>U!xn=d3rtYE8
zHSbyjd(+;_MuX$5<JTWn;B8?EfQ^=BJ5e(tOXle&K%!l+I#uz7z6SZ=lGT3Ra}a#^
z=pPEOTp%S;@J`eYS*_;0*Pm_zQX=8SOnnqRYfJlkXAJ?LK<%SPSVeah6JYQFZI6#8
zIuYFSsP_7(P``)e^E4PzWun{wqj@x=yxyMpvDtqxf)Ifnz(6D(Xtzv1Lju#M|BrjV
z_<0-K5mC-oN8Ci+IP-JEWC;L28OyjuCmSB(+W-$9h~?J6U|p~iC0q9hA>+uucNh#?
zVNwUD)0}@&kswBH@W2)WFhc;QgqNG+XYjpCaL-3A!1)0y^8{R4uBkdi07Q`i_yHI3
zZ?$xb42GTtr!zsc36}2>0-$>gjLa<|nxr5>spJqaI31T|b`9v_l%rk>(I$rnlic`R
zR*wilfKff(A=4Z|2v7@o)_*4TcvBMKl$GNg0{Vn$m4(FT9Op>-n=k}GOnsW80Y60|
zpqN9zZ-EF<4sz4o%MB~UAb|MS@$-Fkix32$yW`dMJ(6-pm>*0`RCl5iA%)GfU*A*&
zX#M(wsqEJ`R~(Rretpvrkgk4x(-4rZetpvrkgk4xQ*MD&_UoH05=?!+zNrX^+pjOt
zFP3(Lk^TB~EDShaKQJ5kq<VyKpQC3$<7lQmKlkJ5IRYZ(FCxgO7eL1;+yDRo07*qo
IM6N<$f)q#*)Bpeg

literal 0
HcmV?d00001

diff --git a/resources/bitmaps_png/png/add_bezier_dark_16.png b/resources/bitmaps_png/png/add_bezier_dark_16.png
new file mode 100644
index 0000000000000000000000000000000000000000..efc7866acdfcb4f642cd9b66c6778432edb7bbf2
GIT binary patch
literal 379
zcmV->0fhdEP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0003(Nkl<ZILl-B
z|NlP&vDjtXD?^7}uMCjIh}I0!Sb65-#|j{J-0@PMWCK8&%FcZFR&x5|FX!zq^++}V
zgq?Q0nC!IU^+U3}05RZoKM<cH%K(?%@A!e5A3N`S)rMk#!?w3FPTOCF0%;3m3GY2G
zm0}LR+ZMk6U5?}S*M30FXF<+)*!A83Sv>=Y1C;phwByYir=4$BIq!J01Eer)|GPiW
zzy0~2eDwW)u>8)~Pl0$FP~9<z`d7zbF0cRz0z<jcdD~kppyU@IKIgml?Xt9^?_b9r
ze7DbS=L<1-bRwz82m_$TJwSZOVgG*?V#5Z`uw3<+6R7zoFp$DYi5WNp<V=WPU)hmm
zfW!X#9L_sl|8>~)x|lozfN8z_%*Wqlr$2l{PU}P)0MZ1?DCMU=end{|L>mAzgcQvn
Z3;=mY*Jhb88bJU6002ovPDHLkV1iKsvd91c

literal 0
HcmV?d00001

diff --git a/resources/bitmaps_png/png/add_bezier_dark_24.png b/resources/bitmaps_png/png/add_bezier_dark_24.png
new file mode 100644
index 0000000000000000000000000000000000000000..80ca264e2187fdf9a51af5027954a08097222a9b
GIT binary patch
literal 443
zcmV;s0Yv_ZP)<h;3K|Lk000e1NJLTq000;O000;W1^@s6;CDUv0004kNkl<ZNXNyN
z&q~8U5XS3SFQPZ`;uEL`z4Xxhv0&mWc=6`3DB|50kOn-8uOJnZZGwUq>D6L=0*mfW
zYSn@!)~>Vd;-NNGNEQzt*@Vsao0+gP$#KqeDwW#6^q6h=5DJNP<^W+_e~Nj%74vl;
zKn(!RZ%|eMEhQzw$YT^Y3G8PM5YjzXL2-ky4OM`e0B8hOGY90)+S6$MhWapqmzm4~
zI)MWbJ?b>oIY5JDjj)n=PM5@ekvvRF^B$^ex-_2%kP-AXyrEEO&T1|z*;R;~#_OjY
zgt1Q874ChO@AMF~o#gWakficmN4&(#w;leM{bMsQgU1EKV@>%i!gWnV?ld}G+Yck%
zXS+ob&W|YLXuwd-CJaKa<;DxW0(1RRRq3Mm2I88k+36mvNb~!`C7sH=n;IVM4FJ?p
z(ylRs<H4z<TS@?$OHT$Fz^1AU4*QMEV>?O!*nW?&$8*&Cs0o!CfX3}{6DkY9_k>ac
lkP`}o)~eL{_rHqY^aVMTnMPnReFOji002ovPDHLkV1oS(%k%&M

literal 0
HcmV?d00001

diff --git a/resources/bitmaps_png/png/add_bezier_dark_32.png b/resources/bitmaps_png/png/add_bezier_dark_32.png
new file mode 100644
index 0000000000000000000000000000000000000000..08fb7707ffc4cce2fcbd54f9d462a13b5c574fd2
GIT binary patch
literal 685
zcmV;e0#f~nP)<h;3K|Lk000e1NJLTq001BW001Be1^@s6b9#F80007XNkl<ZSi{Aa
z&ubGw6vwLwQct4ZL@yo$e}Tt<hwN_CD(FQtAYRhuq(_hD(nC+Z*!m}U5ej;V?#!%~
zD2aHg7ex=^L8`&d%w~zUv^D9D?<KpNEH=9e?ihHmF#G2FnYV9dz8O<Wjs4HaY~qQh
z-_BZ0E@I?a>x@<ai>#fSpmMwX%IlQtUI(8?L1Y5}t43kpR|;bWo=qwjv;xdD1^}hH
z*VPJu<pzkK(+y9RAPQ9M7}PzjwFwadRt+l`%4Bj``!2u$ajyqJxuYE*x3oGA;(i}M
zJkWm**!+AT4k72X16WMVhXC+=S?@t)yQe^SqbE*9^OF5>|33#Xh&X9cesPMn55-DP
z_yrLD8kL{PTd8+}MZ_I=aVZRoxVgmd%j8_xU<F6~FbOYNgqJNU=}_Zg_dkM!JxTNT
zw+jwLNxj5-2Ia+AFnJq<9>Vy0D66u+Y^sfpuPQ5THR(td&lk#|qGmecMn9Loj*szT
z3P5_SgE;=GtDCC8{w_BaAbi1k{{1ji<85pLIAUSN-O8J`{{+N~FWemf_+T-9&8*6!
zyB<g*<{#<-HwWdt9>yedkKwm7iCB&jiTDKD>E@Mc^8hy5lq27P@H)Ue&R3g9lCS6A
z=TF@Q29Z~Xs8{ke@1Ryk1WiN&@h<Lbt(GibQ~N-8D*$+@-4mMj+KHiKbY43EnukHx
z^NMx=bhJ?gD8H*8;92YVVEf7Y+5u)~)m~WnR&bkrPV)7c0Q7u46FxXwu+%M;<m<Bm
z=-cXU<m(%weSMYyk*}YwYX-n_W7!b`#S2VskMi}I9mRpKU%<#pJoEnre-gg{$6Tkz
TlxWN;00000NkvXXu0mjfI{iWC

literal 0
HcmV?d00001

diff --git a/resources/bitmaps_png/png/add_bezier_dark_48.png b/resources/bitmaps_png/png/add_bezier_dark_48.png
new file mode 100644
index 0000000000000000000000000000000000000000..527aae1808912bbf43347cf20a92a1770e619917
GIT binary patch
literal 686
zcmV;f0#W^mP)<h;3K|Lk000e1NJLTq001xm001xu1^@s6R|5Hm0007YNkl<ZXx{Cb
zF^f|{5XW;|AvXE}jHQi&jaO(R*;ze^A_&J7r&ia9g^gHTDTu9BB8ZmBLD1%ex3lpB
zc*udpVP&aNv$Lz0;>e+fwKxO!_FiK0-aB6g6PWJtvcJsC?*BiVlJ~yEIZ9K29HJ7r
zGALS=NS^_z1xWQu<jO1n=CwNxXe=Q4co;hhMBxCSXcdtB%0|bVZqJ);&#!EB`XKem
z2iPqcZ@N9-|CnyC573$d`~!gckP@m*JU}IK<)kK-NZTx$xDO$a-t7et$~<Oukb$<h
zVj0lP0E9Nn@e;DnnPq_P#`-|fLtX$#Ph%NSbcY+j`&b5=Zk`Q*RPEEjHo8-d+z~ba
zplu@nh}g(!sqBsL5EIH=VgVpET?eEe0l?dm_cMh7jABj%x>JDW<$e!9+cI(|Q#rDP
zmw7<)`Ir;>F0@+)ZSMop`hf5H1&Wr&T~B6!bB&LOg|ZS9-2*gVhbYTou_Lg(5NxaY
z0Hlcl+CG=~{{VuAXTl>tDUwP^qG<!tBY|{n6rFz{00QlU0ndE_q$i;5Z9ub?cEXSe
z;IDEQ>2ksgJ5tfjYV_ey++k7u&lcJOq}sTP&wa49*zmJ}W;3>UO`k3{%?TEhIjQZ{
z;Ftd?G@W5HS_Gt8Osi;m#%eYSNNz7cC30uk0KhAIEGVC?al}^f0NR`nrUh?Ujn_fb
zmB4JTu>ug-UI@k=FPLS(RMXnMi2$fHX)cfjo2&pXy#97H)b5K7Kg;SI5Xum!n2cCE
zNPUwlz^+Z)XS`D>%wn22;~iG<02!}<rT{qrWV*vD{u~%^hsCCei?E5)KYMVB-xDvO
Uy-bI!YybcN07*qoM6N<$g7@4xy#N3J

literal 0
HcmV?d00001

diff --git a/resources/bitmaps_png/png/add_bezier_dark_64.png b/resources/bitmaps_png/png/add_bezier_dark_64.png
new file mode 100644
index 0000000000000000000000000000000000000000..8ff80f597df3593f82b90a57285e824b591fb58c
GIT binary patch
literal 1146
zcmV-=1cm#FP)<h;3K|Lk000e1NJLTq002M$002M;1^@s6s%dfF000C*Nkl<Zc-rlo
z>q`_-6u|8XeX0n0Lk|dw9t3^KGT7N!ds1K^^r0v-q6ZNb6d{5||3C%xp%0Z*lmv!m
zGvi7Um>;4C5j_YpTcMnpyRI&p`B-n~tUJ0p-q~H9-E!tSaNJpEn3?mt=iGD7owGTV
z(j1;8X99pjA3VQSUnof0PLwUOzJMD5c~9GCdu6>GWB`Q51otZuimL$(Do?)0DQ=c#
zPkm^XYXQVYKC0}Immyl+(oL%a-Sk*vXb6HRYj<4<0L|Ml`(jYOCo({d4fl&1+6)Mh
z(aZ_X8GS|DVT>}4ym_kvOE8WLlDf@x0Kl}j4*>{p2q4}C(C2%TxPYfdoA1g=P?Ys2
z#wer0IO-^ehm{8*w_O_rVph<cBn+yq4udGDAci`D1;9^^bCU|=Xqy3uGC9c;fUhH6
zfL!1kfTERf1VAHZ0D?qLZ~?&QZ<}eV1_wpb3b_Cv)T*0VVbE98x|R<BvVMsHptrDs
zPIo;3_%jKV{loz9f{PU)LDKiI%wJISGp+}aThTHDl>Nv6(C4iQEpat~nCaiLr~%4d
zy(n5%Mkj-kH!PIz_xZ^x#{j@k1u5$l@a216iChCIfZ2PBbp@!cfLY&fRRKbYd^scU
z1w7A!i!qU~5;(rm&W$#_rqfXIsK1U><n30aby)%^Nz22k503R%m%m!0r=Cu=^Zdi9
zC7x(qXQMo_m%2ukPj>xgsOHYY=YteW--dklR+B|`pFgVrJkqbFaNR>ubC0F2d!Gks
zgW5y;B9#8<?5F2mwbL||HJklAu$Z|CfU^w%MknA^NJVPVtKj_iu;0$Q4k{nNg?k5R
z0YFI~09c1YDo5N`CXLy)fQ(4|Vy3Z`yy>9-;NIf{0GhpdD^6I{9KQgV7eF7!LL}V>
zL7zvnH@1gOzY}6Q&g`N>u7XJ)5bM-=X-~5MV-ke;yle2GQz$M4zd^1ZGQOkFm%i<w
zMe!pqkseQNX#JR@j9ma2CzDNX=3+yX)OB#taI&x_NaUigPF+3}5pZ&3pZiCY^nJEg
zi%0qVwlYD?+`v>nSSZtt@tjqg<Nv^FO5vO@nBYJ-`w5@-JxbdeM|FsRj~=v8KI~Q0
zO|EW{!PL{@?My$;39j!E5|v=SMP7cLizX>h_9g>B*JwhPqXB@K2N-GcV=mg{@Wmvv
zPLRlcE&y1q#|v_BH5ULdSz*ooV_A=PrUfYaQ3ikzH?6W@0cRNiTDSq=RkTwK0ImE0
zkhLNPfKHAqK;O*_gLUCKeB=QNS;@`=g1KA(z;MS}*B52&G&et(z||c_X9gW>zrLdY
zV81@({au;t*LPSH$b7%PV*q5UU*9nRvemEe7y#Mo*LS1~WU^o1S;bHm`t=<JAXUG<
zAnQ%84ukRi`e^EL%0~oAyW=$FZS@GDpJQae$<awZKk?(~2>^-m7h2RlR`Vok)&Kwi
M07*qoM6N<$g8tSLIRF3v

literal 0
HcmV?d00001

diff --git a/resources/bitmaps_png/sources/dark/add_bezier.svg b/resources/bitmaps_png/sources/dark/add_bezier.svg
new file mode 100644
index 0000000000..f037990c44
--- /dev/null
+++ b/resources/bitmaps_png/sources/dark/add_bezier.svg
@@ -0,0 +1,131 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   id="Слой_1"
+   data-name="Слой 1"
+   viewBox="0 0 24 24"
+   version="1.1"
+   sodipodi:docname="add_bezier.svg"
+   inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:dc="http://purl.org/dc/elements/1.1/">
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="3156"
+     inkscape:window-height="1669"
+     id="namedview30"
+     showgrid="true"
+     inkscape:zoom="31.34512"
+     inkscape:cx="-0.82947522"
+     inkscape:cy="15.074117"
+     inkscape:window-x="0"
+     inkscape:window-y="38"
+     inkscape:window-maximized="0"
+     inkscape:document-rotation="0"
+     inkscape:current-layer="Слой_1"
+     inkscape:showpageshadow="2"
+     inkscape:pagecheckerboard="0"
+     inkscape:deskcolor="#d1d1d1">
+    <inkscape:grid
+       type="xygrid"
+       id="grid_kicad"
+       spacingx="0.5"
+       spacingy="0.5"
+       color="#9999ff"
+       opacity="0.13"
+       empspacing="2" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata43">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <cc:license
+           rdf:resource="http://creativecommons.org/licenses/by-sa/4.0/" />
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title>add_line</dc:title>
+      </cc:Work>
+      <cc:License
+         rdf:about="http://creativecommons.org/licenses/by-sa/4.0/">
+        <cc:permits
+           rdf:resource="http://creativecommons.org/ns#Reproduction" />
+        <cc:permits
+           rdf:resource="http://creativecommons.org/ns#Distribution" />
+        <cc:requires
+           rdf:resource="http://creativecommons.org/ns#Notice" />
+        <cc:requires
+           rdf:resource="http://creativecommons.org/ns#Attribution" />
+        <cc:permits
+           rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+        <cc:requires
+           rdf:resource="http://creativecommons.org/ns#ShareAlike" />
+      </cc:License>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs342">
+    <style
+       id="style340">.cls-1{fill:none;stroke:#1a81c4;stroke-linecap:round;stroke-linejoin:round;}</style>
+  </defs>
+  <title
+     id="title344">add_line</title>
+  <path
+     id="line346"
+     style="fill:none;fill-opacity:1;stroke:#42b8eb;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     d="m 18,3 c 0,0 2.5,8.5 -6.5,8.5 C 2.5,11.5 6,21 6,21"
+     class="cls-1"
+     sodipodi:nodetypes="csc" />
+  <ellipse
+     style="fill:#ffffff;fill-opacity:1;stroke:#42b8eb;stroke-width:1;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1"
+     id="path4797"
+     cx="18"
+     cy="3"
+     rx="1.5"
+     ry="1.4999999" />
+  <circle
+     style="fill:#ffffff;stroke:#42b8eb;stroke-width:1;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1"
+     id="path1792"
+     cx="6"
+     cy="21"
+     r="1.5" />
+  <path
+     style="fill:none;stroke:#42b8eb;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     d="M 21,11.5 H 3"
+     id="path1857" />
+  <rect
+     style="fill:#42b8eb;fill-opacity:1;stroke:#42b8eb;stroke-width:1;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1"
+     id="rect2118"
+     width="2"
+     height="2"
+     x="19.5"
+     y="10.5"
+     ry="0" />
+  <rect
+     style="fill:#42b8eb;stroke:#42b8eb;stroke-width:1;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1;fill-opacity:1"
+     id="rect2118-3"
+     width="2"
+     height="2"
+     x="1.5"
+     y="10.5"
+     ry="0" />
+  <ellipse
+     style="fill:#ffffff;fill-opacity:1;stroke:#42b8eb;stroke-width:1;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1"
+     id="path4797-6"
+     cx="11.5"
+     cy="11.5"
+     rx="1.5"
+     ry="1.4999999" />
+</svg>
diff --git a/resources/bitmaps_png/sources/light/add_bezier.svg b/resources/bitmaps_png/sources/light/add_bezier.svg
new file mode 100644
index 0000000000..be437e2a2d
--- /dev/null
+++ b/resources/bitmaps_png/sources/light/add_bezier.svg
@@ -0,0 +1,131 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   id="Слой_1"
+   data-name="Слой 1"
+   viewBox="0 0 24 24"
+   version="1.1"
+   sodipodi:docname="add_bezier.svg"
+   inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:dc="http://purl.org/dc/elements/1.1/">
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="3156"
+     inkscape:window-height="1669"
+     id="namedview30"
+     showgrid="true"
+     inkscape:zoom="31.34512"
+     inkscape:cx="-0.82947522"
+     inkscape:cy="15.074117"
+     inkscape:window-x="0"
+     inkscape:window-y="38"
+     inkscape:window-maximized="0"
+     inkscape:document-rotation="0"
+     inkscape:current-layer="Слой_1"
+     inkscape:showpageshadow="2"
+     inkscape:pagecheckerboard="0"
+     inkscape:deskcolor="#d1d1d1">
+    <inkscape:grid
+       type="xygrid"
+       id="grid_kicad"
+       spacingx="0.5"
+       spacingy="0.5"
+       color="#9999ff"
+       opacity="0.13"
+       empspacing="2" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata43">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <cc:license
+           rdf:resource="http://creativecommons.org/licenses/by-sa/4.0/" />
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title>add_line</dc:title>
+      </cc:Work>
+      <cc:License
+         rdf:about="http://creativecommons.org/licenses/by-sa/4.0/">
+        <cc:permits
+           rdf:resource="http://creativecommons.org/ns#Reproduction" />
+        <cc:permits
+           rdf:resource="http://creativecommons.org/ns#Distribution" />
+        <cc:requires
+           rdf:resource="http://creativecommons.org/ns#Notice" />
+        <cc:requires
+           rdf:resource="http://creativecommons.org/ns#Attribution" />
+        <cc:permits
+           rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+        <cc:requires
+           rdf:resource="http://creativecommons.org/ns#ShareAlike" />
+      </cc:License>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs342">
+    <style
+       id="style340">.cls-1{fill:none;stroke:#1a81c4;stroke-linecap:round;stroke-linejoin:round;}</style>
+  </defs>
+  <title
+     id="title344">add_line</title>
+  <path
+     id="line346"
+     style="fill:none;fill-opacity:1;stroke:#1a81c4;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     d="m 18,3 c 0,0 2.5,8.5 -6.5,8.5 C 2.5,11.5 6,21 6,21"
+     class="cls-1"
+     sodipodi:nodetypes="csc" />
+  <ellipse
+     style="fill:#ffffff;fill-opacity:1;stroke:#1a81c4;stroke-width:1;stroke-linecap:round;stroke-dasharray:none"
+     id="path4797"
+     cx="18"
+     cy="3"
+     rx="1.5"
+     ry="1.4999999" />
+  <circle
+     style="fill:#ffffff;stroke:#1a81c4;stroke-width:1;stroke-linecap:round;stroke-dasharray:none"
+     id="path1792"
+     cx="6"
+     cy="21"
+     r="1.5" />
+  <path
+     style="fill:none;stroke:#1a81c4;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+     d="M 21,11.5 H 3"
+     id="path1857" />
+  <rect
+     style="fill:#1a81c4;fill-opacity:1;stroke:#1a81c4;stroke-width:1;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1"
+     id="rect2118"
+     width="2"
+     height="2"
+     x="19.5"
+     y="10.5"
+     ry="0" />
+  <rect
+     style="fill:#1a81c4;stroke:#1a81c4;stroke-width:1;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1;fill-opacity:1"
+     id="rect2118-3"
+     width="2"
+     height="2"
+     x="1.5"
+     y="10.5"
+     ry="0" />
+  <ellipse
+     style="fill:#ffffff;fill-opacity:1;stroke:#1a81c4;stroke-width:1;stroke-linecap:round;stroke-dasharray:none"
+     id="path4797-6"
+     cx="11.5"
+     cy="11.5"
+     rx="1.5"
+     ry="1.4999999" />
+</svg>