← Back to team overview

kicad-developers team mailing list archive

[PATCH] Re: Icons needed

 

Hi all,

I have made a few modifications to the icons (mostly pixel alignment at
26px) and added them to the relevant CMake file and header. They are now
used in the pcbnew menus.

Balint should still get credit for the icons - I just tweaked them!

Are there other places these icons can/should be used?

Cheers,

John

On Wed, 2015-01-07 at 22:31 +0100, Botond Kiss wrote:
> Hi,
> 
> I've attached the icons in svg - inkscape.
> 
> https://www.dropbox.com/sh/penywboqwgjzxnn/AACC0jq-5p1qpvup3A_SRkama?dl=0
> http://eskolar.com/download/kicad/
> 
> I hope that you can use them.
> 
> Cheers,
> Balint
> 
> 
> 
> On 2015-01-06 16:22, Tomasz Wlostowski wrote:
> > On 06.01.2015 16:21, Botond Kiss wrote:
> >> I would like to make them.
> > Hi Balint,
> >
> > That's great. Please make a few and post them to kicad-dev!
> >
> > Cheers,
> > Tom
> >> Balint Kiss
> >>
> >>
> >> On 2015-01-06 14:38, Tomasz Wlostowski wrote:
> >>> Hi guys,
> >>>
> >>> We need a bunch of icons for the new P&S router tools (menu & toolbar
> >>> versions):
> >>> - draw a differential pair,
> >>> - set diff pair gap,
> >>> - set diff pair via gap,
> >>> - tune length of a single trace,
> >>> - tune length of a diff pair (coupled),
> >>> - tune phase/skew of a diff pair.
> >>>
> >>> Would anyone here volunteer to make them? Any help will be greatly
> >>> appreciated!
> >>>
> >>> Happy New Year,
> >>> Tom
> >>>
> >>> _______________________________________________
> >>> Mailing list: https://launchpad.net/~kicad-developers
> >>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> >>> Unsubscribe : https://launchpad.net/~kicad-developers
> >>> More help   : https://help.launchpad.net/ListHelp
> >>>
> >>
> >
> 
> 
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp

diff --git a/bitmaps_png/CMakeLists.txt b/bitmaps_png/CMakeLists.txt
index 254db82..78a5241 100644
--- a/bitmaps_png/CMakeLists.txt
+++ b/bitmaps_png/CMakeLists.txt
@@ -461,6 +461,12 @@ set( BMAPS_MID
     preference
     print_button
     ps_router
+    ps_diff_pair
+    ps_diff_pair_gap
+    ps_diff_pair_tune_length
+    ps_diff_pair_tune_phase
+    ps_diff_pair_via_gap
+    ps_tune_length
     py_script
     ratsnest
     read_setup
diff --git a/bitmaps_png/cpp_26/ps_diff_pair.cpp b/bitmaps_png/cpp_26/ps_diff_pair.cpp
new file mode 100644
index 0000000..6accd1c
--- /dev/null
+++ b/bitmaps_png/cpp_26/ps_diff_pair.cpp
@@ -0,0 +1,32 @@
+
+/* Do not modify this file, it was automatically generated by the
+ * PNG2cpp CMake script, using a *.png file as input.
+ */
+
+#include <bitmaps.h>
+
+static const unsigned char png[] = {
+ 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52,
+ 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x1a, 0x08, 0x06, 0x00, 0x00, 0x00, 0xa9, 0x4a, 0x4c,
+ 0xce, 0x00, 0x00, 0x00, 0xf0, 0x49, 0x44, 0x41, 0x54, 0x48, 0xc7, 0x63, 0xf8, 0xff, 0xff, 0x3f,
+ 0x03, 0x3d, 0x30, 0xc3, 0xa8, 0x45, 0x14, 0x5b, 0xc4, 0xd0, 0xc0, 0xf0, 0x1f, 0x0f, 0xbe, 0x02,
+ 0xc4, 0x1c, 0xf4, 0xb0, 0x08, 0x84, 0x27, 0xd0, 0x34, 0xe8, 0x18, 0x9a, 0x18, 0x74, 0x81, 0x96,
+ 0xfc, 0x00, 0xe2, 0x7f, 0x0c, 0x8d, 0x0c, 0xee, 0x34, 0x8d, 0x23, 0xa0, 0x25, 0x05, 0x50, 0x5f,
+ 0x3d, 0x03, 0x62, 0x11, 0x5a, 0x04, 0x1d, 0x38, 0x6e, 0x80, 0x2c, 0x46, 0x20, 0xbd, 0x13, 0x2a,
+ 0xb6, 0x81, 0x56, 0x71, 0x04, 0x8e, 0x1b, 0x86, 0x56, 0x06, 0x49, 0x20, 0xfb, 0x0d, 0x58, 0xac,
+ 0x91, 0x21, 0x95, 0x6a, 0x41, 0x87, 0x2d, 0x6e, 0x80, 0xec, 0x00, 0xa8, 0xe5, 0x5f, 0x80, 0x58,
+ 0x8d, 0x6a, 0x71, 0x84, 0x2d, 0x6e, 0x80, 0xf4, 0x2c, 0xa8, 0xd8, 0x69, 0x86, 0x99, 0x0c, 0xac,
+ 0xd4, 0xb1, 0x08, 0x4b, 0xdc, 0x30, 0x74, 0x33, 0x70, 0x03, 0xd9, 0xb7, 0xa0, 0x62, 0xad, 0xd4,
+ 0x4b, 0xde, 0x58, 0xe2, 0x06, 0x18, 0xac, 0xa6, 0x40, 0xfe, 0x6f, 0x20, 0xfe, 0x0b, 0x64, 0xdb,
+ 0x52, 0x33, 0x79, 0x63, 0xc4, 0x0d, 0xd0, 0xd2, 0x6a, 0xa8, 0xd8, 0x03, 0x86, 0x0e, 0x06, 0x7e,
+ 0xaa, 0x95, 0x75, 0xe8, 0x71, 0x03, 0xa4, 0x99, 0x80, 0xf8, 0x10, 0x54, 0x6c, 0x29, 0xf5, 0x2c,
+ 0xc2, 0x12, 0x37, 0x0c, 0x2d, 0x0c, 0xf2, 0x40, 0xf6, 0x07, 0x7c, 0x45, 0x17, 0x59, 0xa5, 0x37,
+ 0xb6, 0xb8, 0x01, 0xb2, 0x63, 0xa8, 0x6e, 0x11, 0x39, 0x71, 0x43, 0xbe, 0x45, 0x24, 0xc6, 0x0d,
+ 0x45, 0x15, 0x1f, 0x31, 0x71, 0x43, 0x71, 0xd0, 0x21, 0xf9, 0x2c, 0x86, 0x2e, 0x16, 0x8d, 0x36,
+ 0x4e, 0xe8, 0x66, 0x11, 0x00, 0x38, 0xbb, 0xe0, 0x55, 0xfe, 0x3d, 0x9c, 0x66, 0x00, 0x00, 0x00,
+ 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82,
+};
+
+const BITMAP_OPAQUE ps_diff_pair_xpm[1] = {{ png, sizeof( png ), "ps_diff_pair_xpm" }};
+
+//EOF
diff --git a/bitmaps_png/cpp_26/ps_diff_pair_gap.cpp b/bitmaps_png/cpp_26/ps_diff_pair_gap.cpp
new file mode 100644
index 0000000..354462b
--- /dev/null
+++ b/bitmaps_png/cpp_26/ps_diff_pair_gap.cpp
@@ -0,0 +1,33 @@
+
+/* Do not modify this file, it was automatically generated by the
+ * PNG2cpp CMake script, using a *.png file as input.
+ */
+
+#include <bitmaps.h>
+
+static const unsigned char png[] = {
+ 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52,
+ 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x1a, 0x08, 0x06, 0x00, 0x00, 0x00, 0xa9, 0x4a, 0x4c,
+ 0xce, 0x00, 0x00, 0x01, 0x05, 0x49, 0x44, 0x41, 0x54, 0x48, 0xc7, 0xed, 0x96, 0xc1, 0x0d, 0xc2,
+ 0x30, 0x0c, 0x45, 0x7d, 0x42, 0xdc, 0xd9, 0x00, 0x89, 0x05, 0x92, 0xf4, 0x9e, 0x49, 0x80, 0x73,
+ 0x77, 0xa8, 0x54, 0x84, 0xc4, 0x81, 0x25, 0x3a, 0x09, 0x0b, 0xb0, 0x00, 0x43, 0xb4, 0x03, 0x20,
+ 0x71, 0x08, 0x71, 0x6b, 0x24, 0x88, 0x52, 0x5a, 0xa7, 0xa6, 0x27, 0x0e, 0x5f, 0x51, 0xad, 0xc8,
+ 0x4f, 0xf2, 0x77, 0xec, 0x82, 0x73, 0x0e, 0xe6, 0x90, 0x68, 0x32, 0xad, 0xb5, 0x1b, 0x05, 0x82,
+ 0x12, 0x5c, 0x8f, 0x6e, 0x5e, 0x8b, 0x39, 0x40, 0x0e, 0x0e, 0x50, 0x88, 0x81, 0xa2, 0x17, 0x4a,
+ 0xb0, 0x04, 0xbb, 0xc3, 0x11, 0x36, 0xb1, 0x3b, 0x4a, 0xa9, 0x2b, 0x42, 0x5e, 0xc2, 0xef, 0x24,
+ 0x8f, 0x3c, 0xa4, 0x22, 0xd8, 0xa5, 0x07, 0xb4, 0x7f, 0x07, 0x79, 0xed, 0xb8, 0xa5, 0x6b, 0xbd,
+ 0x81, 0x13, 0xac, 0xfc, 0x59, 0x53, 0x6c, 0x1b, 0x26, 0xb1, 0xd6, 0x2e, 0x7d, 0xf2, 0x86, 0x20,
+ 0x0d, 0x7e, 0xf3, 0x3d, 0x22, 0x6f, 0x10, 0x40, 0xb1, 0x1a, 0xc1, 0x61, 0x22, 0x63, 0xcc, 0x19,
+ 0x41, 0x78, 0xb2, 0x3c, 0x8a, 0x79, 0x83, 0xa5, 0xa3, 0x58, 0x15, 0xde, 0xcf, 0xb2, 0x6c, 0xed,
+ 0x41, 0x0f, 0x3c, 0xd9, 0xcd, 0x10, 0x7a, 0x83, 0xc0, 0x16, 0xdc, 0xc5, 0x6c, 0xa4, 0xeb, 0xf2,
+ 0xa4, 0xae, 0x8b, 0x79, 0x83, 0xa5, 0xfc, 0xfa, 0x0c, 0x02, 0x71, 0xda, 0xfb, 0xc3, 0x9b, 0xb6,
+ 0x39, 0xba, 0x26, 0x91, 0x05, 0x0d, 0x79, 0x23, 0x3a, 0xeb, 0x86, 0xbc, 0x11, 0x1d, 0xaa, 0x5c,
+ 0x6f, 0x92, 0x4a, 0x47, 0xe5, 0x63, 0x79, 0x93, 0x0c, 0x1a, 0xb9, 0x26, 0xf2, 0x9f, 0xef, 0xa3,
+ 0x49, 0x0f, 0x96, 0xa3, 0xe4, 0x11, 0xc4, 0x11, 0x7b, 0xa8, 0xa6, 0x8a, 0xbd, 0x26, 0x26, 0x80,
+ 0x64, 0x16, 0x9f, 0xf8, 0xcf, 0xc9, 0x1f, 0xc4, 0xd1, 0x13, 0xcf, 0xce, 0xc2, 0x77, 0x00, 0xc8,
+ 0x37, 0x90, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82,
+};
+
+const BITMAP_OPAQUE ps_diff_pair_gap_xpm[1] = {{ png, sizeof( png ), "ps_diff_pair_gap_xpm" }};
+
+//EOF
diff --git a/bitmaps_png/cpp_26/ps_diff_pair_tune_length.cpp b/bitmaps_png/cpp_26/ps_diff_pair_tune_length.cpp
new file mode 100644
index 0000000..fbfb9dd
--- /dev/null
+++ b/bitmaps_png/cpp_26/ps_diff_pair_tune_length.cpp
@@ -0,0 +1,32 @@
+
+/* Do not modify this file, it was automatically generated by the
+ * PNG2cpp CMake script, using a *.png file as input.
+ */
+
+#include <bitmaps.h>
+
+static const unsigned char png[] = {
+ 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52,
+ 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x1a, 0x08, 0x06, 0x00, 0x00, 0x00, 0xa9, 0x4a, 0x4c,
+ 0xce, 0x00, 0x00, 0x00, 0xf3, 0x49, 0x44, 0x41, 0x54, 0x48, 0xc7, 0xcd, 0x95, 0xbd, 0x0d, 0xc2,
+ 0x30, 0x10, 0x85, 0xaf, 0x42, 0xf4, 0x6c, 0x80, 0xc4, 0x02, 0xb1, 0xdd, 0x7b, 0x12, 0x44, 0xcd,
+ 0x0e, 0x48, 0x41, 0x48, 0x14, 0x2c, 0x91, 0x49, 0x58, 0x80, 0x05, 0x18, 0x22, 0x0c, 0x80, 0x94,
+ 0xc2, 0xdc, 0x39, 0x87, 0x94, 0xc2, 0x8a, 0x7f, 0x62, 0x1b, 0x8a, 0xa7, 0x28, 0xe7, 0xf3, 0x7d,
+ 0xf2, 0x7b, 0x8e, 0x02, 0xc6, 0x18, 0xa8, 0x21, 0xf8, 0x09, 0x08, 0x5a, 0x30, 0x1e, 0x3d, 0x51,
+ 0xab, 0x1a, 0x20, 0x03, 0x67, 0x38, 0x15, 0xb5, 0x0e, 0x21, 0x9a, 0x61, 0x6f, 0xb8, 0xc0, 0xae,
+ 0x68, 0x46, 0x08, 0xe9, 0x18, 0x76, 0x2f, 0x65, 0x9d, 0xcd, 0x06, 0xae, 0xb0, 0xc1, 0x67, 0xcf,
+ 0xb5, 0x7d, 0x99, 0x8c, 0x38, 0x1b, 0x02, 0x70, 0xad, 0x27, 0x70, 0x36, 0xeb, 0x5c, 0xd9, 0x90,
+ 0x75, 0x5c, 0xeb, 0x92, 0x40, 0x42, 0x08, 0x13, 0x92, 0x0d, 0x01, 0x2d, 0x78, 0xac, 0xe9, 0x7c,
+ 0x20, 0x47, 0x36, 0x64, 0x65, 0xc8, 0xe7, 0x10, 0x05, 0x72, 0x65, 0x63, 0x2f, 0xc7, 0x78, 0x49,
+ 0xf2, 0x82, 0x52, 0xb3, 0x49, 0x03, 0x25, 0x64, 0x93, 0x04, 0x8a, 0xc9, 0x66, 0x91, 0x75, 0x6c,
+ 0x5f, 0x50, 0x36, 0x8b, 0x41, 0x59, 0x7e, 0x13, 0xb9, 0x41, 0xd3, 0x79, 0xb3, 0x20, 0xad, 0xf5,
+ 0xba, 0x69, 0x9a, 0x03, 0xea, 0x31, 0x37, 0x90, 0xd6, 0xa9, 0x8f, 0xfa, 0xa3, 0x40, 0x4a, 0xa9,
+ 0xad, 0x94, 0xf2, 0x86, 0xef, 0x2f, 0xaa, 0xf9, 0x4e, 0xfa, 0xed, 0xa1, 0x7e, 0xda, 0x47, 0xfb,
+ 0xbd, 0x20, 0xd4, 0x11, 0x35, 0x4c, 0x36, 0xa7, 0x68, 0xe0, 0x39, 0x7f, 0x70, 0xa2, 0xaa, 0x19,
+ 0x55, 0xbf, 0x75, 0xc5, 0x40, 0x25, 0xf5, 0x01, 0x99, 0x63, 0x9f, 0x96, 0x64, 0x0c, 0x0d, 0x11,
+ 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82,
+};
+
+const BITMAP_OPAQUE ps_diff_pair_tune_length_xpm[1] = {{ png, sizeof( png ), "ps_diff_pair_tune_length_xpm" }};
+
+//EOF
diff --git a/bitmaps_png/cpp_26/ps_diff_pair_tune_phase.cpp b/bitmaps_png/cpp_26/ps_diff_pair_tune_phase.cpp
new file mode 100644
index 0000000..352aab9
--- /dev/null
+++ b/bitmaps_png/cpp_26/ps_diff_pair_tune_phase.cpp
@@ -0,0 +1,49 @@
+
+/* Do not modify this file, it was automatically generated by the
+ * PNG2cpp CMake script, using a *.png file as input.
+ */
+
+#include <bitmaps.h>
+
+static const unsigned char png[] = {
+ 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52,
+ 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x1a, 0x08, 0x06, 0x00, 0x00, 0x00, 0xa9, 0x4a, 0x4c,
+ 0xce, 0x00, 0x00, 0x02, 0x02, 0x49, 0x44, 0x41, 0x54, 0x48, 0xc7, 0x63, 0xf8, 0xff, 0xff, 0x3f,
+ 0x03, 0x3d, 0x30, 0xc3, 0x80, 0x58, 0xc4, 0xd0, 0xc0, 0xf0, 0x1f, 0x07, 0xbe, 0xc1, 0xd0, 0xc7,
+ 0xc0, 0x49, 0x0f, 0x8b, 0x40, 0xb8, 0x97, 0xa6, 0x41, 0x07, 0xb4, 0xc0, 0x06, 0x88, 0xff, 0x42,
+ 0xb1, 0x15, 0x4d, 0xe3, 0x08, 0x68, 0x41, 0x3f, 0xd4, 0x57, 0x37, 0xc9, 0x0d, 0x42, 0x42, 0x41,
+ 0x77, 0x1d, 0x88, 0xd9, 0x40, 0x86, 0x03, 0xe9, 0x5b, 0x50, 0xb1, 0x3e, 0xda, 0xc4, 0x51, 0x23,
+ 0x43, 0x2d, 0x46, 0x10, 0x36, 0x31, 0x58, 0x53, 0x2d, 0xe8, 0x80, 0x06, 0x3a, 0x40, 0x2d, 0xfb,
+ 0xc1, 0xd0, 0xcc, 0xa0, 0x0a, 0x15, 0xeb, 0x83, 0x8a, 0xdd, 0x22, 0x35, 0x08, 0x09, 0xc5, 0xcd,
+ 0x7c, 0xa8, 0xc1, 0x7b, 0xc1, 0x7c, 0xa0, 0xe1, 0xdc, 0x79, 0xdc, 0x0f, 0x19, 0xea, 0x49, 0x0f,
+ 0x42, 0xfc, 0x92, 0x6d, 0x0c, 0xc2, 0x40, 0x03, 0x5f, 0x43, 0x2d, 0x8b, 0x33, 0x32, 0x32, 0xd2,
+ 0x34, 0x32, 0x36, 0xfa, 0xa9, 0xee, 0xaa, 0xfe, 0x9f, 0xb1, 0x8e, 0x11, 0x14, 0x8c, 0x36, 0xd4,
+ 0x4b, 0xde, 0x8d, 0x0c, 0xf1, 0x20, 0x8b, 0x18, 0xeb, 0x19, 0x5f, 0x1b, 0x99, 0x18, 0x9d, 0x33,
+ 0x36, 0x36, 0xfe, 0xaf, 0xea, 0xa1, 0x7a, 0x91, 0xd4, 0x20, 0x24, 0x36, 0x79, 0xef, 0x93, 0x88,
+ 0x96, 0xf8, 0x0f, 0xb2, 0xc4, 0xd4, 0xc8, 0xe8, 0xa1, 0x44, 0xa8, 0x84, 0x28, 0x38, 0xa9, 0x43,
+ 0x2c, 0xeb, 0xa7, 0x9a, 0x45, 0x72, 0x21, 0x72, 0x3e, 0x26, 0x26, 0x46, 0xff, 0x4d, 0x80, 0x16,
+ 0xcd, 0x13, 0xe4, 0x7b, 0x73, 0x86, 0x81, 0x41, 0x19, 0x94, 0x79, 0x91, 0x32, 0xb2, 0x0d, 0xc5,
+ 0x16, 0x39, 0x38, 0x38, 0xb0, 0x00, 0x7d, 0x02, 0x0e, 0xb2, 0x42, 0x1d, 0xc5, 0xff, 0x40, 0x4b,
+ 0x40, 0xf8, 0x25, 0xd4, 0xb2, 0x5e, 0x02, 0xc5, 0xd6, 0x7f, 0xa2, 0x2d, 0x02, 0x26, 0x80, 0x7a,
+ 0x90, 0x25, 0x5e, 0x8e, 0x26, 0xbf, 0x3e, 0x2e, 0xb2, 0xfe, 0x7f, 0x52, 0x87, 0x17, 0x66, 0xd9,
+ 0x21, 0xa9, 0x06, 0x06, 0x2e, 0x70, 0x81, 0x4b, 0xa9, 0x45, 0x26, 0x26, 0x26, 0x86, 0x40, 0x4b,
+ 0x7e, 0x81, 0x2c, 0x3a, 0x3d, 0xd1, 0xfa, 0xff, 0x9f, 0xf5, 0x76, 0xff, 0x7f, 0x2e, 0xb1, 0xfa,
+ 0x7f, 0x52, 0x80, 0x05, 0x66, 0x59, 0x1e, 0xc5, 0xa9, 0x4e, 0x5b, 0x5b, 0x9b, 0x0d, 0x68, 0xc1,
+ 0x25, 0x90, 0x25, 0x5d, 0x99, 0x16, 0x60, 0x4b, 0x60, 0xf8, 0x6d, 0xa5, 0x36, 0xcc, 0xa2, 0xaf,
+ 0xe7, 0x18, 0x18, 0xe4, 0x29, 0xb2, 0x08, 0x18, 0x64, 0x2d, 0x20, 0x4b, 0xfc, 0x5d, 0x4d, 0xfe,
+ 0x7e, 0x59, 0x65, 0x87, 0x62, 0x11, 0x08, 0x5f, 0xb3, 0x10, 0x06, 0x5b, 0x96, 0x65, 0x47, 0x41,
+ 0x1c, 0x99, 0x02, 0x01, 0xd0, 0x92, 0x3f, 0x26, 0x26, 0xc6, 0xff, 0xcf, 0x4e, 0xb2, 0xc6, 0xb0,
+ 0x04, 0x84, 0x3f, 0xb6, 0xea, 0x83, 0x2d, 0xda, 0xc2, 0x0f, 0xca, 0x63, 0x64, 0x58, 0xa4, 0xa2,
+ 0xa2, 0xc2, 0x0e, 0xb4, 0xe4, 0x2a, 0xc8, 0x37, 0xbd, 0x59, 0x16, 0x58, 0x2d, 0x81, 0xe1, 0xcb,
+ 0xe2, 0x1c, 0xdf, 0x41, 0x96, 0x9d, 0x65, 0x60, 0x70, 0x22, 0x39, 0xe8, 0x80, 0x41, 0xd6, 0x09,
+ 0xb2, 0x24, 0xc8, 0xcd, 0xf4, 0xff, 0xb7, 0xd5, 0x76, 0x78, 0x2d, 0x7a, 0x1c, 0x22, 0x07, 0x8b,
+ 0xab, 0x46, 0x92, 0x2c, 0x32, 0x34, 0x34, 0xb4, 0x04, 0x5a, 0xf2, 0x17, 0x14, 0x64, 0x17, 0xa6,
+ 0xd8, 0xe0, 0xb5, 0x04, 0x84, 0x5f, 0xe5, 0xaa, 0xc3, 0x2c, 0x5a, 0x4a, 0xb4, 0x45, 0xc0, 0x8c,
+ 0xc9, 0x01, 0x4c, 0xce, 0x37, 0x41, 0xbe, 0xa1, 0x04, 0x13, 0xb4, 0x08, 0xa8, 0xa8, 0x9b, 0x52,
+ 0x4b, 0x88, 0xb2, 0x88, 0xd6, 0x18, 0x00, 0xaa, 0xc4, 0x85, 0xc0, 0xd6, 0xc0, 0x40, 0xc4, 0x00,
+ 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82,
+};
+
+const BITMAP_OPAQUE ps_diff_pair_tune_phase_xpm[1] = {{ png, sizeof( png ), "ps_diff_pair_tune_phase_xpm" }};
+
+//EOF
diff --git a/bitmaps_png/cpp_26/ps_diff_pair_via_gap.cpp b/bitmaps_png/cpp_26/ps_diff_pair_via_gap.cpp
new file mode 100644
index 0000000..e906dbc
--- /dev/null
+++ b/bitmaps_png/cpp_26/ps_diff_pair_via_gap.cpp
@@ -0,0 +1,60 @@
+
+/* Do not modify this file, it was automatically generated by the
+ * PNG2cpp CMake script, using a *.png file as input.
+ */
+
+#include <bitmaps.h>
+
+static const unsigned char png[] = {
+ 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52,
+ 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x1a, 0x08, 0x06, 0x00, 0x00, 0x00, 0xa9, 0x4a, 0x4c,
+ 0xce, 0x00, 0x00, 0x02, 0xa8, 0x49, 0x44, 0x41, 0x54, 0x48, 0xc7, 0xed, 0x96, 0xcf, 0x4b, 0x54,
+ 0x51, 0x14, 0xc7, 0xcf, 0xa4, 0xa4, 0x2e, 0x1a, 0x49, 0x0a, 0xec, 0x87, 0xfd, 0x80, 0x69, 0x65,
+ 0xea, 0xcc, 0x9b, 0xfb, 0xe6, 0x87, 0xb6, 0x98, 0x85, 0x11, 0x44, 0xe8, 0x28, 0x28, 0x48, 0x10,
+ 0x49, 0x86, 0x22, 0x95, 0x81, 0xcd, 0x44, 0xf3, 0x04, 0xaf, 0x21, 0xb4, 0x51, 0x17, 0xf6, 0x07,
+ 0xb8, 0x53, 0x70, 0xd3, 0xae, 0x68, 0xa3, 0x9b, 0x28, 0xc8, 0x6a, 0x35, 0xa1, 0xe2, 0x32, 0x09,
+ 0xc9, 0x8d, 0x15, 0x81, 0x98, 0x33, 0xb7, 0xef, 0x79, 0xde, 0x17, 0x2f, 0x31, 0x9b, 0x9a, 0xd1,
+ 0x55, 0x8b, 0x0f, 0xdc, 0x39, 0xf3, 0xe6, 0x7c, 0xde, 0x3d, 0xe7, 0xbc, 0xfb, 0x86, 0x94, 0x52,
+ 0xb4, 0x1f, 0xd0, 0x7f, 0x51, 0xde, 0x22, 0x92, 0xa4, 0x76, 0x21, 0x4d, 0xe3, 0x54, 0xb2, 0x1f,
+ 0x22, 0x66, 0x6c, 0x4f, 0x4b, 0x47, 0x0f, 0xa9, 0x06, 0x92, 0x75, 0x90, 0x05, 0x8d, 0x7b, 0xda,
+ 0x23, 0x1a, 0xa2, 0x7e, 0xbd, 0xab, 0x65, 0x7a, 0x44, 0x87, 0x9d, 0xb8, 0x94, 0xf2, 0x00, 0x53,
+ 0x88, 0xd2, 0x2d, 0xd0, 0x18, 0x95, 0x61, 0xe5, 0xc1, 0x7a, 0x46, 0xc7, 0xa6, 0xe5, 0x75, 0x59,
+ 0x9a, 0x88, 0x0f, 0xf4, 0xdd, 0x8b, 0x5b, 0x4b, 0x0c, 0xaf, 0x39, 0x96, 0x6f, 0x8f, 0x46, 0xed,
+ 0xef, 0x87, 0xa9, 0x0a, 0xeb, 0x35, 0x8e, 0x5d, 0xe8, 0x8e, 0xcd, 0x27, 0xe2, 0x96, 0xfa, 0x95,
+ 0x81, 0xbe, 0x7f, 0x2a, 0x1d, 0x7a, 0xd3, 0x80, 0xa4, 0x19, 0x4d, 0xbd, 0x2e, 0x61, 0x87, 0x47,
+ 0x7a, 0x36, 0xba, 0xda, 0x7b, 0xb3, 0x4e, 0xf2, 0x2d, 0x2c, 0xc5, 0x3b, 0x73, 0x97, 0x31, 0x1c,
+ 0x0e, 0x7b, 0xa3, 0xd1, 0x68, 0x59, 0x4e, 0x3d, 0x82, 0x60, 0x44, 0xef, 0x6a, 0xd1, 0x89, 0x79,
+ 0xa5, 0xb7, 0xe2, 0x6e, 0xeb, 0xfd, 0xe5, 0x3f, 0x89, 0x82, 0xc1, 0xe0, 0x04, 0x18, 0xc9, 0x49,
+ 0x14, 0xbe, 0x1d, 0xf6, 0x56, 0xdf, 0xa9, 0x51, 0x8c, 0x6c, 0x93, 0x07, 0x9d, 0xb8, 0x93, 0xdc,
+ 0x4d, 0xd7, 0xe5, 0x5b, 0x83, 0xe7, 0x4d, 0xd3, 0xde, 0xb9, 0x61, 0x18, 0x57, 0x20, 0x51, 0x20,
+ 0x83, 0x75, 0x64, 0x57, 0x51, 0xa2, 0x35, 0x65, 0x20, 0xc1, 0x8a, 0x2b, 0xd9, 0x0a, 0xc7, 0xec,
+ 0x69, 0xd3, 0xc3, 0x30, 0x74, 0xb1, 0x57, 0x31, 0x9d, 0x97, 0x7a, 0x86, 0x6b, 0x45, 0x68, 0x0d,
+ 0xac, 0xf8, 0xfd, 0xfe, 0x73, 0x10, 0x7c, 0xd4, 0x22, 0x66, 0xde, 0xe7, 0xf3, 0x95, 0xfc, 0x5e,
+ 0x14, 0xb7, 0x26, 0x6d, 0x41, 0x8b, 0x95, 0xb6, 0xd9, 0x92, 0x4d, 0xba, 0xaf, 0x99, 0xf3, 0x78,
+ 0x14, 0x33, 0x4b, 0x54, 0x0a, 0xc9, 0x33, 0xa0, 0x02, 0x42, 0x7c, 0x70, 0x49, 0x98, 0xef, 0xa0,
+ 0x67, 0x47, 0x89, 0x8c, 0xc9, 0x62, 0x24, 0xfd, 0xc6, 0xc9, 0x93, 0x4d, 0x96, 0x60, 0x6c, 0x51,
+ 0xf3, 0x83, 0xf5, 0xd9, 0x43, 0xc7, 0x8f, 0x38, 0xd7, 0xbd, 0x21, 0x5a, 0x04, 0x0a, 0x8c, 0x54,
+ 0x9b, 0x66, 0xa5, 0x5f, 0x98, 0x9f, 0x8d, 0xa0, 0x50, 0x81, 0xa0, 0x98, 0x45, 0xc9, 0x6e, 0x06,
+ 0x02, 0x01, 0x11, 0x8b, 0xc5, 0x4a, 0x77, 0x2f, 0xdd, 0x0e, 0x3b, 0x7a, 0x6c, 0xb6, 0x6c, 0x22,
+ 0xe9, 0xc6, 0x1c, 0x51, 0x07, 0x5f, 0xf3, 0x9a, 0xa8, 0x1e, 0x9f, 0x33, 0x0c, 0x62, 0x0d, 0x75,
+ 0xa1, 0x50, 0x0b, 0xef, 0x0a, 0x7c, 0xad, 0x36, 0xa2, 0xbe, 0x9c, 0xc6, 0x7b, 0x7b, 0x8f, 0x92,
+ 0xcd, 0xa9, 0xd5, 0xa7, 0x47, 0x4f, 0xbf, 0xd2, 0x3b, 0x58, 0x83, 0xa4, 0x4a, 0xef, 0x6a, 0x54,
+ 0xc7, 0x6c, 0x7a, 0xcf, 0x9c, 0x65, 0x91, 0x1a, 0xae, 0x3c, 0xa6, 0x72, 0x3e, 0x82, 0x78, 0xd2,
+ 0x12, 0xcd, 0xa9, 0x6b, 0x57, 0x1b, 0x3b, 0xad, 0x3a, 0x11, 0x7a, 0x57, 0x6b, 0x84, 0x23, 0x48,
+ 0x36, 0xad, 0x93, 0xce, 0xe0, 0xe7, 0x9e, 0x97, 0x44, 0x65, 0x58, 0x2f, 0x38, 0xa2, 0x17, 0x45,
+ 0x45, 0x6a, 0xa2, 0xbc, 0xdc, 0x5e, 0xff, 0xf5, 0x59, 0x87, 0x3b, 0x94, 0x7c, 0x97, 0x90, 0x2d,
+ 0x8d, 0x57, 0x9c, 0x38, 0x89, 0x24, 0xcb, 0x3a, 0x71, 0x7f, 0x41, 0x0f, 0x55, 0x4c, 0x4d, 0x79,
+ 0x5d, 0x30, 0xf4, 0x1e, 0xcd, 0x86, 0xcc, 0x9c, 0x42, 0x3f, 0x1a, 0x21, 0xc9, 0x82, 0x75, 0x50,
+ 0x93, 0x97, 0x48, 0x08, 0xd1, 0x8d, 0xc9, 0x99, 0x82, 0x64, 0x81, 0x1f, 0x3c, 0x1e, 0x55, 0x43,
+ 0x88, 0xcd, 0xad, 0x66, 0x47, 0x9a, 0xde, 0x12, 0x8d, 0xb9, 0x7b, 0xb3, 0x13, 0xb9, 0x8a, 0x6e,
+ 0x6c, 0x7b, 0x1e, 0x56, 0xfd, 0x22, 0x94, 0xd4, 0x53, 0xf5, 0xa9, 0xd5, 0x57, 0xcb, 0x25, 0x4c,
+ 0xe7, 0x2d, 0xd2, 0x25, 0x7b, 0xee, 0x12, 0xb5, 0x71, 0x0c, 0x7d, 0x7a, 0x02, 0xd1, 0x20, 0x9e,
+ 0x8f, 0xe2, 0x82, 0xbd, 0xf8, 0x90, 0xfc, 0x14, 0xf8, 0xc2, 0x25, 0xfc, 0xf9, 0x03, 0x4c, 0xda,
+ 0x9e, 0xbc, 0x61, 0x21, 0x69, 0xc7, 0x71, 0x5f, 0x91, 0xef, 0xbf, 0xa0, 0x1f, 0x57, 0xdf, 0x58,
+ 0x8d, 0x88, 0xb2, 0x22, 0x86, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60,
+ 0x82,
+};
+
+const BITMAP_OPAQUE ps_diff_pair_via_gap_xpm[1] = {{ png, sizeof( png ), "ps_diff_pair_via_gap_xpm" }};
+
+//EOF
diff --git a/bitmaps_png/cpp_26/ps_tune_length.cpp b/bitmaps_png/cpp_26/ps_tune_length.cpp
new file mode 100644
index 0000000..ceef5a8
--- /dev/null
+++ b/bitmaps_png/cpp_26/ps_tune_length.cpp
@@ -0,0 +1,34 @@
+
+/* Do not modify this file, it was automatically generated by the
+ * PNG2cpp CMake script, using a *.png file as input.
+ */
+
+#include <bitmaps.h>
+
+static const unsigned char png[] = {
+ 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52,
+ 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x1a, 0x08, 0x06, 0x00, 0x00, 0x00, 0xa9, 0x4a, 0x4c,
+ 0xce, 0x00, 0x00, 0x01, 0x0b, 0x49, 0x44, 0x41, 0x54, 0x48, 0xc7, 0xcd, 0xd4, 0xaf, 0x0f, 0x01,
+ 0x61, 0x1c, 0xc7, 0xf1, 0xef, 0xd8, 0x8c, 0x4d, 0x11, 0x24, 0xc5, 0x24, 0x49, 0xb8, 0x1f, 0xd5,
+ 0xae, 0xe8, 0xa2, 0x28, 0x0b, 0xaa, 0xca, 0x66, 0x6c, 0x36, 0xfe, 0x00, 0x55, 0xe3, 0x0f, 0xd0,
+ 0x64, 0x13, 0x24, 0x55, 0x91, 0x04, 0xc9, 0x66, 0xc2, 0x99, 0xc7, 0xe7, 0xb9, 0x7d, 0x6d, 0x02,
+ 0x77, 0x3b, 0xbb, 0xef, 0x11, 0xde, 0xc1, 0xdd, 0xf3, 0x3c, 0xaf, 0x7d, 0xcf, 0xed, 0x48, 0x29,
+ 0x45, 0x71, 0x44, 0x3f, 0x81, 0xa8, 0x4b, 0xea, 0x43, 0xcd, 0xb8, 0xa0, 0x2b, 0xb2, 0x44, 0x1f,
+ 0x1d, 0x80, 0x29, 0x63, 0x07, 0x1a, 0x50, 0x3e, 0x12, 0xc8, 0x34, 0x4d, 0xf5, 0x06, 0x4a, 0xa1,
+ 0x35, 0x63, 0x2b, 0x9a, 0x53, 0x52, 0x04, 0xf2, 0x16, 0xf5, 0xa9, 0x00, 0xe4, 0xc8, 0xd8, 0x58,
+ 0x0c, 0xe2, 0xc9, 0xaa, 0xc8, 0x65, 0xac, 0x21, 0x06, 0x31, 0xd6, 0x66, 0xe8, 0x82, 0x2a, 0x62,
+ 0x10, 0x63, 0x33, 0xc6, 0xf6, 0x34, 0xa4, 0x9c, 0x1c, 0x34, 0xa1, 0x0c, 0x90, 0x2d, 0x63, 0x4b,
+ 0x94, 0x10, 0x81, 0x78, 0xaa, 0x22, 0x3a, 0x31, 0xd6, 0x17, 0x83, 0xbc, 0x8d, 0x3d, 0xaa, 0x01,
+ 0xb9, 0xa1, 0x3b, 0xaa, 0x8b, 0x41, 0x8c, 0x75, 0x78, 0xaa, 0x33, 0x2a, 0x8b, 0x41, 0xfc, 0x18,
+ 0x17, 0x3e, 0x9f, 0x2e, 0x15, 0x25, 0x94, 0x45, 0x3b, 0x71, 0x48, 0xec, 0xf5, 0x0e, 0xd3, 0xeb,
+ 0x79, 0xbe, 0x90, 0xe3, 0x38, 0x69, 0xc3, 0x30, 0x9a, 0x68, 0xe3, 0x77, 0xa0, 0xbe, 0xaf, 0xd7,
+ 0xe9, 0xf5, 0xa1, 0x20, 0xdb, 0xb6, 0x4b, 0x96, 0x65, 0x8d, 0xf0, 0xfb, 0xa4, 0xaf, 0x05, 0x4d,
+ 0xfa, 0x5c, 0xa3, 0xd7, 0xeb, 0x7d, 0x7a, 0x7f, 0x20, 0x84, 0x5a, 0xc8, 0x7d, 0xd9, 0xfc, 0x4d,
+ 0x2e, 0x9f, 0xf3, 0x07, 0x13, 0xc5, 0xfa, 0x1f, 0xc5, 0xfe, 0xd6, 0x89, 0x41, 0x92, 0x3d, 0x00,
+ 0x69, 0xa2, 0xe9, 0x37, 0x6a, 0x4a, 0x86, 0x43, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44,
+ 0xae, 0x42, 0x60, 0x82,
+};
+
+const BITMAP_OPAQUE ps_tune_length_xpm[1] = {{ png, sizeof( png ), "ps_tune_length_xpm" }};
+
+//EOF
diff --git a/bitmaps_png/sources/ps_diff_pair.svg b/bitmaps_png/sources/ps_diff_pair.svg
new file mode 100644
index 0000000..41e4d63
--- /dev/null
+++ b/bitmaps_png/sources/ps_diff_pair.svg
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/";
+   xmlns:cc="http://creativecommons.org/ns#";
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
+   xmlns:svg="http://www.w3.org/2000/svg";
+   xmlns="http://www.w3.org/2000/svg";
+   version="1.1"
+   width="26"
+   height="26"
+   id="svg2">
+  <metadata
+     id="metadata50">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs4">
+    <marker
+       refX="0"
+       refY="0"
+       orient="auto"
+       id="Arrow1Send"
+       style="overflow:visible">
+      <path
+         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+         transform="matrix(-0.2,0,0,-0.2,-1.2,0)"
+         id="path3806"
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" />
+    </marker>
+    <marker
+       refX="0"
+       refY="0"
+       orient="auto"
+       id="Arrow1Sstart"
+       style="overflow:visible">
+      <path
+         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+         transform="matrix(0.2,0,0,0.2,1.2,0)"
+         id="path3803"
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" />
+    </marker>
+    <marker
+       refX="0"
+       refY="0"
+       orient="auto"
+       id="h"
+       style="overflow:visible">
+      <path
+         d="M 8.7186,4.0337 -2.2074,0.016 8.7186,-4.0017 c -1.7455,2.3721 -1.7354,5.6175 -6e-7,8.0354 z"
+         transform="scale(0.6,0.6)"
+         id="path10"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" />
+    </marker>
+    <marker
+       refX="0"
+       refY="0"
+       orient="auto"
+       id="g"
+       style="overflow:visible">
+      <path
+         d="M 8.7186,4.0337 -2.2074,0.016 8.7186,-4.0017 c -1.7455,2.3721 -1.7354,5.6175 -6e-7,8.0354 z"
+         transform="scale(-0.6,-0.6)"
+         id="path13"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" />
+    </marker>
+    <filter
+       x="-0.10484"
+       y="-0.18257"
+       width="1.2097"
+       height="1.3651"
+       color-interpolation-filters="sRGB"
+       id="d">
+      <feGaussianBlur
+         id="feGaussianBlur7"
+         stdDeviation="1.5978799" />
+    </filter>
+  </defs>
+  <path
+     d="m 2,9 5,0 8.5,12 8.5,0"
+     id="path3002"
+     style="fill:none;stroke:#008000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+  <path
+     d="m 2,5 7,0 8.5,12 6.5,0"
+     id="path3798"
+     style="fill:none;stroke:#008000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+</svg>
diff --git a/bitmaps_png/sources/ps_diff_pair_gap.svg b/bitmaps_png/sources/ps_diff_pair_gap.svg
new file mode 100644
index 0000000..8e78ac0
--- /dev/null
+++ b/bitmaps_png/sources/ps_diff_pair_gap.svg
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/";
+   xmlns:cc="http://creativecommons.org/ns#";
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
+   xmlns:svg="http://www.w3.org/2000/svg";
+   xmlns="http://www.w3.org/2000/svg";
+   xmlns:xlink="http://www.w3.org/1999/xlink";
+   version="1.1"
+   width="26"
+   height="26"
+   id="svg2">
+  <metadata
+     id="metadata50">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs4">
+    <marker
+       refX="0"
+       refY="0"
+       orient="auto"
+       id="Arrow1Send"
+       style="overflow:visible">
+      <path
+         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+         transform="matrix(-0.2,0,0,-0.2,-1.2,0)"
+         id="path3806"
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" />
+    </marker>
+    <marker
+       refX="0"
+       refY="0"
+       orient="auto"
+       id="Arrow1Sstart"
+       style="overflow:visible">
+      <path
+         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+         transform="matrix(0.2,0,0,0.2,1.2,0)"
+         id="path3803"
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" />
+    </marker>
+    <marker
+       refX="0"
+       refY="0"
+       orient="auto"
+       id="h"
+       style="overflow:visible">
+      <path
+         d="M 8.7186,4.0337 -2.2074,0.016 8.7186,-4.0017 c -1.7455,2.3721 -1.7354,5.6175 -6e-7,8.0354 z"
+         transform="scale(0.6,0.6)"
+         id="path10"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" />
+    </marker>
+    <marker
+       refX="0"
+       refY="0"
+       orient="auto"
+       id="g"
+       style="overflow:visible">
+      <path
+         d="M 8.7186,4.0337 -2.2074,0.016 8.7186,-4.0017 c -1.7455,2.3721 -1.7354,5.6175 -6e-7,8.0354 z"
+         transform="scale(-0.6,-0.6)"
+         id="path13"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" />
+    </marker>
+    <filter
+       x="-0.10484"
+       y="-0.18257"
+       width="1.2097"
+       height="1.3651"
+       color-interpolation-filters="sRGB"
+       id="d">
+      <feGaussianBlur
+         id="feGaussianBlur7"
+         stdDeviation="1.5978799" />
+    </filter>
+  </defs>
+  <path
+     d="m 3,3 6,0 5,8 10,0"
+     id="path2990"
+     style="fill:none;stroke:#008000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+  <g
+     transform="translate(-0.21875,-1.125)"
+     id="g4681">
+    <path
+       d="m 19.71875,2.125 0,7"
+       id="path5185"
+       style="fill:#333333;stroke:#333333;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 22.21875,5.1249992 -2.5,6.0000008 -2.5,-6.0000008"
+       id="path5195"
+       style="fill:#333333;stroke:none" />
+  </g>
+  <path
+     d="m 3,7 4,0 5,8 12,0"
+     id="path3002"
+     style="fill:none;stroke:#008000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+  <use
+     transform="matrix(1,0,0,-1,0,26)"
+     id="use3796"
+     x="0"
+     y="0"
+     width="26"
+     height="26"
+     xlink:href="#g4681" />
+</svg>
diff --git a/bitmaps_png/sources/ps_diff_pair_tune_length.svg b/bitmaps_png/sources/ps_diff_pair_tune_length.svg
new file mode 100644
index 0000000..6de0e6b
--- /dev/null
+++ b/bitmaps_png/sources/ps_diff_pair_tune_length.svg
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/";
+   xmlns:cc="http://creativecommons.org/ns#";
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
+   xmlns:svg="http://www.w3.org/2000/svg";
+   xmlns="http://www.w3.org/2000/svg";
+   version="1.1"
+   width="26"
+   height="26"
+   id="svg2">
+  <metadata
+     id="metadata50">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs4">
+    <marker
+       refX="0"
+       refY="0"
+       orient="auto"
+       id="Arrow1Send"
+       style="overflow:visible">
+      <path
+         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+         transform="matrix(-0.2,0,0,-0.2,-1.2,0)"
+         id="path3806"
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" />
+    </marker>
+    <marker
+       refX="0"
+       refY="0"
+       orient="auto"
+       id="Arrow1Sstart"
+       style="overflow:visible">
+      <path
+         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+         transform="matrix(0.2,0,0,0.2,1.2,0)"
+         id="path3803"
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" />
+    </marker>
+    <marker
+       refX="0"
+       refY="0"
+       orient="auto"
+       id="h"
+       style="overflow:visible">
+      <path
+         d="M 8.7186,4.0337 -2.2074,0.016 8.7186,-4.0017 c -1.7455,2.3721 -1.7354,5.6175 -6e-7,8.0354 z"
+         transform="scale(0.6,0.6)"
+         id="path10"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" />
+    </marker>
+    <marker
+       refX="0"
+       refY="0"
+       orient="auto"
+       id="g"
+       style="overflow:visible">
+      <path
+         d="M 8.7186,4.0337 -2.2074,0.016 8.7186,-4.0017 c -1.7455,2.3721 -1.7354,5.6175 -6e-7,8.0354 z"
+         transform="scale(-0.6,-0.6)"
+         id="path13"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" />
+    </marker>
+    <filter
+       x="-0.10484"
+       y="-0.18257"
+       width="1.2097"
+       height="1.3651"
+       color-interpolation-filters="sRGB"
+       id="d">
+      <feGaussianBlur
+         id="feGaussianBlur7"
+         stdDeviation="1.5978799" />
+    </filter>
+  </defs>
+  <path
+     d="m 3,3 8,0 5,8 8,0"
+     id="path2990"
+     style="fill:none;stroke:#008000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+  <g
+     transform="matrix(0,-1,1,0,11.875,40.71875)"
+     id="g4681">
+    <path
+       d="m 20.21875,-3.375 0,12.5"
+       id="path5185"
+       style="fill:#333333;stroke:#333333;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 22.71875,5.1249992 -2.5,6.0000008 -2.5,-6.0000008"
+       id="path5195"
+       style="fill:#333333;stroke:none" />
+    <path
+       d="m 23.71875,11.625 -8,0"
+       id="path3819"
+       style="fill:#333333;stroke:#333333;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 22.71875,-1.875 -2.5,-6.0000008 -2.5,6.0000008"
+       id="path3821"
+       style="fill:#333333;stroke:none" />
+    <path
+       d="m 31.71875,-8.3750008 -16,0"
+       id="path3823"
+       style="fill:#333333;stroke:#333333;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+  </g>
+  <path
+     d="m 3,7 6,0 5,8 10,0"
+     id="path3002"
+     style="fill:none;stroke:#008000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+</svg>
diff --git a/bitmaps_png/sources/ps_diff_pair_tune_phase.svg b/bitmaps_png/sources/ps_diff_pair_tune_phase.svg
new file mode 100644
index 0000000..79b8ebb
--- /dev/null
+++ b/bitmaps_png/sources/ps_diff_pair_tune_phase.svg
@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/";
+   xmlns:cc="http://creativecommons.org/ns#";
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
+   xmlns:svg="http://www.w3.org/2000/svg";
+   xmlns="http://www.w3.org/2000/svg";
+   version="1.1"
+   width="26"
+   height="26"
+   id="svg2">
+  <metadata
+     id="metadata50">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs4">
+    <marker
+       refX="0"
+       refY="0"
+       orient="auto"
+       id="Arrow1Send"
+       style="overflow:visible">
+      <path
+         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+         transform="matrix(-0.2,0,0,-0.2,-1.2,0)"
+         id="path3806"
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" />
+    </marker>
+    <marker
+       refX="0"
+       refY="0"
+       orient="auto"
+       id="Arrow1Sstart"
+       style="overflow:visible">
+      <path
+         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+         transform="matrix(0.2,0,0,0.2,1.2,0)"
+         id="path3803"
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" />
+    </marker>
+    <marker
+       refX="0"
+       refY="0"
+       orient="auto"
+       id="h"
+       style="overflow:visible">
+      <path
+         d="M 8.7186,4.0337 -2.2074,0.016 8.7186,-4.0017 c -1.7455,2.3721 -1.7354,5.6175 -6e-7,8.0354 z"
+         transform="scale(0.6,0.6)"
+         id="path10"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" />
+    </marker>
+    <marker
+       refX="0"
+       refY="0"
+       orient="auto"
+       id="g"
+       style="overflow:visible">
+      <path
+         d="M 8.7186,4.0337 -2.2074,0.016 8.7186,-4.0017 c -1.7455,2.3721 -1.7354,5.6175 -6e-7,8.0354 z"
+         transform="scale(-0.6,-0.6)"
+         id="path13"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" />
+    </marker>
+    <filter
+       x="-0.10484"
+       y="-0.18257"
+       width="1.2097"
+       height="1.3651"
+       color-interpolation-filters="sRGB"
+       id="d">
+      <feGaussianBlur
+         stdDeviation="1.5978799"
+         id="feGaussianBlur7" />
+    </filter>
+  </defs>
+  <path
+     d="m 3,3 6,0 8,12 7,0"
+     id="path2990"
+     style="fill:none;stroke:#008000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+  <path
+     d="m 3,7 4,0 7.5,12 9.5,0"
+     id="path3002"
+     style="fill:none;stroke:#008000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+  <g
+     transform="matrix(0,-1,1,0,11.875,40.21875)"
+     id="g4681">
+    <path
+       d="m 8.2977205,18.468791 a 8.1040001,8.1040001 0 0 1 3.3054165,6.41299 L 3.4999993,25 z"
+       transform="matrix(0,1.6076656,-1.6076656,0,55.910391,-14.001829)"
+       id="path3844"
+       style="fill:#fcaf3e;stroke:none" />
+    <path
+       d="m 8.2977205,18.468791 a 8.1040001,8.1040001 0 0 1 3.3054165,6.41299"
+       transform="matrix(0,1.7852085,-1.7852085,0,60.189393,-15.688161)"
+       id="path3846"
+       style="fill:none;stroke:#cc0000;stroke-width:1.12031734" />
+    <path
+       d="M 30.112087,1.4507949 16.21875,-7.875 l 0,16"
+       id="path3823"
+       style="fill:none;stroke:#333333;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+  </g>
+</svg>
diff --git a/bitmaps_png/sources/ps_diff_pair_via_gap.svg b/bitmaps_png/sources/ps_diff_pair_via_gap.svg
new file mode 100644
index 0000000..70e6c31
--- /dev/null
+++ b/bitmaps_png/sources/ps_diff_pair_via_gap.svg
@@ -0,0 +1,141 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/";
+   xmlns:cc="http://creativecommons.org/ns#";
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
+   xmlns:svg="http://www.w3.org/2000/svg";
+   xmlns="http://www.w3.org/2000/svg";
+   version="1.1"
+   width="26"
+   height="26"
+   id="svg2">
+  <metadata
+     id="metadata50">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs4">
+    <marker
+       refX="0"
+       refY="0"
+       orient="auto"
+       id="Arrow1Send"
+       style="overflow:visible">
+      <path
+         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+         transform="matrix(-0.2,0,0,-0.2,-1.2,0)"
+         id="path3806"
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" />
+    </marker>
+    <marker
+       refX="0"
+       refY="0"
+       orient="auto"
+       id="Arrow1Sstart"
+       style="overflow:visible">
+      <path
+         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+         transform="matrix(0.2,0,0,0.2,1.2,0)"
+         id="path3803"
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" />
+    </marker>
+    <marker
+       refX="0"
+       refY="0"
+       orient="auto"
+       id="h"
+       style="overflow:visible">
+      <path
+         d="M 8.7186,4.0337 -2.2074,0.016 8.7186,-4.0017 c -1.7455,2.3721 -1.7354,5.6175 -6e-7,8.0354 z"
+         transform="scale(0.6,0.6)"
+         id="path10"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" />
+    </marker>
+    <marker
+       refX="0"
+       refY="0"
+       orient="auto"
+       id="g"
+       style="overflow:visible">
+      <path
+         d="M 8.7186,4.0337 -2.2074,0.016 8.7186,-4.0017 c -1.7455,2.3721 -1.7354,5.6175 -6e-7,8.0354 z"
+         transform="scale(-0.6,-0.6)"
+         id="path13"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" />
+    </marker>
+    <filter
+       x="-0.10484"
+       y="-0.18257"
+       width="1.2097"
+       height="1.3651"
+       color-interpolation-filters="sRGB"
+       id="d">
+      <feGaussianBlur
+         id="feGaussianBlur7"
+         stdDeviation="1.5978799" />
+    </filter>
+  </defs>
+  <g
+     id="g4044">
+    <path
+       d="m 2,9 5,0 2,3 0,2"
+       id="path3002"
+       style="fill:none;stroke:#008000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 2,5 7,0 3.5,5 1.5,0.5"
+       id="path3798"
+       style="fill:none;stroke:#008000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+  </g>
+  <g
+     transform="matrix(-1,0,0,-1,25,27)"
+     id="g4048"
+     style="stroke:#cc0000">
+    <path
+       d="m 2,9 5,0 2,3 0,2"
+       id="path4050"
+       style="fill:none;stroke:#cc0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 2,5 7,0 3.5,5 1.5,0.5"
+       id="path4052"
+       style="fill:none;stroke:#cc0000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+  </g>
+  <path
+     d="m 23,7 a 2,2 0 1 1 -4,0 2,2 0 1 1 4,0 z"
+     transform="translate(-5,4)"
+     id="path4040"
+     style="fill:none;stroke:#75507b;stroke-width:2.00000024;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+  <path
+     d="m 23,7 a 2,2 0 1 1 -4,0 2,2 0 1 1 4,0 z"
+     transform="translate(-12,8.5)"
+     id="path4042"
+     style="fill:none;stroke:#75507b;stroke-width:2.00000024;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+  <g
+     transform="matrix(0.83482846,-0.55051017,0.55051017,0.83482846,-23.54562,4.3639443)"
+     id="g4078" />
+  <path
+     d="M 13.5,23.5 10,18.5"
+     id="path4052-7"
+     style="fill:none;stroke:#2e3436;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+  <path
+     d="m 21.9375,18 -3.5,-5"
+     id="path4101"
+     style="fill:none;stroke:#2e3436;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+  <path
+     d="m 6.0405948,21.616319 6.3852472,-1.21599 -3.6326964,5.390133"
+     id="path5195-1"
+     style="fill:#333333;stroke:none" />
+  <path
+     d="m 25.728997,14.787327 -6.385247,1.21599 3.632696,-5.390133"
+     id="path4121"
+     style="fill:#333333;stroke:none" />
+</svg>
diff --git a/bitmaps_png/sources/ps_tune_length.svg b/bitmaps_png/sources/ps_tune_length.svg
new file mode 100644
index 0000000..d5002b5
--- /dev/null
+++ b/bitmaps_png/sources/ps_tune_length.svg
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/";
+   xmlns:cc="http://creativecommons.org/ns#";
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
+   xmlns:svg="http://www.w3.org/2000/svg";
+   xmlns="http://www.w3.org/2000/svg";
+   version="1.1"
+   width="26"
+   height="26"
+   id="svg2">
+  <metadata
+     id="metadata50">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs4">
+    <marker
+       refX="0"
+       refY="0"
+       orient="auto"
+       id="Arrow1Send"
+       style="overflow:visible">
+      <path
+         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+         transform="matrix(-0.2,0,0,-0.2,-1.2,0)"
+         id="path3806"
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" />
+    </marker>
+    <marker
+       refX="0"
+       refY="0"
+       orient="auto"
+       id="Arrow1Sstart"
+       style="overflow:visible">
+      <path
+         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+         transform="matrix(0.2,0,0,0.2,1.2,0)"
+         id="path3803"
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" />
+    </marker>
+    <marker
+       refX="0"
+       refY="0"
+       orient="auto"
+       id="h"
+       style="overflow:visible">
+      <path
+         d="M 8.7186,4.0337 -2.2074,0.016 8.7186,-4.0017 c -1.7455,2.3721 -1.7354,5.6175 -6e-7,8.0354 z"
+         transform="scale(0.6,0.6)"
+         id="path10"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" />
+    </marker>
+    <marker
+       refX="0"
+       refY="0"
+       orient="auto"
+       id="g"
+       style="overflow:visible">
+      <path
+         d="M 8.7186,4.0337 -2.2074,0.016 8.7186,-4.0017 c -1.7455,2.3721 -1.7354,5.6175 -6e-7,8.0354 z"
+         transform="scale(-0.6,-0.6)"
+         id="path13"
+         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" />
+    </marker>
+    <filter
+       x="-0.10484"
+       y="-0.18257"
+       width="1.2097"
+       height="1.3651"
+       color-interpolation-filters="sRGB"
+       id="d">
+      <feGaussianBlur
+         id="feGaussianBlur7"
+         stdDeviation="1.5978799" />
+    </filter>
+  </defs>
+  <g
+     transform="matrix(0,-1,1,0,11.875,40.71875)"
+     id="g4681">
+    <path
+       d="m 20.21875,-3.375 0,12.5"
+       id="path5185"
+       style="fill:#333333;stroke:#333333;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 22.71875,5.1249992 -2.5,6.0000008 -2.5,-6.0000008"
+       id="path5195"
+       style="fill:#333333;stroke:none" />
+    <path
+       d="m 23.71875,11.625 -8,0"
+       id="path3819"
+       style="fill:#333333;stroke:#333333;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 22.71875,-1.875 -2.5,-6.0000008 -2.5,6.0000008"
+       id="path3821"
+       style="fill:#333333;stroke:none" />
+    <path
+       d="m 35.71875,-8.3750008 -20,0"
+       id="path3823"
+       style="fill:#333333;stroke:#333333;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+  </g>
+  <path
+     d="m 3,3 5.5,0 9.5,12 6,0"
+     id="path3002"
+     style="fill:none;stroke:#008000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+  <g
+     transform="translate(25,-4)"
+     id="g3998" />
+</svg>
diff --git a/include/bitmaps.h b/include/bitmaps.h
index d1ffd40..ee86cd1 100644
--- a/include/bitmaps.h
+++ b/include/bitmaps.h
@@ -454,6 +454,12 @@ EXTERN_BITMAP( post_module_xpm )
 EXTERN_BITMAP( preference_xpm )
 EXTERN_BITMAP( print_button_xpm )
 EXTERN_BITMAP( ps_router_xpm )
+EXTERN_BITMAP( ps_diff_pair_xpm )
+EXTERN_BITMAP( ps_diff_pair_gap_xpm )
+EXTERN_BITMAP( ps_diff_pair_tune_length_xpm )
+EXTERN_BITMAP( ps_diff_pair_tune_phase_xpm )
+EXTERN_BITMAP( ps_diff_pair_via_gap_xpm )
+EXTERN_BITMAP( ps_tune_length_xpm )
 EXTERN_BITMAP( py_script_xpm )
 EXTERN_BITMAP( ratsnest_xpm )
 EXTERN_BITMAP( read_setup_xpm )
diff --git a/pcbnew/menubar_pcbframe.cpp b/pcbnew/menubar_pcbframe.cpp
index 0062d6e..cb8bbf7 100644
--- a/pcbnew/menubar_pcbframe.cpp
+++ b/pcbnew/menubar_pcbframe.cpp
@@ -443,24 +443,24 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
     AddMenuItem( routeMenu, ID_DIFF_PAIR_BUTT,
                  _( "Differential Pair" ),
                  _( "Interactively route a differential pair" ),
-                 KiBitmap( add_tracks_xpm ) );
+                 KiBitmap( ps_diff_pair_xpm ) );
 
     routeMenu->AppendSeparator();
 
     AddMenuItem( routeMenu, ID_TUNE_SINGLE_TRACK_LEN_BUTT,
                  _( "Tune Track Length" ),
                  _( "Tune length of a single track" ),
-                 KiBitmap( add_tracks_xpm ) );
+                 KiBitmap( ps_tune_length_xpm ) );
 
     AddMenuItem( routeMenu, ID_TUNE_DIFF_PAIR_LEN_BUTT,
                  _( "Tune Differential Pair Length" ),
                  _( "Tune length of a differential pair" ),
-                 KiBitmap( add_tracks_xpm ) );
+                 KiBitmap( ps_diff_pair_tune_length_xpm ) );
 
     AddMenuItem( routeMenu, ID_TUNE_DIFF_PAIR_SKEW_BUTT,
                  _( "Tune Differential Pair Skew/Phase" ),
                  _( "Tune skew/phase of a differential pair" ),
-                 KiBitmap( add_tracks_xpm ) );
+                 KiBitmap( ps_diff_pair_tune_phase_xpm ) );
 
 /* Fixme: add icons & missing menu entries!
     routeMenu->AppendSeparator();
@@ -539,7 +539,7 @@ void PCB_EDIT_FRAME::ReCreateMenuBar()
     AddMenuItem( dimensionsMenu, ID_MENU_DIFF_PAIR_DIMENSIONS,
                  _( "Differential Pairs" ),
                  _( "Define the global gap/width for differential pairs." ),
-                 KiBitmap( add_tracks_xpm ) ); // fixme: icon
+                 KiBitmap( ps_diff_pair_xpm ) );
 
     dimensionsMenu->AppendSeparator();
     AddMenuItem( dimensionsMenu, ID_CONFIG_SAVE,

Follow ups

References