Commit b5cac30a authored by jean-pierre charras's avatar jean-pierre charras

Eeschema: fix a bug in bool SCH_LINE::MergeOverlap( SCH_LINE* aLine ): ends...

Eeschema: fix a bug in bool SCH_LINE::MergeOverlap( SCH_LINE* aLine ): ends point of resulting segment incorrects.
remove unused icon files.
parent 058e17ed
...@@ -368,7 +368,6 @@ set( BMAPS_MID ...@@ -368,7 +368,6 @@ set( BMAPS_MID
new_cvpcb new_cvpcb
new_footprint new_footprint
new_library new_library
new_module
new_pcb new_pcb
new_project new_project
new_sch new_sch
......
/* 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, 0x04, 0x3f, 0x49, 0x44, 0x41, 0x54, 0x48, 0xc7, 0xc5, 0x95, 0x7f, 0x4c, 0xd4,
0x65, 0x1c, 0xc7, 0x3f, 0x77, 0x07, 0x3a, 0xe1, 0x80, 0x15, 0x79, 0x8c, 0x1f, 0x92, 0xb4, 0x8b,
0x38, 0xfe, 0x68, 0x12, 0x13, 0x36, 0x06, 0x39, 0x72, 0xc6, 0x8d, 0xb9, 0x60, 0x21, 0x5e, 0x5c,
0x67, 0x3f, 0x2e, 0xd4, 0x3c, 0xd1, 0x89, 0xa5, 0xc5, 0x70, 0x34, 0xf7, 0xa5, 0x1a, 0xae, 0x3f,
0xfc, 0xa3, 0xe0, 0x82, 0x22, 0x83, 0xca, 0x35, 0xc6, 0x89, 0xfc, 0x90, 0xe1, 0x89, 0x28, 0x70,
0x08, 0x73, 0xca, 0x28, 0xd7, 0xc2, 0x18, 0x64, 0x63, 0x4e, 0xe6, 0x8f, 0x03, 0x21, 0xb9, 0x10,
0x7c, 0xf7, 0x3c, 0xcf, 0xf5, 0xc5, 0x80, 0x43, 0x7e, 0xd8, 0xd6, 0x1f, 0xaf, 0xdd, 0x3d, 0x3f,
0xbe, 0x9f, 0xd7, 0xf3, 0x7c, 0x3e, 0x9f, 0xef, 0xbe, 0x04, 0x80, 0x1e, 0x87, 0x13, 0x27, 0xa8,
0x88, 0x91, 0xbd, 0xd0, 0xbe, 0x99, 0x03, 0xa2, 0x67, 0x19, 0xe9, 0x8b, 0x25, 0x3e, 0x9e, 0x76,
0xd8, 0x6c, 0x34, 0x51, 0x5d, 0x4d, 0x37, 0x98, 0x6c, 0xd5, 0xa2, 0x45, 0x3e, 0x3e, 0x3e, 0x7d,
0xe1, 0xe1, 0xe1, 0x7f, 0xea, 0x74, 0xba, 0x11, 0x99, 0xb0, 0xb0, 0xb0, 0x7b, 0x69, 0x69, 0x69,
0x53, 0x15, 0x15, 0x15, 0x93, 0x56, 0xab, 0x75, 0x52, 0xa3, 0xd1, 0x4c, 0x45, 0x45, 0x45, 0x89,
0x35, 0x49, 0xf2, 0x9b, 0xe8, 0xea, 0x22, 0x9c, 0x3b, 0x47, 0x60, 0xa2, 0xbc, 0x45, 0x8b, 0x7c,
0x7d, 0x7d, 0x07, 0x8b, 0x8b, 0x8b, 0xd1, 0xd9, 0xd9, 0x39, 0x4d, 0x49, 0x49, 0x09, 0x02, 0x02,
0x02, 0x50, 0x50, 0x50, 0x80, 0x94, 0x94, 0x14, 0xc4, 0xc4, 0xc4, 0x88, 0xf9, 0xd6, 0xd6, 0x32,
0xd4, 0xd5, 0x11, 0xae, 0x5f, 0x27, 0x0c, 0x0c, 0x08, 0xd1, 0x30, 0xe3, 0xc9, 0x65, 0x8b, 0x38,
0xf9, 0xf9, 0xf9, 0x88, 0x8c, 0x8c, 0x84, 0x5e, 0xaf, 0x87, 0xcd, 0x56, 0x8e, 0xb6, 0xb6, 0x72,
0xd4, 0xd7, 0x47, 0xa3, 0xa7, 0x87, 0x30, 0x3a, 0x4a, 0x70, 0x3a, 0x89, 0xcd, 0x09, 0x59, 0x19,
0x43, 0xcb, 0xf0, 0x9e, 0x23, 0x4a, 0x0a, 0x57, 0x75, 0x1d, 0x4e, 0x52, 0xfc, 0xce, 0xd9, 0x17,
0xa7, 0x9c, 0x94, 0xf4, 0x81, 0x28, 0x7a, 0x25, 0x18, 0x3b, 0x13, 0x35, 0x38, 0x7e, 0xfc, 0x3b,
0xd8, 0xed, 0xdb, 0x70, 0xea, 0xd4, 0x7a, 0x76, 0xfa, 0x35, 0xec, 0xd7, 0x1b, 0xcd, 0xcd, 0x04,
0x87, 0x83, 0x70, 0xe9, 0x12, 0xe1, 0xe6, 0x4d, 0xc2, 0xd4, 0x14, 0x61, 0x62, 0x82, 0x30, 0x38,
0x48, 0xec, 0x50, 0xee, 0x34, 0x36, 0x36, 0xd2, 0x64, 0x4d, 0x0d, 0x0d, 0x30, 0xe1, 0x19, 0x46,
0x29, 0xc3, 0x44, 0xbb, 0x62, 0x15, 0x9d, 0xf8, 0x90, 0x3d, 0x6c, 0xf6, 0x85, 0xb4, 0xdb, 0x80,
0xa3, 0x06, 0x2d, 0xf8, 0xb8, 0xc5, 0xe4, 0x8d, 0xca, 0xca, 0x4a, 0xb4, 0xb7, 0xff, 0x88, 0xda,
0xda, 0x60, 0x34, 0x35, 0xb9, 0x83, 0xf1, 0xe0, 0x63, 0x63, 0x04, 0x97, 0x8b, 0x70, 0xff, 0xfe,
0xc3, 0x43, 0x73, 0xd9, 0xf8, 0x38, 0xe1, 0xee, 0x5d, 0xf7, 0x9e, 0xfe, 0x7e, 0x12, 0xa9, 0x65,
0x92, 0x6e, 0x46, 0xe8, 0xb4, 0xe8, 0x98, 0x41, 0x83, 0x5f, 0xbb, 0xce, 0x42, 0x32, 0x25, 0xcc,
0x10, 0xf1, 0xd4, 0x75, 0x74, 0x34, 0xb0, 0x54, 0x45, 0xa2, 0xa1, 0x81, 0x70, 0xed, 0x1a, 0xe1,
0xce, 0x1d, 0xf7, 0x4d, 0x66, 0x97, 0x82, 0xcb, 0x6e, 0xdf, 0x26, 0xf4, 0xf6, 0x12, 0x4e, 0x9e,
0x14, 0x92, 0x06, 0x86, 0x5a, 0xa4, 0xce, 0xbc, 0x4e, 0x71, 0xd1, 0x99, 0x4b, 0x18, 0xda, 0x4b,
0x28, 0xc9, 0x58, 0x8d, 0x9e, 0x6c, 0x15, 0xf8, 0xb8, 0xce, 0xf0, 0x50, 0xc4, 0xb9, 0x70, 0xe1,
0x2c, 0x4b, 0x5d, 0xbc, 0x38, 0x65, 0x5f, 0x1f, 0x61, 0x78, 0x78, 0xa6, 0xe4, 0xc1, 0x03, 0xc2,
0xad, 0x5b, 0x24, 0xea, 0xc6, 0xd2, 0xc6, 0x25, 0xc5, 0x0c, 0xd5, 0x74, 0x8d, 0xd6, 0x85, 0xa8,
0x8c, 0xf1, 0xa1, 0xca, 0x3c, 0x4e, 0x44, 0xe0, 0xca, 0x91, 0x5d, 0xa6, 0x74, 0x48, 0x07, 0x2d,
0x28, 0xfc, 0x20, 0x07, 0x2d, 0x2d, 0x2d, 0xb3, 0x1a, 0xa3, 0x9d, 0xdd, 0x4c, 0x2b, 0xea, 0xc3,
0x53, 0xc4, 0x63, 0xf0, 0xf4, 0xc9, 0xb7, 0xe3, 0xb7, 0xb1, 0xdb, 0xdd, 0x92, 0x65, 0x75, 0xdd,
0xbf, 0xa9, 0xad, 0x7d, 0x0a, 0x57, 0xaf, 0x12, 0x46, 0x46, 0xdc, 0xb7, 0xe2, 0xf5, 0xe0, 0x37,
0xe1, 0xdd, 0xc7, 0x53, 0xca, 0x1b, 0x85, 0x89, 0x3e, 0x9f, 0x23, 0x4a, 0x5e, 0xab, 0xfc, 0xc1,
0xf2, 0x82, 0xe2, 0x0c, 0x27, 0x43, 0xe7, 0xe5, 0x3a, 0xb0, 0x39, 0x0a, 0x92, 0x31, 0x0e, 0xfb,
0xd2, 0x62, 0x58, 0x0a, 0x6a, 0x66, 0x48, 0x3a, 0x3a, 0xea, 0x79, 0x10, 0xf1, 0xee, 0x0c, 0x0d,
0x11, 0xae, 0x5c, 0x21, 0xd1, 0x24, 0xad, 0xad, 0xee, 0x77, 0x89, 0x4b, 0x79, 0xea, 0xd8, 0x9e,
0xd6, 0x39, 0x22, 0xb9, 0x19, 0xfe, 0xc8, 0x51, 0x09, 0x41, 0xc3, 0xdb, 0x41, 0x73, 0x9a, 0x41,
0xe6, 0xfc, 0xf9, 0xcf, 0x58, 0xea, 0x08, 0x97, 0x2f, 0x93, 0x68, 0x8c, 0xda, 0x6a, 0x56, 0xf4,
0xa3, 0x3e, 0xf8, 0xfe, 0x2b, 0xb5, 0x38, 0x00, 0x6f, 0x6d, 0x9e, 0x56, 0xf6, 0xdf, 0x39, 0xaf,
0xc8, 0x9a, 0x19, 0x02, 0x67, 0xff, 0x4f, 0x38, 0xf2, 0x4e, 0xf2, 0xbc, 0x22, 0xbb, 0x3d, 0x5b,
0x04, 0xb4, 0xd9, 0xd4, 0x68, 0xfc, 0x44, 0x89, 0xbf, 0x0e, 0x11, 0x8e, 0x6c, 0xdf, 0x24, 0x9e,
0xfb, 0xc6, 0xf2, 0x04, 0x1c, 0xc7, 0x84, 0x44, 0x66, 0x8d, 0x47, 0xd1, 0xe0, 0x1e, 0x25, 0xa4,
0xd7, 0x62, 0xd1, 0x64, 0x5e, 0x3d, 0xaf, 0xe8, 0xf4, 0xe9, 0x4c, 0xf6, 0xc2, 0xbe, 0xc7, 0xe6,
0xbf, 0x16, 0xeb, 0x7c, 0x5f, 0xa3, 0x39, 0x08, 0x85, 0x59, 0xb1, 0xb8, 0xb1, 0x47, 0x21, 0xc6,
0x87, 0x33, 0x15, 0x3d, 0x4c, 0x52, 0xc3, 0x48, 0x9d, 0x21, 0x7a, 0x31, 0x5c, 0x69, 0x35, 0xe8,
0x14, 0x75, 0x9c, 0x97, 0x22, 0xbc, 0xc6, 0x2d, 0xa9, 0xcf, 0x23, 0x2f, 0x2b, 0x09, 0x7b, 0x5f,
0x4d, 0x60, 0x69, 0xaa, 0xf7, 0xd8, 0x10, 0x7c, 0x9e, 0xaf, 0xf3, 0x7d, 0x3b, 0x5e, 0x8e, 0xc6,
0xc6, 0x67, 0xbc, 0x46, 0xe5, 0x18, 0xc9, 0x11, 0xca, 0x2f, 0xfe, 0xf9, 0x7c, 0xa8, 0x1e, 0xab,
0xeb, 0x66, 0x53, 0x54, 0x54, 0x04, 0x3f, 0x3f, 0xbf, 0x5f, 0x16, 0xfc, 0x1e, 0xad, 0x0f, 0x56,
0xe6, 0x25, 0x84, 0x29, 0x4b, 0x39, 0x3a, 0x8d, 0xf7, 0xd8, 0x1b, 0x9b, 0x13, 0xb1, 0xff, 0xad,
0x74, 0xe4, 0x32, 0xec, 0x76, 0xbb, 0xc7, 0xe0, 0x7c, 0x9e, 0xaf, 0xf3, 0x7d, 0x59, 0x29, 0xf1,
0x88, 0x0e, 0x5a, 0xe1, 0x94, 0x63, 0xc4, 0x85, 0x28, 0x0f, 0x7a, 0x14, 0xc9, 0x35, 0xba, 0xf7,
0x3e, 0xa1, 0x74, 0x6b, 0x30, 0x7e, 0xb3, 0xac, 0x98, 0xb7, 0x46, 0x32, 0x7c, 0x5e, 0xae, 0x51,
0x2f, 0xdb, 0x5f, 0xc6, 0x9e, 0x73, 0x1d, 0x20, 0x31, 0xce, 0x8d, 0x53, 0x38, 0x1e, 0x29, 0x2a,
0x37, 0x04, 0xa1, 0xbf, 0xbb, 0x0d, 0x85, 0xdb, 0x12, 0x97, 0x24, 0x2a, 0x7c, 0x73, 0x83, 0x78,
0xee, 0xdb, 0xad, 0x81, 0x8b, 0x13, 0x5d, 0xcc, 0x5e, 0x85, 0x42, 0xcb, 0x16, 0x7c, 0xf9, 0xba,
0x76, 0x49, 0x22, 0xab, 0xe9, 0x39, 0x7c, 0xbc, 0x7b, 0x0b, 0xba, 0xb7, 0xaf, 0x7c, 0xb4, 0x68,
0xc3, 0xd3, 0xaa, 0xe6, 0xbc, 0x04, 0xc5, 0xcf, 0x9c, 0x9d, 0xb1, 0xaa, 0x89, 0x82, 0xd4, 0x50,
0x7c, 0x9a, 0xa1, 0x45, 0xce, 0xc6, 0xb5, 0xa8, 0xaa, 0xaa, 0xf2, 0x28, 0xe2, 0xf3, 0x7c, 0x9d,
0xef, 0x3b, 0xa4, 0x0f, 0xc6, 0xbb, 0xb1, 0x2a, 0x97, 0x1c, 0x63, 0x53, 0x84, 0xaa, 0x69, 0xd9,
0x5f, 0xd8, 0xff, 0xa4, 0xeb, 0xfe, 0x37, 0x91, 0xd9, 0x6c, 0x86, 0x24, 0x49, 0x8b, 0xc6, 0x68,
0x34, 0x2e, 0x5d, 0xa4, 0x56, 0xab, 0x3f, 0xf2, 0xf7, 0xf7, 0x77, 0x2c, 0x15, 0x76, 0xc0, 0xfd,
0x0b, 0x89, 0xfe, 0x06, 0x96, 0xd4, 0xa6, 0x96, 0xc0, 0xb7, 0x34, 0x80, 0x00, 0x00, 0x00, 0x00,
0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82,
};
const BITMAP_OPAQUE new_module_xpm[1] = {{ png, sizeof( png ), "new_module_xpm" }};
//EOF
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
height="48"
width="48"
version="1.1"
viewBox="0 0 48 48"
id="svg2"
inkscape:version="0.48.1 "
sodipodi:docname="new_module.svg">
<metadata
id="metadata69">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1280"
inkscape:window-height="968"
id="namedview67"
showgrid="false"
inkscape:zoom="14.880258"
inkscape:cx="25.035303"
inkscape:cy="22.670012"
inkscape:window-x="0"
inkscape:window-y="25"
inkscape:window-maximized="1"
inkscape:current-layer="svg2" />
<defs
id="defs4">
<radialGradient
id="a"
gradientUnits="userSpaceOnUse"
cy="115.71"
cx="63.912"
gradientTransform="matrix(1.0014 0 0 .081174 28.49 150.31)"
r="63.912">
<stop
offset="0"
id="stop7" />
<stop
stop-opacity="0"
offset="1"
id="stop9" />
</radialGradient>
</defs>
<g
transform="matrix(0,-2.848,2.44,0,1.8736,51.304)"
id="g11">
<rect
fill-opacity="0"
height="16"
width="16"
y="0"
x="0"
id="rect13" />
</g>
<g
id="g19"
style="stroke-linejoin:round;stroke:#000000;stroke-opacity:1;stroke-width:0.73196075999999999;stroke-miterlimit:4;stroke-dasharray:none;fill:#c8c8c8;fill-opacity:1"
transform="matrix(0,-2.9006493,2.5738852,0,1.9299993,-6.0340112)">
<rect
transform="matrix(0,1,-1,0,0,0)"
height="14.619"
width="9.7086"
y="3.4905"
x="1.904"
id="rect21"
style="fill:#c8c8c8;stroke:#000000;stroke-width:0.73196075999999999;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;fill-opacity:1" />
<path
d="m 693.26,625.06 a 18.91409,18.91409 0 0 1 -37.828,0.11702"
transform="matrix(0,0.071482,-0.071482,0,41.168,-41.24)"
id="path23"
inkscape:connector-curvature="0"
style="fill:#c8c8c8;stroke:#000000;stroke-width:10.23979123000000000;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;fill-opacity:1" />
</g>
<g
transform="matrix(0,-2.9006493,2.5738852,0,1.5439165,-5.9252369)"
id="g25"
style="stroke:#030303;stroke-linejoin:round">
<rect
transform="matrix(0,1,-1,0,0,0)"
height="2.5109999"
width="4.7175999"
y="13.332"
x="-0.31959"
id="rect27"
style="fill:#ff7800;stroke-width:0.30000001" />
<rect
transform="matrix(0,1,-1,0,0,0)"
height="2.5109999"
width="4.7175999"
y="5.3635998"
x="-0.31959"
id="rect29"
style="fill:#ff7800;stroke-width:0.30000001" />
<path
d="m 654.65,737.28 a 9.5805,9.5805 0 1 1 -19.161,0 9.5805,9.5805 0 1 1 19.161,0 z"
transform="matrix(0,0.071482,-0.071482,0,46.083,-44.072)"
id="path31"
inkscape:connector-curvature="0"
style="fill:#ffede0;stroke-width:4.19689989" />
<rect
transform="matrix(0,1,-1,0,0,0)"
height="2.5109999"
width="4.7175999"
y="9.3478003"
x="-0.31959"
id="rect33"
style="fill:#ff7800;stroke-width:0.30000001" />
<path
d="m 654.65,737.28 a 9.5805,9.5805 0 1 1 -19.161,0 9.5805,9.5805 0 1 1 19.161,0 z"
transform="matrix(0,0.071482,-0.071482,0,42.08,-44.072)"
id="path35"
inkscape:connector-curvature="0"
style="fill:#ffede0;stroke-width:4.19689989" />
<path
d="m 654.65,737.28 a 9.5805,9.5805 0 1 1 -19.161,0 9.5805,9.5805 0 1 1 19.161,0 z"
transform="matrix(0,0.071482,-0.071482,0,38.077,-44.072)"
id="path37"
inkscape:connector-curvature="0"
style="fill:#ffede0;stroke-width:4.19689989" />
</g>
<g
transform="matrix(0,-2.9006493,2.5738852,0,26.706476,-5.9252369)"
id="g39">
<rect
transform="matrix(0,1,-1,0,0,0)"
height="2.5109999"
width="4.7175999"
y="13.332"
x="-0.31959"
id="rect41"
style="fill:#ff7800;stroke:#030303;stroke-width:0.30000001;stroke-linejoin:round" />
<rect
transform="matrix(0,1,-1,0,0,0)"
height="2.5109999"
width="4.7175999"
y="5.3635998"
x="-0.31959"
id="rect43"
style="fill:#ff7800;stroke:#030303;stroke-width:0.30000001;stroke-linejoin:round" />
<path
d="m 654.65,737.28 a 9.5805,9.5805 0 1 1 -19.161,0 9.5805,9.5805 0 1 1 19.161,0 z"
transform="matrix(0,0.071482,-0.071482,0,46.083,-44.072)"
id="path45"
inkscape:connector-curvature="0"
style="fill:#ffede0;stroke:#030303;stroke-width:4.19689989;stroke-linejoin:round" />
<rect
transform="matrix(0,1,-1,0,0,0)"
height="2.5109999"
width="4.7175999"
y="9.3478003"
x="-0.31959"
id="rect47"
style="fill:#ff7800;stroke:#030303;stroke-width:0.30000001;stroke-linejoin:round" />
<path
d="m 654.65,737.28 a 9.5805,9.5805 0 1 1 -19.161,0 9.5805,9.5805 0 1 1 19.161,0 z"
transform="matrix(0,0.071482,-0.071482,0,42.08,-44.072)"
id="path49"
inkscape:connector-curvature="0"
style="fill:#ffede0;stroke:#030303;stroke-width:4.19689989;stroke-linejoin:round" />
<g
id="g51"
style="stroke-width:0.30000001">
<path
d="m 654.65,737.28 a 9.5805,9.5805 0 1 1 -19.161,0 9.5805,9.5805 0 1 1 19.161,0 z"
transform="matrix(0,0.071482,-0.071482,0,38.077,-44.072)"
id="path53"
inkscape:connector-curvature="0"
style="fill:#ffede0;stroke:#030303;stroke-width:4.19689989;stroke-linejoin:round" />
</g>
</g>
<g
transform="matrix(4.7410975,0,0,4.2308951,-23.78118,26.886588)"
id="g59"
style="opacity:1">
<path
d="M 12,5.5 9.4826,4.1505 6.9438,5.4592 7.4494,2.648 5.4202,0.6379 8.25,0.25 9.5347,-2.301 10.778,0.2704 13.601,0.70392 11.54,2.68102 z"
transform="matrix(0.86499,0,0,0.86499,3.3638,-4.5167)"
id="path61"
style="fill:#afaf00"
inkscape:connector-curvature="0" />
<path
d="M 12,5.5 9.4826,4.1505 6.9438,5.4592 7.4494,2.648 5.4202,0.6379 8.25,0.25 9.5347,-2.301 10.778,0.2704 13.601,0.70392 11.54,2.68102 z"
transform="matrix(0.61624,0,0,0.61624,5.7296,-4.1188)"
id="path63"
style="fill:#ebeb00"
inkscape:connector-curvature="0" />
<path
d="M 12,5.5 9.4826,4.1505 6.9438,5.4592 7.4494,2.648 5.4202,0.6379 8.25,0.25 9.5347,-2.301 10.778,0.2704 13.601,0.70392 11.54,2.68102 z"
transform="matrix(0.3815,0,0,0.3815,7.9622,-3.7434)"
id="path65"
style="fill:#ffff00"
inkscape:connector-curvature="0" />
</g>
</svg>
/* /*
* This program source code file is part of KiCad, a free EDA CAD application. * This program source code file is part of KiCad, a free EDA CAD application.
* *
* Copyright (C) 2004 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com * Copyright (C) 2004 Jean-Pierre Charras, jean-pierre.charras@gipsa-lab.inpg.fr
* Copyright (C) 2008-2011 Wayne Stambaugh <stambaughw@verizon.net> * Copyright (C) 2008-2011 Wayne Stambaugh <stambaughw@verizon.net>
* Copyright (C) 2004-2011 KiCad Developers, see change_log.txt for contributors. * Copyright (C) 2004-2011 KiCad Developers, see change_log.txt for contributors.
* *
...@@ -113,12 +113,6 @@ EDA_DRAW_FRAME::EDA_DRAW_FRAME( wxWindow* father, int idtype, const wxString& ti ...@@ -113,12 +113,6 @@ EDA_DRAW_FRAME::EDA_DRAW_FRAME( wxWindow* father, int idtype, const wxString& ti
minsize.x = 470; minsize.x = 470;
minsize.y = 350 + m_MsgFrameHeight; minsize.y = 350 + m_MsgFrameHeight;
SetSizeHints( minsize.x, minsize.y, -1, -1, -1, -1 );
// Make sure window has a sane minimum size.
if( ( size.x < minsize.x ) || ( size.y < minsize.y ) )
SetSize( 0, 0, minsize.x, minsize.y );
// Pane sizes for status bar. // Pane sizes for status bar.
// @todo these should be sized based on typical text content, like // @todo these should be sized based on typical text content, like
// "dx -10.123 -10.123 dy -10.123 -10.123" using the system font which is // "dx -10.123 -10.123 dy -10.123 -10.123" using the system font which is
......
/* /*
* This program source code file is part of KiCad, a free EDA CAD application. * This program source code file is part of KiCad, a free EDA CAD application.
* *
* Copyright (C) 2004 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com * Copyright (C) 2004 Jean-Pierre Charras, jean-pierre.charras@gipsa-lab.inpg.fr
* Copyright (C) 2004-2011 KiCad Developers, see change_log.txt for contributors. * Copyright (C) 2004-2011 KiCad Developers, see change_log.txt for contributors.
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
...@@ -107,7 +107,7 @@ void SCH_EDIT_FRAME::BeginSegment( wxDC* DC, int type ) ...@@ -107,7 +107,7 @@ void SCH_EDIT_FRAME::BeginSegment( wxDC* DC, int type )
SCH_LINE* nextSegment; SCH_LINE* nextSegment;
wxPoint cursorpos = GetScreen()->GetCrossHairPosition(); wxPoint cursorpos = GetScreen()->GetCrossHairPosition();
// We should know id a segment is currently in progress // We should know if a segment is currently in progress
segment = (SCH_LINE*) GetScreen()->GetCurItem(); segment = (SCH_LINE*) GetScreen()->GetCurItem();
if( segment ) // a current item exists, but not necessary a currently edited item if( segment ) // a current item exists, but not necessary a currently edited item
{ {
...@@ -168,7 +168,7 @@ void SCH_EDIT_FRAME::BeginSegment( wxDC* DC, int type ) ...@@ -168,7 +168,7 @@ void SCH_EDIT_FRAME::BeginSegment( wxDC* DC, int type )
{ {
SCH_LINE* prevSegment = (SCH_LINE*) segment->Back(); SCH_LINE* prevSegment = (SCH_LINE*) segment->Back();
wxLogDebug( wxT( "Adding new segment after " ) + segment->GetSelectMenuText() ); wxLogDebug( wxT( "Adding new segment after " ) + prevSegment->GetSelectMenuText() );
if( !g_HVLines ) if( !g_HVLines )
{ {
...@@ -241,6 +241,7 @@ void SCH_EDIT_FRAME::EndSegment( wxDC* DC ) ...@@ -241,6 +241,7 @@ void SCH_EDIT_FRAME::EndSegment( wxDC* DC )
item = s_wires.begin(); item = s_wires.begin();
else else
item = previousSegment; item = previousSegment;
wxLogDebug( wxT( "Segment count after removal: %d" ), s_wires.GetCount() );
} }
item = item->Next(); item = item->Next();
......
...@@ -285,6 +285,21 @@ void SCH_LINE::Rotate( wxPoint aPosition ) ...@@ -285,6 +285,21 @@ void SCH_LINE::Rotate( wxPoint aPosition )
} }
/*
* helper sort function, used by MergeOverlap
* sorts ref and test by x values, or (for same x values) by y values
*/
bool sort_by_ends_position(const wxPoint * ref, const wxPoint * tst )
{
if( ref->x == tst->x )
return ref->y < tst->y;
return ref->x < tst->x;
}
/*
* MergeOverlap try to merge 2 lines that are colinear.
* this function expects these 2 lines have at least a common end
*/
bool SCH_LINE::MergeOverlap( SCH_LINE* aLine ) bool SCH_LINE::MergeOverlap( SCH_LINE* aLine )
{ {
wxCHECK_MSG( aLine != NULL && aLine->Type() == SCH_LINE_T, false, wxCHECK_MSG( aLine != NULL && aLine->Type() == SCH_LINE_T, false,
...@@ -293,19 +308,16 @@ bool SCH_LINE::MergeOverlap( SCH_LINE* aLine ) ...@@ -293,19 +308,16 @@ bool SCH_LINE::MergeOverlap( SCH_LINE* aLine )
if( this == aLine || GetLayer() != aLine->GetLayer() ) if( this == aLine || GetLayer() != aLine->GetLayer() )
return false; return false;
// Search for a common end, and modify coordinates to ensure RefSegm->m_end // Search for a common end:
// == TstSegm->m_start
if( m_start == aLine->m_start ) if( m_start == aLine->m_start )
{ {
if( m_end == aLine->m_end ) if( m_end == aLine->m_end ) // Trivial case
return true; return true;
EXCHG( m_start, m_end );
} }
else if( m_start == aLine->m_end ) else if( m_start == aLine->m_end )
{ {
EXCHG( m_start, m_end ); if( m_end == aLine->m_start ) // Trivial case
EXCHG( aLine->m_start, aLine->m_end ); return true;
} }
else if( m_end == aLine->m_end ) else if( m_end == aLine->m_end )
{ {
...@@ -317,21 +329,21 @@ bool SCH_LINE::MergeOverlap( SCH_LINE* aLine ) ...@@ -317,21 +329,21 @@ bool SCH_LINE::MergeOverlap( SCH_LINE* aLine )
return false; return false;
} }
bool colinear = false;
/* Test alignment: */ /* Test alignment: */
if( m_start.y == m_end.y ) // Horizontal segment if( m_start.y == m_end.y ) // Horizontal segment
{ {
if( aLine->m_start.y == aLine->m_end.y ) if( aLine->m_start.y == aLine->m_end.y )
{ {
m_end = aLine->m_end; colinear = true;
return true;
} }
} }
else if( m_start.x == m_end.x ) // Vertical segment else if( m_start.x == m_end.x ) // Vertical segment
{ {
if( aLine->m_start.x == aLine->m_end.x ) if( aLine->m_start.x == aLine->m_end.x )
{ {
m_end = aLine->m_end; colinear = true;
return true;
} }
} }
else else
...@@ -340,11 +352,28 @@ bool SCH_LINE::MergeOverlap( SCH_LINE* aLine ) ...@@ -340,11 +352,28 @@ bool SCH_LINE::MergeOverlap( SCH_LINE* aLine )
== atan2( (double) ( aLine->m_start.x - aLine->m_end.x ), == atan2( (double) ( aLine->m_start.x - aLine->m_end.x ),
(double) ( aLine->m_start.y - aLine->m_end.y ) ) ) (double) ( aLine->m_start.y - aLine->m_end.y ) ) )
{ {
m_end = aLine->m_end; colinear = true;
return true;
} }
} }
// Make a segment which merge the 2 segments
// we must find the extremums
// i.e. the more to the left and to the right points, or
// for horizontal segments the uppermost and the lowest point
if( colinear )
{
static std::vector <wxPoint*> candidates;
candidates.clear();
candidates.push_back( &m_start );
candidates.push_back( &m_end );
candidates.push_back( &aLine->m_start );
candidates.push_back( &aLine->m_end );
sort( candidates.begin(), candidates.end(), sort_by_ends_position );
wxPoint tmp = *candidates[3];
m_start = *candidates[0];
m_end = tmp;
return true;
}
return false; return false;
} }
......
...@@ -455,7 +455,7 @@ void SCH_EDIT_FRAME::OnCancelCurrentCommand( wxCommandEvent& aEvent ) ...@@ -455,7 +455,7 @@ void SCH_EDIT_FRAME::OnCancelCurrentCommand( wxCommandEvent& aEvent )
void SCH_EDIT_FRAME::OnSelectTool( wxCommandEvent& aEvent ) void SCH_EDIT_FRAME::OnSelectTool( wxCommandEvent& aEvent )
{ {
id_eeschema_frm id = (id_eeschema_frm) aEvent.GetId(); int id = aEvent.GetId();
// Stop the current command and deselect the current tool. // Stop the current command and deselect the current tool.
m_canvas->EndMouseCapture( ID_NO_TOOL_SELECTED, m_canvas->GetDefaultCursor() ); m_canvas->EndMouseCapture( ID_NO_TOOL_SELECTED, m_canvas->GetDefaultCursor() );
......
...@@ -334,7 +334,6 @@ EXTERN_BITMAP( new_cvpcb_xpm ) ...@@ -334,7 +334,6 @@ EXTERN_BITMAP( new_cvpcb_xpm )
EXTERN_BITMAP( new_footprint_xpm ) EXTERN_BITMAP( new_footprint_xpm )
EXTERN_BITMAP( new_gerb_xpm ) EXTERN_BITMAP( new_gerb_xpm )
EXTERN_BITMAP( new_library_xpm ) EXTERN_BITMAP( new_library_xpm )
EXTERN_BITMAP( new_module_xpm )
EXTERN_BITMAP( new_pcb_xpm ) EXTERN_BITMAP( new_pcb_xpm )
EXTERN_BITMAP( new_project_xpm ) EXTERN_BITMAP( new_project_xpm )
EXTERN_BITMAP( new_python_xpm ) EXTERN_BITMAP( new_python_xpm )
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment