merge in mainline into KICAD_PLUGIN work, which is for the PCBNEW nanometer support
This commit is contained in:
commit
dd091fc6b9
|
@ -49,13 +49,20 @@ int S3D_MASTER::ReadData()
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if( wxFileName::FileExists( m_Shape3DName ) )
|
wxString shape3DNname = m_Shape3DName;
|
||||||
|
#ifdef __WINDOWS__
|
||||||
|
shape3DNname.Replace( wxT("/"), wxT("\\") );
|
||||||
|
#else
|
||||||
|
shape3DNname.Replace( wxT("\\"), wxT("/") );
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if( wxFileName::FileExists( shape3DNname ) )
|
||||||
{
|
{
|
||||||
FullFilename = m_Shape3DName;
|
FullFilename = shape3DNname;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
fn = m_Shape3DName;
|
fn = shape3DNname;
|
||||||
FullFilename = wxGetApp().FindLibraryPath( fn );
|
FullFilename = wxGetApp().FindLibraryPath( fn );
|
||||||
|
|
||||||
if( FullFilename.IsEmpty() )
|
if( FullFilename.IsEmpty() )
|
||||||
|
|
|
@ -8,71 +8,99 @@
|
||||||
static const unsigned char png[] = {
|
static const unsigned char png[] = {
|
||||||
0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52,
|
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,
|
0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x1a, 0x08, 0x06, 0x00, 0x00, 0x00, 0xa9, 0x4a, 0x4c,
|
||||||
0xce, 0x00, 0x00, 0x03, 0xeb, 0x49, 0x44, 0x41, 0x54, 0x48, 0xc7, 0xdd, 0x96, 0x7d, 0x48, 0x55,
|
0xce, 0x00, 0x00, 0x05, 0xb3, 0x49, 0x44, 0x41, 0x54, 0x48, 0xc7, 0x95, 0x95, 0x0b, 0x50, 0x94,
|
||||||
0x67, 0x1c, 0xc7, 0xd5, 0xab, 0x76, 0xaf, 0xca, 0xe5, 0xaa, 0x88, 0x77, 0xd0, 0x1d, 0x8d, 0xa9,
|
0x55, 0x18, 0x86, 0x77, 0x17, 0x84, 0x00, 0x05, 0x86, 0x11, 0x46, 0x45, 0x26, 0x6a, 0x61, 0x59,
|
||||||
0xac, 0x92, 0xa6, 0x8c, 0x5d, 0xdc, 0x44, 0x41, 0x26, 0x75, 0xb9, 0x21, 0x16, 0x5e, 0xf7, 0x67,
|
0xd9, 0x25, 0x04, 0x1a, 0x64, 0x42, 0x44, 0x86, 0xb4, 0x30, 0x11, 0xd1, 0x40, 0x31, 0x40, 0x12,
|
||||||
0x98, 0x25, 0xe6, 0x40, 0x8d, 0x88, 0xad, 0xfd, 0xd3, 0x36, 0x9a, 0xd0, 0x98, 0x8a, 0xe4, 0x0b,
|
0x52, 0x23, 0x44, 0x62, 0x17, 0xc5, 0x40, 0xd4, 0x48, 0x97, 0x55, 0x76, 0x81, 0xcd, 0x40, 0x2e,
|
||||||
0xf8, 0x72, 0xaf, 0xfe, 0x21, 0xb1, 0xc9, 0xfe, 0x18, 0x23, 0x29, 0x8a, 0xcd, 0x4c, 0x88, 0xb2,
|
0x11, 0xc1, 0xb8, 0x6d, 0xca, 0xa0, 0x0d, 0x59, 0x69, 0x84, 0x66, 0x52, 0x22, 0x9a, 0x78, 0x49,
|
||||||
0xa8, 0x90, 0x5e, 0xb4, 0xae, 0x7a, 0xb2, 0xd9, 0xbc, 0x29, 0x66, 0x4e, 0x26, 0xb1, 0xdc, 0x77,
|
0x40, 0x50, 0x14, 0x51, 0x2e, 0x81, 0x72, 0x19, 0xc0, 0xfb, 0xdb, 0x39, 0xff, 0x5e, 0x00, 0x05,
|
||||||
0xdf, 0xdf, 0xf1, 0x39, 0xe9, 0xa2, 0x7b, 0x77, 0x61, 0xb0, 0xa0, 0x03, 0x1f, 0xce, 0xf3, 0x72,
|
0xa5, 0x7f, 0xe6, 0x9d, 0xf3, 0x9f, 0xf7, 0x9c, 0xfd, 0x9e, 0xb3, 0xdf, 0xf9, 0xce, 0xf9, 0x59,
|
||||||
0xce, 0xef, 0x73, 0x9e, 0xe7, 0xf9, 0x3d, 0xe7, 0x9c, 0x08, 0x00, 0x11, 0xff, 0x07, 0x11, 0xaf,
|
0x00, 0x58, 0xe4, 0x89, 0x27, 0x5a, 0x4e, 0xdf, 0xc7, 0x52, 0x41, 0x41, 0x81, 0x7b, 0x7e, 0x7e,
|
||||||
0x44, 0xc4, 0x23, 0x8d, 0xa4, 0x87, 0xba, 0xa1, 0xb3, 0xb3, 0xb3, 0xcd, 0xeb, 0xf5, 0x6e, 0x6f,
|
0xfe, 0xfd, 0xbc, 0xbc, 0x3c, 0x1e, 0x79, 0x17, 0x93, 0xf7, 0x76, 0xea, 0x93, 0xf6, 0x00, 0xf5,
|
||||||
0x6f, 0x6f, 0x7f, 0x93, 0xe5, 0x1e, 0x9e, 0xdf, 0x66, 0xbd, 0x40, 0xca, 0x42, 0x47, 0x47, 0xc7,
|
0x35, 0x63, 0xfb, 0xb6, 0x6f, 0xdf, 0xce, 0x19, 0x2f, 0x06, 0x4b, 0x03, 0xca, 0x24, 0x82, 0x99,
|
||||||
0xa1, 0x70, 0x44, 0x2e, 0xf2, 0x34, 0x21, 0x21, 0xa1, 0x89, 0x67, 0x4b, 0x10, 0xd1, 0x02, 0x39,
|
0x99, 0x59, 0x0d, 0x69, 0xed, 0x9e, 0x9d, 0x44, 0x02, 0x79, 0x10, 0x21, 0x37, 0x37, 0x97, 0x4f,
|
||||||
0xc8, 0x80, 0x59, 0x3c, 0x83, 0xe4, 0xac, 0x17, 0x11, 0x3f, 0xfb, 0xbe, 0x09, 0x47, 0x84, 0xc8,
|
0xda, 0x44, 0xa2, 0x1e, 0xcd, 0x02, 0x5c, 0x88, 0xde, 0xa5, 0x22, 0xde, 0x5d, 0xd2, 0xc6, 0xbc,
|
||||||
0xc8, 0x48, 0x50, 0xb6, 0x60, 0xb1, 0x58, 0x4a, 0xc2, 0x11, 0x35, 0x36, 0x36, 0x5a, 0xba, 0xbb,
|
0x14, 0x44, 0x20, 0xb0, 0xb6, 0xb6, 0x86, 0x9e, 0x9e, 0xde, 0x13, 0x53, 0x53, 0x53, 0x0a, 0x36,
|
||||||
0xbb, 0xed, 0x02, 0xeb, 0xdf, 0xb3, 0xef, 0x97, 0xb0, 0x44, 0x67, 0xcf, 0x9e, 0x43, 0x51, 0x51,
|
0x9a, 0x00, 0xc8, 0x9f, 0xbc, 0xc7, 0x69, 0xd4, 0x47, 0xfa, 0x61, 0x2f, 0x05, 0xf1, 0xf9, 0x7c,
|
||||||
0xb1, 0x34, 0xc0, 0x66, 0xb3, 0x5d, 0xe6, 0xf9, 0xad, 0x50, 0x22, 0x96, 0x0f, 0xa8, 0xb2, 0x30,
|
0xf4, 0xf6, 0x0e, 0x20, 0x39, 0x79, 0x1b, 0x8c, 0x8d, 0x8d, 0xa9, 0xba, 0x0d, 0x0c, 0x0c, 0x96,
|
||||||
0x23, 0x7d, 0x61, 0x89, 0xfc, 0x7e, 0x0d, 0xcb, 0xcb, 0x40, 0x7f, 0xff, 0xcf, 0xc8, 0xcc, 0x7c,
|
0x6a, 0x40, 0x6e, 0x14, 0x44, 0x02, 0x2d, 0x25, 0x6d, 0x16, 0x51, 0xa7, 0xc6, 0x3f, 0x4c, 0x01,
|
||||||
0x17, 0xd1, 0xd1, 0xd1, 0xcf, 0x28, 0xac, 0x67, 0xdf, 0x06, 0x06, 0xf9, 0x96, 0xc1, 0x02, 0x5d,
|
0x24, 0x6d, 0xb5, 0x14, 0x36, 0x1e, 0xe4, 0x39, 0xd0, 0x83, 0x07, 0xc0, 0xc0, 0x00, 0x50, 0x5f,
|
||||||
0x5d, 0x5d, 0x93, 0x64, 0xa8, 0xb7, 0xb7, 0xd7, 0x6a, 0x88, 0xb8, 0x5e, 0xef, 0xb0, 0x2d, 0x29,
|
0xdf, 0x8a, 0x95, 0x2b, 0xc3, 0xc1, 0x66, 0xb3, 0x61, 0x6e, 0x6e, 0x5e, 0x45, 0xc6, 0x6d, 0x49,
|
||||||
0xe4, 0x1a, 0xf1, 0xd8, 0x47, 0x4e, 0x88, 0xe8, 0xee, 0x5d, 0x0d, 0x4b, 0x4b, 0xc0, 0x93, 0x27,
|
0xb0, 0xcd, 0x14, 0x46, 0xd4, 0x4d, 0xfe, 0xd9, 0xdc, 0x11, 0xa0, 0x5f, 0x5e, 0x04, 0xd0, 0x81,
|
||||||
0xc0, 0xdc, 0xdc, 0x0a, 0x1a, 0x1a, 0x3a, 0x90, 0x92, 0x92, 0x8a, 0xf8, 0xf8, 0xf8, 0xb9, 0xb8,
|
0xc8, 0xd3, 0x4e, 0x54, 0xe9, 0xe0, 0xc0, 0xc7, 0xe0, 0x20, 0xd0, 0xd7, 0x07, 0xdc, 0xbb, 0x07,
|
||||||
0xb8, 0xb8, 0x9d, 0x0c, 0xbc, 0x9b, 0x01, 0xf7, 0x73, 0xaa, 0xcc, 0x72, 0xaf, 0xcf, 0xe7, 0xdb,
|
0x74, 0x75, 0x01, 0x47, 0x8f, 0xd6, 0xc0, 0xdd, 0x7d, 0x2e, 0xf4, 0xf5, 0xf5, 0x1f, 0x93, 0xd4,
|
||||||
0x22, 0xb2, 0xb0, 0xb2, 0xce, 0xe1, 0x70, 0xb4, 0xd8, 0xed, 0xf6, 0x01, 0x11, 0xdd, 0xb9, 0xa3,
|
0x4a, 0x37, 0x6c, 0xd8, 0x60, 0x29, 0x97, 0xcb, 0x75, 0x29, 0x2d, 0x2e, 0x2e, 0x36, 0xa1, 0x9a,
|
||||||
0x61, 0x71, 0x11, 0x98, 0x9f, 0x07, 0x66, 0x67, 0x81, 0x99, 0x19, 0x60, 0x74, 0x74, 0x11, 0x55,
|
0x10, 0x28, 0x28, 0x28, 0xa8, 0xd2, 0xd1, 0xd1, 0xb1, 0x99, 0x82, 0xfa, 0xfb, 0x81, 0x9e, 0x1e,
|
||||||
0x55, 0x9f, 0x21, 0x36, 0x76, 0x03, 0x12, 0x13, 0x13, 0x2f, 0xf0, 0x3a, 0x87, 0x7a, 0xc0, 0x28,
|
0x35, 0xa4, 0xa3, 0x03, 0xb8, 0x73, 0x07, 0x68, 0x69, 0x01, 0xb2, 0xb3, 0x0f, 0x62, 0xe6, 0xcc,
|
||||||
0xe2, 0x94, 0xd1, 0x86, 0x25, 0xe2, 0x13, 0x79, 0x6b, 0x6a, 0x6a, 0x96, 0x44, 0x74, 0xeb, 0x96,
|
0xd7, 0x60, 0x62, 0x62, 0xd2, 0x49, 0xf6, 0xd0, 0x8f, 0x2c, 0xcc, 0x90, 0x68, 0x05, 0xd1, 0x1e,
|
||||||
0x86, 0xc7, 0x8f, 0xd7, 0x24, 0xd3, 0xd3, 0xc0, 0xfd, 0xfb, 0xc0, 0xc4, 0x04, 0x30, 0x30, 0x30,
|
0x22, 0xd7, 0x09, 0x81, 0x48, 0x4a, 0xe4, 0x2e, 0x2e, 0x2e, 0x17, 0x79, 0x3c, 0x3e, 0x03, 0xe9,
|
||||||
0x81, 0x1d, 0x3b, 0x3c, 0x32, 0x9d, 0x7f, 0x32, 0x59, 0xbe, 0xe3, 0xf5, 0x53, 0x51, 0x51, 0x51,
|
0xee, 0x1e, 0x86, 0xdc, 0xba, 0x05, 0xdc, 0xb8, 0x01, 0x34, 0x35, 0x01, 0x97, 0x2e, 0xdd, 0x87,
|
||||||
0x62, 0x9c, 0x27, 0xd5, 0xe1, 0xee, 0x23, 0x7d, 0x8d, 0x46, 0x46, 0x34, 0x4e, 0x19, 0x10, 0x08,
|
0x48, 0x24, 0xc5, 0xe4, 0xc9, 0xa6, 0xe0, 0x70, 0x38, 0xfd, 0x33, 0x66, 0xcc, 0xc0, 0xc2, 0x85,
|
||||||
0xac, 0x4a, 0xa6, 0xa6, 0x80, 0xc9, 0x49, 0xe0, 0xde, 0x3d, 0x19, 0x19, 0xf8, 0x20, 0x80, 0xd7,
|
0xef, 0x61, 0xd2, 0x24, 0x03, 0x58, 0x58, 0x58, 0xa4, 0xbc, 0x14, 0xa4, 0xdd, 0x23, 0x0a, 0xa2,
|
||||||
0x7b, 0x9e, 0xa3, 0x33, 0xa3, 0xac, 0x6c, 0x3f, 0xd7, 0xf4, 0x77, 0x1c, 0x39, 0xd2, 0x80, 0x98,
|
0x90, 0x4e, 0xb2, 0xcd, 0x6d, 0x6d, 0xc3, 0x90, 0x6b, 0xd7, 0x80, 0x86, 0x06, 0xe0, 0xca, 0x15,
|
||||||
0x98, 0x98, 0x95, 0xec, 0xec, 0xec, 0x7e, 0xc6, 0x38, 0xa8, 0x48, 0x0c, 0x29, 0xba, 0x7e, 0x5d,
|
0x0a, 0x03, 0x24, 0x92, 0xfd, 0x14, 0x84, 0x0b, 0x17, 0x5a, 0x70, 0xfd, 0x3a, 0x10, 0x13, 0xf3,
|
||||||
0xd3, 0x25, 0x0f, 0x1f, 0xae, 0x49, 0xfc, 0x7e, 0x60, 0x6c, 0x6c, 0x55, 0x32, 0x32, 0x02, 0x0c,
|
0x05, 0x8c, 0x8c, 0x8c, 0x60, 0x69, 0x69, 0xd9, 0x41, 0xe2, 0x9c, 0x26, 0x3a, 0xf4, 0x42, 0x90,
|
||||||
0x0e, 0xce, 0x73, 0x54, 0xb1, 0x68, 0x6a, 0xea, 0xd1, 0xe5, 0x27, 0x4f, 0xde, 0xd0, 0xb3, 0x34,
|
0xbd, 0x3d, 0x5f, 0x07, 0x69, 0x6d, 0x05, 0x6e, 0xde, 0x54, 0x43, 0xae, 0x5e, 0x05, 0xea, 0xea,
|
||||||
0x39, 0x39, 0x19, 0x5c, 0xc7, 0xdf, 0x28, 0x9d, 0x28, 0x2e, 0x2e, 0x2e, 0xe4, 0xfa, 0xa5, 0x04,
|
0xd4, 0x90, 0xda, 0x5a, 0x20, 0x3e, 0x5e, 0x4e, 0x7f, 0x80, 0x9c, 0x9c, 0x32, 0x54, 0x57, 0x0f,
|
||||||
0x15, 0x5d, 0xbb, 0xa6, 0xe9, 0x92, 0x07, 0x0f, 0x00, 0x4d, 0x5b, 0x93, 0xdc, 0xbe, 0xbd, 0x2a,
|
0xc1, 0xc7, 0x27, 0x18, 0xd3, 0xa7, 0x4f, 0xc7, 0xb2, 0x65, 0xcb, 0x9e, 0xce, 0x9b, 0x37, 0xef,
|
||||||
0xf1, 0x7a, 0x07, 0xb1, 0x79, 0xf3, 0x7b, 0xe0, 0xd4, 0xc1, 0x6a, 0xb5, 0xc1, 0xed, 0xde, 0xc3,
|
0x9c, 0x8f, 0x8f, 0xcf, 0x89, 0xcc, 0xcc, 0xcc, 0x2f, 0x23, 0x23, 0x23, 0xdd, 0xc7, 0x05, 0xb5,
|
||||||
0x64, 0x71, 0x20, 0x23, 0x23, 0x43, 0x4f, 0x71, 0x26, 0xca, 0x53, 0x23, 0xdd, 0x59, 0x3e, 0xfe,
|
0xb7, 0x0f, 0x43, 0xe8, 0x6a, 0xb5, 0x90, 0xcb, 0x97, 0x01, 0xa5, 0xb2, 0x06, 0xce, 0xce, 0x9e,
|
||||||
0x62, 0xd6, 0x65, 0xcb, 0x1c, 0x8b, 0xe8, 0xca, 0x15, 0xed, 0xb9, 0x64, 0x7c, 0x1c, 0xcc, 0xc2,
|
0xf4, 0x50, 0x93, 0xd6, 0x99, 0x16, 0x08, 0x0c, 0x0d, 0x8d, 0x68, 0xda, 0x90, 0x90, 0x90, 0x40,
|
||||||
0x55, 0xc9, 0xe9, 0xd3, 0xe3, 0x28, 0x2c, 0x2c, 0x91, 0xf5, 0xe1, 0x3e, 0x2b, 0x42, 0x4b, 0x4b,
|
0xab, 0x11, 0x0a, 0x99, 0xb4, 0xab, 0x24, 0x7d, 0xd3, 0x63, 0xaa, 0xac, 0x20, 0xdb, 0x1e, 0x12,
|
||||||
0x0b, 0xaa, 0xab, 0xab, 0x91, 0x9b, 0x9b, 0x8b, 0xf2, 0xf2, 0x72, 0xb4, 0xb6, 0xb6, 0x1a, 0xc1,
|
0xf7, 0xd5, 0x91, 0x55, 0x97, 0x4f, 0x54, 0x66, 0x67, 0xc7, 0xc7, 0xed, 0xdb, 0xea, 0xcd, 0xa7,
|
||||||
0x77, 0x19, 0x1b, 0x98, 0x6d, 0x09, 0xff, 0x10, 0xf1, 0x6d, 0xf0, 0x03, 0x19, 0x16, 0xd1, 0xa5,
|
0x90, 0xc6, 0x46, 0x5a, 0xe6, 0x40, 0x65, 0x65, 0x2b, 0xfc, 0xfd, 0xc3, 0xe9, 0x41, 0x86, 0xaf,
|
||||||
0x4b, 0x9a, 0xbe, 0xf8, 0x86, 0x64, 0x78, 0x78, 0x81, 0x6b, 0x71, 0x98, 0x6b, 0x10, 0xcb, 0x7d,
|
0xaf, 0x2f, 0x14, 0x0a, 0x05, 0x13, 0x54, 0xb6, 0x7b, 0xd7, 0x7d, 0x91, 0x48, 0x44, 0x0f, 0x31,
|
||||||
0x95, 0x89, 0xba, 0xba, 0x3a, 0x63, 0x73, 0xce, 0x31, 0x89, 0x2a, 0x18, 0xb8, 0x92, 0xe5, 0xcb,
|
0x34, 0x65, 0x5f, 0x1d, 0x22, 0xe4, 0x28, 0x06, 0x44, 0x2c, 0xd4, 0x44, 0x19, 0xe1, 0x54, 0x18,
|
||||||
0xb2, 0xaf, 0x78, 0xde, 0x13, 0x32, 0x19, 0x78, 0xc1, 0x8f, 0xb5, 0xb5, 0xb5, 0xfa, 0x3c, 0x5f,
|
0xbb, 0x9f, 0x1e, 0x0b, 0x1d, 0xc8, 0xc6, 0xc6, 0xe6, 0xb8, 0x95, 0x95, 0xd5, 0x39, 0x0a, 0xa2,
|
||||||
0xbc, 0xa8, 0xe9, 0x19, 0x36, 0x3a, 0xfa, 0x0c, 0x47, 0x8f, 0xb6, 0x31, 0x9d, 0x53, 0x90, 0x94,
|
0x90, 0xe6, 0x66, 0x35, 0xa4, 0xb6, 0x76, 0x90, 0xe4, 0x7f, 0x07, 0xc9, 0xbf, 0x09, 0xb8, 0x5c,
|
||||||
0x94, 0xc4, 0xf4, 0xae, 0x32, 0x04, 0x7f, 0x91, 0xf6, 0x60, 0x9b, 0x33, 0xa4, 0x88, 0x37, 0x65,
|
0x2e, 0x52, 0x52, 0x52, 0x98, 0x80, 0x79, 0xb9, 0x39, 0x4f, 0xc5, 0x62, 0xf1, 0xc5, 0x8d, 0xde,
|
||||||
0xe6, 0xe5, 0xe5, 0x7d, 0x2a, 0xa2, 0xa1, 0x21, 0x0d, 0x3e, 0xdf, 0x19, 0xa4, 0xa5, 0x6d, 0x85,
|
0x53, 0x5b, 0xf7, 0x8a, 0x43, 0xf0, 0x4d, 0x4e, 0x26, 0xd2, 0xc2, 0xe6, 0x0c, 0x79, 0x7b, 0x7b,
|
||||||
0xc9, 0x64, 0x82, 0xcb, 0xe5, 0xd2, 0xa7, 0x49, 0x49, 0xae, 0xf2, 0x5a, 0xe7, 0x7f, 0xfd, 0x4c,
|
0x7f, 0xbf, 0xd4, 0xc5, 0xf2, 0x6a, 0xf6, 0x1a, 0x37, 0x9c, 0xad, 0xf8, 0x01, 0xe9, 0x4b, 0xac,
|
||||||
0xe8, 0xc9, 0x90, 0x95, 0x95, 0xa3, 0x8f, 0x2c, 0x3d, 0x3d, 0x1d, 0x05, 0x05, 0x05, 0xfa, 0x7a,
|
0x9e, 0xb8, 0xba, 0xba, 0x96, 0x7b, 0x79, 0x79, 0xa9, 0xdc, 0xdc, 0xdc, 0x4a, 0xe8, 0xa1, 0x6b,
|
||||||
0xb8, 0xdd, 0xee, 0xe5, 0xca, 0xca, 0xca, 0x63, 0xdc, 0x33, 0x9f, 0xb3, 0x2f, 0x87, 0xd8, 0xc9,
|
0x20, 0xb9, 0xed, 0xa3, 0x20, 0x35, 0xe4, 0x29, 0xd2, 0xd3, 0xf7, 0x63, 0xda, 0x34, 0x1b, 0x52,
|
||||||
0x97, 0x64, 0x23, 0x29, 0x54, 0xe5, 0x4f, 0x54, 0x1c, 0xb9, 0xe6, 0x6b, 0x72, 0x8c, 0x24, 0x07,
|
0x61, 0x93, 0x11, 0x11, 0x11, 0x01, 0x52, 0x99, 0x0c, 0x44, 0x99, 0x2e, 0x86, 0x32, 0x71, 0x09,
|
||||||
0x15, 0x59, 0xad, 0xd6, 0x95, 0x8a, 0x8a, 0x0a, 0xd4, 0xd7, 0xd7, 0xeb, 0x99, 0x94, 0x9a, 0x9a,
|
0xe8, 0xa3, 0x4a, 0x7a, 0x1f, 0xa7, 0x3f, 0xb6, 0x44, 0x69, 0x94, 0x3d, 0xbe, 0x8b, 0xb4, 0x67,
|
||||||
0x1a, 0x90, 0x76, 0x52, 0x42, 0x16, 0xd4, 0x1e, 0xc9, 0x52, 0x6d, 0x79, 0x64, 0xda, 0xe9, 0x74,
|
0xbc, 0xa2, 0x5d, 0xb1, 0xa8, 0xff, 0xc4, 0x04, 0xca, 0x28, 0x47, 0xfc, 0x16, 0x31, 0x85, 0xc4,
|
||||||
0xc2, 0x6c, 0x36, 0x1b, 0xf5, 0x53, 0xe4, 0x3c, 0xf9, 0x83, 0xd4, 0xbd, 0x4c, 0xf4, 0x11, 0x69,
|
0x6b, 0x66, 0x7c, 0x99, 0x4c, 0xd6, 0xae, 0xdb, 0x23, 0x2e, 0x97, 0x8f, 0xd2, 0xd2, 0xbf, 0x48,
|
||||||
0x6c, 0x6e, 0x6e, 0x0e, 0xc8, 0x34, 0x71, 0xa1, 0x6f, 0x90, 0x0f, 0xd9, 0x76, 0x48, 0x82, 0x91,
|
0xfe, 0xe7, 0x30, 0x37, 0x02, 0x59, 0x21, 0xb2, 0xb2, 0xb2, 0xd4, 0x69, 0xd9, 0x2b, 0x43, 0x4b,
|
||||||
0x38, 0x25, 0x92, 0xa4, 0xf9, 0x49, 0x89, 0x76, 0x7a, 0x3c, 0x1e, 0xc8, 0xc1, 0x29, 0x95, 0x7a,
|
0xea, 0x1b, 0x40, 0x22, 0x0b, 0x2a, 0xd1, 0xdb, 0x3a, 0x10, 0xed, 0x33, 0xde, 0x08, 0x90, 0xd6,
|
||||||
0x99, 0x8a, 0xb5, 0x89, 0xcc, 0x12, 0x4f, 0xd0, 0x4f, 0x39, 0x25, 0x63, 0xa4, 0xa6, 0xaf, 0xaf,
|
0x3b, 0xfd, 0xd1, 0x38, 0x20, 0x3d, 0x3d, 0x7d, 0x06, 0x60, 0x6b, 0x6b, 0x8b, 0xa4, 0xa4, 0x24,
|
||||||
0xcf, 0x24, 0xbb, 0x5b, 0xbd, 0x5e, 0xf6, 0xa9, 0x00, 0x6d, 0xa4, 0x67, 0xbd, 0xa8, 0xb4, 0xb4,
|
0x06, 0x90, 0xb2, 0x33, 0x03, 0xac, 0xd7, 0x83, 0x18, 0xb1, 0xb9, 0xc1, 0x30, 0x15, 0x84, 0x60,
|
||||||
0x54, 0x17, 0xf1, 0x03, 0xa8, 0x8b, 0xc8, 0x36, 0xa2, 0x91, 0x8f, 0x43, 0xfe, 0x33, 0x30, 0xff,
|
0x41, 0xb0, 0x08, 0xff, 0xde, 0xed, 0x43, 0xd5, 0xaf, 0xe5, 0x58, 0x1d, 0xb5, 0x91, 0x19, 0xcb,
|
||||||
0x6d, 0xeb, 0x46, 0xd9, 0x40, 0x6e, 0x12, 0xd3, 0x0b, 0xa3, 0x37, 0xa6, 0x2e, 0x9f, 0x3c, 0xca,
|
0x90, 0x4a, 0xf0, 0x6d, 0xd9, 0x09, 0xdd, 0x5c, 0x7d, 0xbb, 0x60, 0x98, 0x09, 0x43, 0x10, 0x97,
|
||||||
0xcf, 0xcf, 0x97, 0x37, 0x82, 0xd4, 0xdf, 0x27, 0xbf, 0x2a, 0xce, 0x90, 0xbd, 0xff, 0xfa, 0x73,
|
0x5a, 0x88, 0x07, 0x0f, 0x1f, 0x8d, 0x06, 0x91, 0xb3, 0xd1, 0x1b, 0x1a, 0x1a, 0xaa, 0x4b, 0x53,
|
||||||
0x22, 0xc1, 0xc9, 0x57, 0xe4, 0x83, 0x97, 0xf4, 0xbd, 0x41, 0x8e, 0xcb, 0x5b, 0x5c, 0x46, 0xa5,
|
0x5a, 0x5a, 0x5a, 0xc3, 0xea, 0xb5, 0x71, 0xcc, 0x0f, 0xe3, 0x52, 0x8b, 0x70, 0xe0, 0xc8, 0x9f,
|
||||||
0xca, 0xb5, 0xaa, 0xef, 0x0b, 0x55, 0x17, 0x5c, 0xaf, 0xee, 0x2f, 0xe8, 0xb5, 0x10, 0xfd, 0x0d,
|
0xd8, 0xf9, 0x55, 0x19, 0x8c, 0x05, 0xa1, 0x08, 0x5c, 0xbf, 0x87, 0x59, 0xe9, 0x3e, 0xe5, 0x31,
|
||||||
0x8e, 0x6c, 0x36, 0x10, 0x82, 0x7b, 0x72, 0x9e, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44,
|
0x66, 0xbc, 0xae, 0xa9, 0x55, 0x07, 0x92, 0x15, 0x94, 0x43, 0xf5, 0x63, 0x15, 0x42, 0xe3, 0x15,
|
||||||
0xae, 0x42, 0x60, 0x82,
|
0x4c, 0xff, 0xd0, 0xb1, 0x33, 0xa3, 0x40, 0x0b, 0xa2, 0xa3, 0xa3, 0x7d, 0x34, 0xd5, 0x73, 0x83,
|
||||||
|
0xde, 0xd2, 0x42, 0xa1, 0x50, 0x7c, 0xf4, 0xc4, 0x19, 0x66, 0x72, 0xc9, 0xa1, 0x93, 0xd0, 0x3e,
|
||||||
|
0x09, 0x92, 0x12, 0xc6, 0x6b, 0xeb, 0xbc, 0x37, 0x26, 0xe8, 0xef, 0x7f, 0xae, 0x33, 0xf3, 0x6e,
|
||||||
|
0xb5, 0x75, 0x31, 0xfd, 0xad, 0x72, 0xd5, 0x30, 0x88, 0xaa, 0xb0, 0xb0, 0xd0, 0x91, 0x40, 0x76,
|
||||||
|
0x92, 0x72, 0x35, 0xa6, 0x7d, 0x81, 0x40, 0x90, 0x90, 0x96, 0x91, 0xfb, 0x1c, 0x48, 0x1b, 0xf0,
|
||||||
|
0x8f, 0x9a, 0xba, 0x31, 0x41, 0xeb, 0x92, 0xf2, 0x20, 0x96, 0x14, 0xe3, 0xcd, 0x80, 0x44, 0xa6,
|
||||||
|
0xff, 0xf3, 0xef, 0xe7, 0x47, 0x83, 0x9e, 0x15, 0xf9, 0x6c, 0x6c, 0xc9, 0xc8, 0x2e, 0x7a, 0x0e,
|
||||||
|
0x94, 0xaf, 0xaa, 0x60, 0xbc, 0xea, 0xda, 0xc6, 0x31, 0x41, 0x3c, 0xdf, 0x58, 0x06, 0xe2, 0x1b,
|
||||||
|
0xfa, 0x39, 0x0a, 0x0f, 0x56, 0x8e, 0x2e, 0x86, 0xb1, 0x34, 0x32, 0x75, 0xb1, 0xb1, 0x9b, 0xa1,
|
||||||
|
0x92, 0x89, 0x19, 0x2d, 0x58, 0x1e, 0x03, 0x43, 0xfe, 0x2a, 0x94, 0x2b, 0x0b, 0x10, 0xb5, 0x66,
|
||||||
|
0x1d, 0x33, 0xbe, 0x3b, 0x65, 0x93, 0x0e, 0x94, 0xb6, 0x25, 0x96, 0x99, 0x57, 0x24, 0xf9, 0x94,
|
||||||
|
0x7c, 0x0d, 0xfa, 0xff, 0x1f, 0xc8, 0xc9, 0x7d, 0x31, 0x62, 0xdf, 0x99, 0x8d, 0x80, 0xb9, 0x9e,
|
||||||
|
0x60, 0x93, 0x7e, 0xb2, 0x4c, 0xc5, 0x94, 0xf7, 0xbe, 0xe0, 0xd7, 0x99, 0x71, 0xf9, 0x4a, 0xe1,
|
||||||
|
0xf0, 0x1e, 0xad, 0x37, 0x1f, 0xbf, 0xbc, 0xc7, 0x03, 0x1d, 0x3f, 0x75, 0x16, 0x5e, 0x2b, 0xb6,
|
||||||
|
0xc2, 0xc1, 0xcd, 0x1f, 0xb3, 0x5c, 0x17, 0xc1, 0xc3, 0x63, 0x21, 0xd6, 0x2e, 0x5f, 0x44, 0xbe,
|
||||||
|
0xc2, 0x83, 0xd8, 0x9f, 0x18, 0x88, 0x6d, 0x81, 0xb3, 0xc1, 0x73, 0x5d, 0x8c, 0xcc, 0x90, 0x59,
|
||||||
|
0x28, 0xaf, 0x38, 0x03, 0x87, 0xb7, 0x56, 0xe1, 0x60, 0xf8, 0x4c, 0xe4, 0xaf, 0xf3, 0xc0, 0x91,
|
||||||
|
0x70, 0x73, 0x72, 0x85, 0xd5, 0x63, 0x68, 0x68, 0x08, 0x52, 0xa9, 0xb4, 0x63, 0x5c, 0x10, 0x8f,
|
||||||
|
0xc7, 0x9b, 0xe5, 0xe1, 0xe1, 0x91, 0x41, 0xf5, 0x99, 0xd7, 0x2b, 0xed, 0x92, 0xe8, 0x40, 0xa4,
|
||||||
|
0x46, 0xf9, 0x21, 0x79, 0xbe, 0x71, 0x0b, 0xf5, 0x36, 0x7a, 0x4e, 0x69, 0x94, 0x47, 0x79, 0x63,
|
||||||
|
0xef, 0xd6, 0x68, 0xec, 0x98, 0x6f, 0xd8, 0x4b, 0xbd, 0x00, 0x67, 0x8b, 0xf3, 0xf9, 0x1f, 0x3a,
|
||||||
|
0xe1, 0x70, 0x5e, 0x1a, 0x14, 0x01, 0x53, 0x1f, 0x39, 0x39, 0x39, 0x7d, 0x4d, 0x7d, 0x72, 0x05,
|
||||||
|
0x49, 0x58, 0x13, 0xf9, 0x3a, 0xee, 0xf2, 0x66, 0x57, 0xf7, 0xc7, 0xb3, 0x40, 0x2f, 0x4c, 0xa9,
|
||||||
|
0x0f, 0xbb, 0x82, 0x7a, 0x29, 0x9e, 0xec, 0xd2, 0x87, 0x9b, 0x58, 0xb8, 0x1b, 0xc7, 0x42, 0x9e,
|
||||||
|
0x1f, 0xbb, 0x91, 0x7a, 0xf4, 0x52, 0xa5, 0x69, 0xeb, 0x88, 0x65, 0xa1, 0xea, 0xd9, 0x4b, 0x75,
|
||||||
|
0x22, 0xa0, 0x15, 0x8e, 0x7a, 0x27, 0x69, 0x30, 0xaa, 0x55, 0x02, 0xf6, 0x4f, 0xd4, 0xfb, 0x40,
|
||||||
|
0xc0, 0x51, 0x6a, 0xbd, 0x30, 0x21, 0xa7, 0x96, 0x7a, 0x7e, 0x5c, 0x8e, 0x54, 0xeb, 0x89, 0xdc,
|
||||||
|
0xd9, 0x4d, 0x04, 0x64, 0xad, 0x8d, 0xf1, 0x1f, 0x68, 0xa0, 0x70, 0x72, 0xd7, 0xc5, 0x8a, 0x11,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82,
|
||||||
};
|
};
|
||||||
|
|
||||||
const BITMAP_OPAQUE edit_comp_footprint_xpm[1] = {{ png, sizeof( png ), "edit_comp_footprint_xpm" }};
|
const BITMAP_OPAQUE edit_comp_footprint_xpm[1] = {{ png, sizeof( png ), "edit_comp_footprint_xpm" }};
|
||||||
|
|
|
@ -8,84 +8,86 @@
|
||||||
static const unsigned char png[] = {
|
static const unsigned char png[] = {
|
||||||
0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52,
|
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,
|
0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x1a, 0x08, 0x06, 0x00, 0x00, 0x00, 0xa9, 0x4a, 0x4c,
|
||||||
0xce, 0x00, 0x00, 0x04, 0xc3, 0x49, 0x44, 0x41, 0x54, 0x48, 0xc7, 0xbd, 0x96, 0x0b, 0x50, 0x94,
|
0xce, 0x00, 0x00, 0x04, 0xd9, 0x49, 0x44, 0x41, 0x54, 0x48, 0xc7, 0xad, 0x96, 0x7b, 0x4c, 0x93,
|
||||||
0x55, 0x14, 0xc7, 0x2f, 0x4e, 0x4a, 0x0a, 0x6a, 0x39, 0xd6, 0x38, 0x36, 0x9a, 0xaf, 0xc1, 0xb4,
|
0x57, 0x18, 0x87, 0xdf, 0xe9, 0xd8, 0x88, 0x11, 0x51, 0xd1, 0xcd, 0x0d, 0xa2, 0xfe, 0xa1, 0xcb,
|
||||||
0x51, 0x74, 0x7c, 0x80, 0x06, 0x31, 0x21, 0x35, 0x26, 0xa4, 0xf9, 0x20, 0x28, 0x40, 0x17, 0x29,
|
0xc4, 0x25, 0x9b, 0xd1, 0x51, 0x9c, 0x3a, 0x99, 0x04, 0x95, 0xb9, 0x09, 0x0b, 0x71, 0xc6, 0x5b,
|
||||||
0x1a, 0xd4, 0x59, 0x72, 0x64, 0x10, 0x30, 0xd8, 0x87, 0x01, 0x22, 0xaf, 0x85, 0xe5, 0x8d, 0xb8,
|
0x51, 0x99, 0xc0, 0x94, 0xa1, 0xec, 0xc2, 0x20, 0x52, 0x68, 0x11, 0x5a, 0xa1, 0x17, 0x2e, 0x05,
|
||||||
0x4b, 0x82, 0xcb, 0x5a, 0x62, 0x22, 0x0b, 0x15, 0xa1, 0x8d, 0x39, 0xa8, 0x11, 0xea, 0x4c, 0x02,
|
0xbc, 0x56, 0x2e, 0xc2, 0xa0, 0x48, 0x84, 0x39, 0x41, 0x9d, 0x4c, 0x21, 0x33, 0x44, 0x99, 0x3a,
|
||||||
0x8e, 0xb0, 0x29, 0x99, 0x82, 0xf2, 0x46, 0x91, 0x5d, 0x60, 0xf9, 0x77, 0xbe, 0x4f, 0xdc, 0x16,
|
0x11, 0x06, 0x4e, 0x40, 0x53, 0x28, 0x11, 0x28, 0x3a, 0x54, 0x86, 0xc3, 0x4a, 0x7f, 0x3b, 0xdf,
|
||||||
0x96, 0x31, 0x35, 0xed, 0xce, 0xfc, 0x76, 0xef, 0xde, 0x9d, 0x39, 0xbf, 0x7b, 0xee, 0x39, 0x77,
|
0x27, 0x6d, 0x80, 0x2a, 0xab, 0xba, 0x3f, 0x9e, 0xf4, 0x3b, 0xa7, 0xe7, 0x7b, 0x9f, 0x73, 0xde,
|
||||||
0xf7, 0x63, 0x00, 0xd8, 0xb3, 0x84, 0xc6, 0x3a, 0x62, 0xb4, 0xd9, 0xfa, 0x73, 0x10, 0xc9, 0x88,
|
0xf3, 0x9e, 0xd3, 0x12, 0x00, 0x7a, 0x1a, 0x91, 0x91, 0x70, 0x4a, 0x94, 0xfc, 0x95, 0xac, 0x8a,
|
||||||
0xdc, 0xff, 0x47, 0xe4, 0xc5, 0xb8, 0x89, 0xe4, 0xb9, 0x88, 0xb8, 0xe3, 0x22, 0x16, 0x10, 0x45,
|
0x35, 0xe8, 0x95, 0xb1, 0xb7, 0xcf, 0x89, 0x44, 0x58, 0x30, 0xd2, 0xf8, 0x91, 0x78, 0x62, 0xe7,
|
||||||
0xac, 0x94, 0x44, 0x4e, 0xbc, 0x4c, 0xf0, 0xcc, 0x44, 0x34, 0x1c, 0xd8, 0x58, 0x76, 0x96, 0xb9,
|
0xce, 0x9d, 0x70, 0x96, 0x4b, 0x6e, 0x67, 0xed, 0x89, 0xbf, 0xa9, 0xbf, 0xae, 0x51, 0x19, 0x51,
|
||||||
0xb0, 0x3e, 0xb6, 0x83, 0x82, 0x4b, 0x89, 0x9f, 0x88, 0x12, 0x62, 0x0e, 0xad, 0x31, 0xe6, 0xf2,
|
0xb8, 0x09, 0xdd, 0x79, 0xdf, 0xa0, 0x44, 0x55, 0x69, 0x50, 0x48, 0xba, 0x6a, 0x77, 0x89, 0xfb,
|
||||||
0x9f, 0x44, 0x34, 0x26, 0xb2, 0x31, 0x2c, 0x8f, 0x05, 0x50, 0xc0, 0x22, 0xa2, 0x7c, 0x04, 0x44,
|
0x7c, 0xd9, 0x9b, 0x2f, 0x3d, 0xb7, 0x48, 0x2c, 0xc6, 0x0c, 0x45, 0x6c, 0x57, 0xb1, 0x46, 0x76,
|
||||||
0x7c, 0x56, 0xd5, 0x84, 0xc5, 0xd3, 0x8b, 0x26, 0x50, 0xf8, 0xd8, 0x61, 0x81, 0xbf, 0x27, 0xb8,
|
0xad, 0xad, 0x25, 0x4b, 0x6a, 0xe2, 0x04, 0xc3, 0xe9, 0xcd, 0x0f, 0xc1, 0x69, 0x75, 0x69, 0xb7,
|
||||||
0xb5, 0x32, 0x22, 0x8d, 0xb0, 0x66, 0x5d, 0x24, 0x59, 0xf8, 0xd4, 0x19, 0xd1, 0x08, 0x64, 0x5f,
|
0x52, 0xd2, 0xd9, 0x2c, 0x13, 0xdf, 0x0f, 0x0e, 0x0c, 0x84, 0x9d, 0xcd, 0x22, 0xb1, 0x10, 0x53,
|
||||||
0x9a, 0x08, 0x22, 0x09, 0x3b, 0xd6, 0xc1, 0x5e, 0x62, 0xbb, 0xe8, 0x3b, 0x35, 0x4b, 0xe2, 0x25,
|
0x15, 0x3b, 0x0d, 0x67, 0x0f, 0x27, 0xd4, 0xdc, 0x6a, 0xcf, 0x89, 0xb6, 0x04, 0xfd, 0x27, 0x4f,
|
||||||
0x7a, 0x9a, 0x3b, 0x3f, 0x71, 0x8d, 0xc2, 0xc3, 0xe1, 0xb8, 0x67, 0x0f, 0xa6, 0xf1, 0x45, 0x7f,
|
0x88, 0xd3, 0xa2, 0x65, 0xe8, 0xd7, 0x6e, 0xe4, 0xdb, 0xdd, 0x59, 0xeb, 0x90, 0x1d, 0xb2, 0x08,
|
||||||
0x81, 0xdd, 0x67, 0x27, 0x06, 0x25, 0x5f, 0x10, 0x16, 0xac, 0x95, 0xd6, 0xa7, 0x0d, 0x6e, 0x22,
|
0x4a, 0xe1, 0xfb, 0xb8, 0x20, 0xf3, 0x43, 0x55, 0xfa, 0x0f, 0xbd, 0x49, 0xb1, 0x06, 0xdd, 0x6e,
|
||||||
0x86, 0x8d, 0x63, 0x03, 0xf4, 0xee, 0xf5, 0xd8, 0x5d, 0x27, 0x16, 0x63, 0x94, 0x54, 0x7c, 0xdf,
|
0xc9, 0xbd, 0x2d, 0x6c, 0x92, 0xa3, 0x46, 0x14, 0x49, 0x5f, 0xbd, 0xf3, 0x71, 0xf2, 0xa4, 0x3f,
|
||||||
0x33, 0x5e, 0xda, 0x52, 0x5b, 0x2c, 0x2b, 0x6f, 0x57, 0xec, 0xab, 0x69, 0x0c, 0x10, 0x1c, 0xad,
|
0x3a, 0x94, 0xd3, 0x5b, 0x1f, 0xb6, 0xef, 0x8b, 0xb6, 0x5a, 0x41, 0xa5, 0xc4, 0x1b, 0x09, 0xeb,
|
||||||
0x60, 0x8b, 0x06, 0x25, 0x5c, 0xd1, 0x27, 0xf3, 0x75, 0x10, 0x9a, 0x64, 0x1b, 0x49, 0xec, 0x7e,
|
0xe6, 0x21, 0x79, 0xa3, 0x00, 0x31, 0xab, 0xe6, 0xa0, 0x46, 0xe1, 0x8b, 0xfe, 0x82, 0x8d, 0x30,
|
||||||
0xac, 0x7b, 0xe4, 0xef, 0x8f, 0xd1, 0x51, 0x92, 0xee, 0x80, 0x04, 0x69, 0xb3, 0xf6, 0x54, 0xf2,
|
0x16, 0x3c, 0x96, 0x1b, 0xb5, 0x81, 0xa8, 0x50, 0x17, 0xf5, 0x28, 0x25, 0x86, 0x46, 0xa9, 0xf8,
|
||||||
0xb1, 0x2e, 0x9d, 0x6a, 0x1b, 0x70, 0xc4, 0x97, 0x27, 0x7a, 0xf3, 0x7b, 0xa0, 0x1d, 0x83, 0x4d,
|
0xef, 0x95, 0x4f, 0x15, 0x29, 0xc7, 0xdd, 0x68, 0x68, 0x0b, 0x76, 0x44, 0xfd, 0xda, 0x39, 0x26,
|
||||||
0x21, 0x5e, 0xe1, 0x25, 0x1c, 0xf3, 0x4d, 0x44, 0x6f, 0x8c, 0x78, 0xdc, 0xa6, 0x1f, 0x82, 0x82,
|
0x85, 0x8b, 0xce, 0xa8, 0x4b, 0x91, 0x5a, 0x24, 0x8f, 0x58, 0xb0, 0xf2, 0xe8, 0xe5, 0xd8, 0xb1,
|
||||||
0x60, 0xb5, 0x4f, 0xdc, 0x15, 0x96, 0x28, 0x6d, 0x6e, 0x38, 0x9b, 0x96, 0xdf, 0xdd, 0xa7, 0xf6,
|
0x62, 0x36, 0x42, 0x96, 0xcf, 0x82, 0x36, 0xcc, 0x03, 0x9a, 0xe0, 0x85, 0xbc, 0x54, 0xe5, 0xef,
|
||||||
0x37, 0x0a, 0x1e, 0x52, 0x9b, 0xb8, 0x01, 0x9a, 0xd0, 0x77, 0x21, 0xdb, 0xea, 0x82, 0x50, 0x5f,
|
0x86, 0xc4, 0xf5, 0xf3, 0xb0, 0xc5, 0xf3, 0x2d, 0xf4, 0xe6, 0x0a, 0xf1, 0x20, 0x7f, 0x2b, 0x4e,
|
||||||
0xf1, 0x3d, 0x81, 0xa7, 0xf2, 0xba, 0x38, 0xec, 0x8e, 0xfb, 0xbf, 0xd6, 0x95, 0x7b, 0xa1, 0x2e,
|
0xa4, 0x9c, 0xea, 0x56, 0x49, 0x0c, 0x35, 0xa2, 0x48, 0xa3, 0x55, 0xd1, 0x50, 0xda, 0xa4, 0x2b,
|
||||||
0xb4, 0x90, 0x4c, 0xd5, 0x7b, 0x47, 0x79, 0xdc, 0xed, 0xba, 0x98, 0x79, 0x40, 0x67, 0x50, 0xfb,
|
0x2d, 0x86, 0xed, 0x04, 0x8e, 0x26, 0xff, 0x19, 0x50, 0x39, 0x37, 0x19, 0x2f, 0x4b, 0x64, 0x48,
|
||||||
0x19, 0x03, 0x0f, 0xa8, 0x7d, 0x91, 0xec, 0x6b, 0x8f, 0xba, 0xe4, 0x8d, 0xfc, 0xfc, 0xd7, 0xe8,
|
0xdd, 0x2c, 0x80, 0x6c, 0xed, 0x5c, 0x9c, 0x15, 0x7b, 0xa3, 0x75, 0xef, 0xe7, 0xd0, 0xee, 0xf0,
|
||||||
0x0f, 0xb0, 0xdf, 0x7b, 0x29, 0x8e, 0x07, 0xaf, 0xc2, 0x99, 0xbd, 0xae, 0xe8, 0xa1, 0x6c, 0x7f,
|
0xb0, 0x4c, 0x80, 0x4b, 0x65, 0x25, 0xeb, 0xe7, 0x44, 0x97, 0x13, 0x56, 0x0e, 0xc9, 0xc0, 0xbd,
|
||||||
0x48, 0x2e, 0xed, 0xa0, 0xe3, 0xbd, 0x1c, 0x1e, 0xda, 0xe7, 0xf4, 0x48, 0x51, 0x94, 0x65, 0xdb,
|
0xbc, 0x1d, 0xc8, 0x97, 0x9f, 0xef, 0x51, 0x48, 0x3a, 0x2a, 0x87, 0x88, 0x54, 0x8e, 0xcd, 0x37,
|
||||||
0xe7, 0xaa, 0x79, 0xca, 0x4e, 0xc5, 0x5c, 0x4d, 0x8f, 0xca, 0xfd, 0x7c, 0xcf, 0xf0, 0x2c, 0xba,
|
0x3b, 0x43, 0x47, 0xc1, 0x2c, 0xd3, 0x6d, 0x99, 0x82, 0x14, 0x97, 0x7a, 0x63, 0x75, 0x44, 0x8a,
|
||||||
0x0f, 0xf9, 0x40, 0xea, 0xb1, 0x18, 0x1f, 0x2e, 0x9b, 0x8e, 0xb0, 0xf5, 0x0b, 0x51, 0x1c, 0xe2,
|
0x89, 0xdb, 0x23, 0xee, 0x65, 0x83, 0x66, 0x0d, 0x0e, 0x87, 0x7c, 0xc8, 0x3f, 0x5f, 0x91, 0xfb,
|
||||||
0xc2, 0x4b, 0x2e, 0xc5, 0xae, 0x43, 0xbd, 0x7c, 0x13, 0x9a, 0xb2, 0x3d, 0xd1, 0x99, 0x2f, 0xc4,
|
0x20, 0x8c, 0xad, 0x30, 0x79, 0x93, 0x80, 0x4f, 0xe1, 0x60, 0x49, 0xbf, 0x36, 0x00, 0xd5, 0x7b,
|
||||||
0xd1, 0xf8, 0x33, 0xad, 0x71, 0xd2, 0x96, 0x0a, 0x6a, 0x9c, 0x05, 0x23, 0x8a, 0x12, 0x26, 0xd6,
|
0x33, 0x4d, 0xaa, 0xf8, 0x66, 0x93, 0x4c, 0x72, 0x5d, 0x34, 0x44, 0x94, 0x38, 0x56, 0x1f, 0x7f,
|
||||||
0x5f, 0x6e, 0xda, 0x61, 0x89, 0xe6, 0x40, 0x0b, 0x14, 0xd8, 0x2a, 0x74, 0xca, 0xd5, 0x17, 0x74,
|
0x6e, 0xa9, 0x7f, 0x9f, 0x59, 0xc4, 0xc1, 0xa5, 0x32, 0x7d, 0xda, 0x45, 0x63, 0x55, 0x58, 0x2e,
|
||||||
0x9c, 0xa0, 0x5d, 0xe1, 0x85, 0x1b, 0xe9, 0x1f, 0x21, 0xc5, 0xcf, 0x1e, 0xb9, 0xdb, 0x1d, 0x11,
|
0x5f, 0x79, 0x77, 0xb3, 0xd7, 0x5b, 0xf6, 0xa9, 0xf8, 0x3b, 0x4f, 0x96, 0xaa, 0x0d, 0x28, 0x8d,
|
||||||
0xeb, 0xb3, 0x0c, 0x7f, 0xd2, 0xe7, 0xea, 0x84, 0xf5, 0x38, 0x1f, 0xe5, 0x86, 0xf2, 0x88, 0xd5,
|
0xf4, 0xc2, 0xa9, 0xa8, 0xa5, 0xbc, 0xc0, 0x54, 0xb8, 0x19, 0x57, 0x0f, 0xa4, 0x23, 0x4d, 0x75,
|
||||||
0xc8, 0xf8, 0x6c, 0x25, 0xbc, 0x1d, 0x67, 0xe3, 0x5a, 0xaa, 0x3b, 0xbf, 0xa9, 0xb6, 0xbc, 0x60,
|
0x03, 0xd9, 0x15, 0xbf, 0x22, 0xa3, 0x44, 0xd5, 0x25, 0x16, 0x8b, 0xdf, 0x1b, 0x22, 0x12, 0x13,
|
||||||
0xe4, 0xed, 0xbf, 0x74, 0x3b, 0x5e, 0xda, 0xaa, 0xa1, 0x2e, 0x7d, 0x7d, 0x88, 0x48, 0x36, 0xa9,
|
0x5e, 0x51, 0x38, 0xb4, 0xd4, 0x5e, 0x17, 0xbe, 0x8d, 0xc1, 0xb2, 0xf6, 0x10, 0x7b, 0xec, 0x9f,
|
||||||
0xa6, 0xae, 0x39, 0x90, 0xe1, 0x21, 0x45, 0x2b, 0xa2, 0x75, 0xe9, 0x6f, 0x5d, 0xd4, 0xa7, 0x7d,
|
0x79, 0xc6, 0x78, 0xcc, 0xbf, 0xd4, 0xc4, 0xed, 0x55, 0xc9, 0xb7, 0x9e, 0x7c, 0xd5, 0x0d, 0x2f,
|
||||||
0xba, 0x12, 0x39, 0x01, 0x0e, 0x68, 0xc9, 0xf9, 0x04, 0xfa, 0xc3, 0x5b, 0x90, 0xea, 0xb7, 0xc2,
|
0x96, 0xc6, 0x43, 0x4a, 0xec, 0x49, 0x6e, 0x42, 0xe6, 0xa9, 0xf3, 0x38, 0xde, 0x73, 0x08, 0x65,
|
||||||
0x98, 0xe5, 0x5f, 0x19, 0x1e, 0xfc, 0x06, 0xf2, 0x85, 0x4e, 0xe8, 0xca, 0xf5, 0x36, 0xab, 0x65,
|
0x7d, 0xfb, 0x91, 0x5a, 0x22, 0xed, 0xf1, 0xf3, 0xf3, 0xf3, 0xb5, 0x2e, 0x6f, 0x82, 0x4b, 0xd2,
|
||||||
0x55, 0xa6, 0x02, 0xa2, 0xf0, 0x5e, 0x1d, 0xd7, 0x58, 0x46, 0x51, 0xfc, 0x84, 0x3f, 0xca, 0xea,
|
0xc4, 0x06, 0x7d, 0xdb, 0x97, 0x0e, 0x43, 0x64, 0x9d, 0xa1, 0xa3, 0x91, 0xe9, 0xaa, 0x35, 0x65,
|
||||||
0xb7, 0xcc, 0x81, 0xa9, 0xac, 0xdc, 0x59, 0xd8, 0x9b, 0xb6, 0xf8, 0x4a, 0xaf, 0x41, 0xf5, 0xa0,
|
0x7e, 0x52, 0x65, 0x75, 0xa6, 0x5a, 0xb2, 0xe2, 0x70, 0x20, 0xa5, 0x01, 0x07, 0x7f, 0xbc, 0x84,
|
||||||
0x5e, 0x06, 0xb5, 0x00, 0x32, 0x81, 0x1d, 0xda, 0x28, 0x4b, 0x25, 0x65, 0x17, 0xe3, 0xb5, 0x14,
|
0x63, 0xdd, 0xd9, 0xbc, 0xc0, 0x4c, 0x46, 0xb1, 0xea, 0xa1, 0xf7, 0xbb, 0x01, 0x1a, 0x22, 0x9a,
|
||||||
0x22, 0xf7, 0x45, 0xb8, 0x99, 0xe9, 0x31, 0x44, 0xd0, 0x7c, 0x28, 0x14, 0xb9, 0xf1, 0x55, 0x86,
|
0x6f, 0x75, 0x60, 0x77, 0xd9, 0xdf, 0x5f, 0xa2, 0x99, 0x76, 0xb2, 0x73, 0xb0, 0xc8, 0x4c, 0xa1,
|
||||||
0x44, 0xd9, 0xc5, 0x7e, 0x91, 0x48, 0x25, 0x18, 0xde, 0x0c, 0xb6, 0x07, 0xa6, 0x97, 0x35, 0x71,
|
0x5b, 0x1a, 0xd2, 0x3f, 0xba, 0x86, 0x47, 0xda, 0x2f, 0xd0, 0x91, 0x13, 0x85, 0x2c, 0x75, 0x0d,
|
||||||
0x47, 0x67, 0x2a, 0xab, 0x58, 0xe3, 0xd9, 0x97, 0x34, 0x4f, 0xdb, 0xa7, 0x3b, 0xf4, 0xa0, 0xbd,
|
0xf6, 0x6b, 0xaf, 0xa2, 0xa4, 0x2b, 0x77, 0x88, 0x80, 0xe3, 0x68, 0x7b, 0x06, 0x76, 0x27, 0x24,
|
||||||
0x85, 0xef, 0xcf, 0x47, 0x92, 0xaf, 0xdd, 0x3f, 0xc7, 0x44, 0xd2, 0xd3, 0x92, 0x35, 0xfc, 0xbc,
|
0x21, 0xdc, 0xf9, 0xf7, 0x66, 0x26, 0xf2, 0x61, 0x38, 0x5a, 0xdd, 0x0c, 0xf2, 0xb1, 0x7a, 0x51,
|
||||||
0x23, 0x3f, 0x08, 0x05, 0x49, 0x15, 0x48, 0x57, 0xd4, 0xe2, 0xe8, 0x2d, 0x35, 0x72, 0xce, 0x24,
|
0xa9, 0x7b, 0xf4, 0xdd, 0x27, 0xc9, 0x8e, 0x7b, 0xec, 0x82, 0x7c, 0xc1, 0x2d, 0xec, 0xc9, 0xa9,
|
||||||
0xe8, 0x45, 0x22, 0xd1, 0x5a, 0xb3, 0xf6, 0xde, 0x6f, 0x75, 0x73, 0xf7, 0x89, 0xe5, 0x5f, 0x75,
|
0xc7, 0xd1, 0x5b, 0x05, 0x56, 0x82, 0xe3, 0x3d, 0xfb, 0x90, 0x51, 0x98, 0x8a, 0xb8, 0xed, 0x87,
|
||||||
0x98, 0x8a, 0x38, 0x2e, 0x6c, 0x70, 0xe9, 0x8f, 0x9b, 0xa5, 0x1d, 0x68, 0x3b, 0x10, 0x8c, 0xbb,
|
0x10, 0xe5, 0xa4, 0xef, 0x5e, 0x4e, 0x49, 0x91, 0x4c, 0xb2, 0x98, 0x61, 0xff, 0xc4, 0xbb, 0x4e,
|
||||||
0x5f, 0x9b, 0x1f, 0xd1, 0xbd, 0xc3, 0x81, 0xf8, 0x2e, 0xf5, 0x14, 0xd2, 0xb2, 0xaf, 0xe2, 0x9b,
|
0xe1, 0xd0, 0x5a, 0x76, 0xc9, 0xd7, 0xcb, 0x38, 0x5c, 0x94, 0xe7, 0x56, 0x80, 0xfc, 0xa2, 0x52,
|
||||||
0xeb, 0x85, 0x28, 0xd1, 0x67, 0xf1, 0x1c, 0xac, 0x48, 0x30, 0xb8, 0xb9, 0xb9, 0xc5, 0xd0, 0xbd,
|
0x2b, 0x01, 0x47, 0xce, 0x05, 0x35, 0xa4, 0xd1, 0xa9, 0x10, 0xcf, 0xae, 0xc7, 0xd7, 0xd4, 0x52,
|
||||||
0x9a, 0x60, 0x76, 0x8f, 0x62, 0xad, 0x6f, 0x14, 0x57, 0xae, 0x75, 0xed, 0x1d, 0x2e, 0xab, 0xfe,
|
0x3d, 0x8d, 0x96, 0x7c, 0xc6, 0x04, 0xee, 0x8c, 0xc9, 0x4f, 0xbd, 0x54, 0xd9, 0x7e, 0x8d, 0x51,
|
||||||
0x78, 0x09, 0xe2, 0xa6, 0x6b, 0x07, 0x1a, 0x52, 0xa2, 0x8d, 0x82, 0x1e, 0xd5, 0x76, 0x94, 0xa4,
|
0x38, 0xe8, 0xae, 0xd6, 0xad, 0x16, 0xf4, 0x9b, 0x25, 0xad, 0x41, 0x4e, 0x50, 0xbb, 0xd7, 0x59,
|
||||||
0x97, 0x22, 0x25, 0x5d, 0x8b, 0x82, 0xab, 0x45, 0x46, 0xc1, 0x43, 0x94, 0xe7, 0x64, 0xd8, 0xb6,
|
0x02, 0x2b, 0x2b, 0x23, 0x20, 0x3a, 0xb2, 0x15, 0xe1, 0x07, 0x03, 0x21, 0xf4, 0x0f, 0xc0, 0x06,
|
||||||
0x3c, 0xe7, 0x3c, 0x89, 0x36, 0x11, 0x96, 0x43, 0x44, 0x74, 0x84, 0x63, 0xe3, 0xc6, 0x37, 0x5c,
|
0x81, 0x14, 0xd1, 0xa3, 0xfb, 0x1e, 0xfa, 0xd3, 0x99, 0x34, 0x16, 0xfc, 0x03, 0xc6, 0x1c, 0xc6,
|
||||||
0x19, 0x5e, 0x2f, 0x8e, 0xba, 0xcd, 0x36, 0x48, 0x9c, 0x79, 0x15, 0x95, 0xd1, 0x4a, 0x9c, 0xcc,
|
0x6b, 0xff, 0x79, 0x7b, 0x7f, 0x4f, 0x70, 0x64, 0xb2, 0x3a, 0xb3, 0xac, 0xdc, 0x6b, 0x3b, 0x0e,
|
||||||
0x3c, 0x06, 0xb9, 0xfc, 0x1a, 0x54, 0x97, 0x4b, 0xcc, 0x04, 0x25, 0x3a, 0xca, 0xe6, 0x64, 0x0a,
|
0x6b, 0xca, 0x2d, 0x22, 0xef, 0x4d, 0x1e, 0x20, 0x07, 0x02, 0x4d, 0x61, 0x4c, 0x60, 0xd7, 0x38,
|
||||||
0x22, 0x43, 0x53, 0x10, 0xfa, 0xaa, 0xf6, 0x36, 0x49, 0xd6, 0x10, 0x53, 0xcc, 0x2e, 0x16, 0xc9,
|
0x8d, 0x82, 0x80, 0xc2, 0x02, 0x59, 0xf0, 0xb9, 0x8c, 0x59, 0x0c, 0x37, 0x9b, 0x7e, 0x26, 0x06,
|
||||||
0x66, 0x51, 0x17, 0x36, 0xde, 0xda, 0x66, 0x6d, 0x26, 0xab, 0xf6, 0x5c, 0x86, 0xd8, 0xd9, 0x8d,
|
0x56, 0x36, 0x5e, 0xee, 0xa0, 0xab, 0xaf, 0x5b, 0xed, 0x6e, 0xaa, 0xf6, 0xf9, 0x14, 0x99, 0x31,
|
||||||
0xc8, 0xfb, 0xad, 0x0c, 0x1a, 0x5d, 0x96, 0x99, 0xe4, 0x88, 0x36, 0x15, 0xfb, 0x22, 0x93, 0x20,
|
0x15, 0xc8, 0xbd, 0xac, 0x46, 0x62, 0x62, 0x2a, 0x56, 0x2d, 0xfe, 0x0a, 0xb4, 0x92, 0x49, 0x7e,
|
||||||
0x71, 0xfe, 0x05, 0x3b, 0x47, 0x35, 0x54, 0xce, 0x60, 0xef, 0x6c, 0x20, 0x89, 0x1d, 0x31, 0x66,
|
0x61, 0x14, 0x33, 0x5e, 0x66, 0x10, 0x85, 0x32, 0x5c, 0x18, 0x76, 0x8c, 0x02, 0x86, 0x9f, 0x4d,
|
||||||
0xc4, 0x5b, 0x1c, 0x65, 0xd9, 0xbe, 0xf6, 0xe0, 0x0c, 0x4d, 0xeb, 0x1d, 0xe1, 0xa8, 0x21, 0x22,
|
0x22, 0x8e, 0x08, 0xc2, 0x04, 0xf9, 0xc4, 0xa6, 0xda, 0x9f, 0x16, 0xc6, 0x20, 0x71, 0x4a, 0x23,
|
||||||
0xc5, 0x12, 0x0d, 0x0a, 0x7f, 0x57, 0x9b, 0x09, 0x8e, 0xb7, 0x65, 0x40, 0x96, 0x99, 0x8c, 0xbd,
|
0x62, 0xbd, 0x2a, 0x11, 0x63, 0xdf, 0x8b, 0x6d, 0xd4, 0xf0, 0x80, 0x5e, 0x1f, 0x10, 0x71, 0xac,
|
||||||
0xbe, 0x47, 0x10, 0x61, 0xd5, 0xd5, 0xeb, 0xc3, 0x7e, 0x4c, 0xa5, 0xe0, 0x8e, 0xc4, 0x12, 0xc2,
|
0xe1, 0x45, 0x8d, 0x8c, 0xf1, 0x7c, 0xd0, 0x31, 0x4c, 0x6f, 0x47, 0x0f, 0x58, 0x7b, 0x91, 0x4d,
|
||||||
0xea, 0x91, 0xbf, 0xde, 0xd4, 0x1c, 0x41, 0x79, 0x36, 0x05, 0x46, 0xd9, 0x0d, 0xff, 0xc9, 0x48,
|
0x22, 0x33, 0x71, 0x33, 0x7f, 0x4b, 0x88, 0x1f, 0xa3, 0xd3, 0x87, 0x53, 0xd7, 0x9f, 0xab, 0xa8,
|
||||||
0x5f, 0x55, 0x35, 0x44, 0xa0, 0xe9, 0xc9, 0x42, 0x76, 0xa9, 0x1c, 0x91, 0xc1, 0x19, 0x10, 0x4d,
|
0x28, 0xee, 0x4d, 0x12, 0x2c, 0x65, 0x41, 0x8e, 0xd0, 0xbe, 0x41, 0xb2, 0x28, 0xc6, 0x7c, 0x6a,
|
||||||
0xbd, 0x89, 0x10, 0xd6, 0xd9, 0xe0, 0xc0, 0x42, 0xb6, 0x52, 0xf0, 0xe5, 0x83, 0xcf, 0x0f, 0xe3,
|
0x23, 0x47, 0x0a, 0xa2, 0xa9, 0x74, 0x81, 0x64, 0xac, 0x6d, 0x47, 0x77, 0xd8, 0x38, 0x57, 0x9b,
|
||||||
0x1f, 0xeb, 0x6f, 0x22, 0xc6, 0xea, 0x16, 0x27, 0x6b, 0xe1, 0x64, 0xe7, 0x5c, 0x37, 0x42, 0x19,
|
0x45, 0x96, 0x59, 0x11, 0x4b, 0x12, 0x37, 0xdf, 0xc7, 0x9f, 0xf6, 0xf4, 0x06, 0xd5, 0xd2, 0xc1,
|
||||||
0xf3, 0x33, 0x2f, 0x28, 0xea, 0xc8, 0x40, 0x96, 0x46, 0x8e, 0xa8, 0x08, 0x39, 0x24, 0xf6, 0x95,
|
0x41, 0x32, 0x8e, 0x13, 0x0c, 0xf5, 0xc0, 0x73, 0x3c, 0x9f, 0xd6, 0x56, 0x36, 0xd6, 0x99, 0x9e,
|
||||||
0x88, 0xb0, 0x30, 0xf4, 0x6f, 0x67, 0xd5, 0x85, 0x93, 0xd8, 0x1c, 0x27, 0x0a, 0x6e, 0x4b, 0xcc,
|
0xf7, 0x3f, 0xc0, 0x80, 0x78, 0x2a, 0x8d, 0xa3, 0xd3, 0x14, 0xce, 0x02, 0x96, 0x0d, 0x13, 0x9a,
|
||||||
0x24, 0x5e, 0x7c, 0xa2, 0xa7, 0xa0, 0x98, 0x71, 0x4d, 0x41, 0x4a, 0x9b, 0x6f, 0xbb, 0xaf, 0xfb,
|
0x09, 0xe2, 0xd3, 0x5a, 0xf6, 0x42, 0xa2, 0x41, 0xc2, 0x15, 0xac, 0x0a, 0x2f, 0xd2, 0x32, 0x32,
|
||||||
0xbd, 0x86, 0x94, 0xb7, 0xab, 0x20, 0xcb, 0x4a, 0x46, 0xe4, 0xae, 0x6c, 0x88, 0xdf, 0xac, 0x81,
|
0xd2, 0x36, 0x16, 0x58, 0x3e, 0x20, 0x29, 0x64, 0x4c, 0xa6, 0x7b, 0xec, 0xfb, 0x77, 0xfe, 0x17,
|
||||||
0xc8, 0xc2, 0x80, 0x9d, 0xac, 0xe1, 0xb4, 0x1d, 0x13, 0x7a, 0x50, 0xe0, 0xc5, 0xc4, 0x5c, 0xe2,
|
0xd1, 0xb0, 0xd4, 0xba, 0xb2, 0x75, 0x5e, 0xa2, 0x93, 0x4c, 0xe2, 0xca, 0xc4, 0x44, 0x9e, 0xcf,
|
||||||
0x65, 0xee, 0x19, 0x61, 0x78, 0x9c, 0xbf, 0x01, 0x5d, 0xf7, 0x9c, 0x31, 0x62, 0xc8, 0x34, 0xf3,
|
0xbc, 0x47, 0x36, 0x0b, 0xa7, 0xd3, 0xcf, 0xe4, 0xc5, 0xa7, 0x4c, 0xf8, 0x4c, 0x55, 0xf7, 0x1c,
|
||||||
0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82,
|
0x2b, 0x2b, 0x61, 0x88, 0x6c, 0x3e, 0x47, 0x2f, 0x20, 0xf2, 0x19, 0xde, 0xf7, 0x2f, 0x94, 0x4d,
|
||||||
|
0xa7, 0x8d, 0xfd, 0xa4, 0xc6, 0x76, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42,
|
||||||
|
0x60, 0x82,
|
||||||
};
|
};
|
||||||
|
|
||||||
const BITMAP_OPAQUE load_module_lib_xpm[1] = {{ png, sizeof( png ), "load_module_lib_xpm" }};
|
const BITMAP_OPAQUE load_module_lib_xpm[1] = {{ png, sizeof( png ), "load_module_lib_xpm" }};
|
||||||
|
|
|
@ -1,67 +1,465 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" height="48" width="48" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 48 48">
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
<defs>
|
<svg
|
||||||
<linearGradient id="a">
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
<stop stop-color="#fff" offset="0"/>
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
<stop stop-color="#babaff" offset="1"/>
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
</linearGradient>
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
<linearGradient id="i" y2="10.441" xlink:href="#a" gradientUnits="userSpaceOnUse" x2="12.136" gradientTransform="matrix(.88741 0 0 1.1269 74.503 29.004)" y1="1.9828" x1="3.4673"/>
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
<linearGradient id="j" y2="7.8438" xlink:href="#a" gradientUnits="userSpaceOnUse" x2="12.922" y1="6.0625" x1="11.078"/>
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
<linearGradient id="k" y2="14.691" gradientUnits="userSpaceOnUse" x2="30.432" gradientTransform="translate(6.3922,12.185)" y1="12.338" x1="28.079">
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
<stop stop-color="#fcaf3e" offset="0"/>
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
<stop stop-color="#ce5c00" offset="1"/>
|
height="48"
|
||||||
</linearGradient>
|
width="48"
|
||||||
<linearGradient id="l" y2="22.119" gradientUnits="userSpaceOnUse" x2="22.81" gradientTransform="translate(6.3922,12.185)" y1="21.481" x1="23.448">
|
version="1.1"
|
||||||
<stop stop-color="#ce5c00" offset="0"/>
|
viewBox="0 0 48 48"
|
||||||
<stop stop-color="#ce5c00" offset="1"/>
|
id="svg3223"
|
||||||
</linearGradient>
|
inkscape:version="0.48.1 "
|
||||||
<linearGradient id="m" y2="32.714" gradientUnits="userSpaceOnUse" x2="25.485" y1="34.39" x1="26.379">
|
sodipodi:docname="edit_comp_footprint.svg">
|
||||||
<stop stop-color="#e9b96e" offset="0"/>
|
<metadata
|
||||||
<stop stop-color="#fff" offset="1"/>
|
id="metadata3327">
|
||||||
</linearGradient>
|
<rdf:RDF>
|
||||||
<radialGradient id="o" gradientUnits="userSpaceOnUse" cy="128" cx="-138.84" gradientTransform="matrix(.35473 -.34328 .35696 .34544 130.15 -71.026)" r="9.1267">
|
<cc:Work
|
||||||
<stop stop-color="#f9a9a9" offset="0"/>
|
rdf:about="">
|
||||||
<stop stop-color="#ab5f5f" offset="1"/>
|
<dc:format>image/svg+xml</dc:format>
|
||||||
</radialGradient>
|
<dc:type
|
||||||
<linearGradient id="n" y2="134.25" gradientUnits="userSpaceOnUse" x2="-158.75" gradientTransform="matrix(.20949 -.20274 .20949 .20274 129.28 -31.999)" y1="115.94" x1="-158.75">
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
<stop stop-color="#ddd" offset="0"/>
|
<dc:title></dc:title>
|
||||||
<stop stop-color="#fff" offset=".34468"/>
|
</cc:Work>
|
||||||
<stop stop-color="#737373" offset=".72695"/>
|
</rdf:RDF>
|
||||||
<stop stop-color="#bbb" offset="1"/>
|
</metadata>
|
||||||
</linearGradient>
|
<sodipodi:namedview
|
||||||
</defs>
|
pagecolor="#ffffff"
|
||||||
<g transform="matrix(2.5619,0,0,2.3244,-189.12,-63.002)">
|
bordercolor="#666666"
|
||||||
<g fill="#9b9b9b" transform="translate(69.497,16.754)">
|
borderopacity="1"
|
||||||
<path fill-rule="evenodd" d="m8 13.25v14l10.5-7-10.5-7z"/>
|
objecttolerance="10"
|
||||||
<rect y="17.25" width="1.9942" x="6.0058" height="1"/>
|
gridtolerance="10"
|
||||||
<rect y="22.25" width="2" x="6" height="1"/>
|
guidetolerance="10"
|
||||||
<path d="m14.5 6.5a1.5 1.5 0 1 1 -3 0 1.5 1.5 0 1 1 3 0z" transform="matrix(1.3333 0 0 1.3333 .66664 11.583)"/>
|
inkscape:pageopacity="0"
|
||||||
<rect y="19.75" width="2.4942" x="19.506" height="1"/>
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:window-width="1280"
|
||||||
|
inkscape:window-height="968"
|
||||||
|
id="namedview3325"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="15.4375"
|
||||||
|
inkscape:cx="24"
|
||||||
|
inkscape:cy="22.024543"
|
||||||
|
inkscape:window-x="-4"
|
||||||
|
inkscape:window-y="-4"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg3223" />
|
||||||
|
<defs
|
||||||
|
id="defs3225">
|
||||||
|
<linearGradient
|
||||||
|
id="a">
|
||||||
|
<stop
|
||||||
|
stop-color="#fff"
|
||||||
|
offset="0"
|
||||||
|
id="stop3228" />
|
||||||
|
<stop
|
||||||
|
stop-color="#babaff"
|
||||||
|
offset="1"
|
||||||
|
id="stop3230" />
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient
|
||||||
|
id="i"
|
||||||
|
y2="10.441"
|
||||||
|
xlink:href="#a"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
x2="12.136"
|
||||||
|
gradientTransform="matrix(0.88741,0,0,1.1269,74.503,29.004)"
|
||||||
|
y1="1.9828"
|
||||||
|
x1="3.4673" />
|
||||||
|
<linearGradient
|
||||||
|
id="j"
|
||||||
|
y2="7.8438"
|
||||||
|
xlink:href="#a"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
x2="12.922"
|
||||||
|
y1="6.0625"
|
||||||
|
x1="11.078" />
|
||||||
|
<linearGradient
|
||||||
|
id="k"
|
||||||
|
y2="14.691"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
x2="30.432"
|
||||||
|
gradientTransform="translate(6.3922,12.185)"
|
||||||
|
y1="12.338"
|
||||||
|
x1="28.079">
|
||||||
|
<stop
|
||||||
|
stop-color="#fcaf3e"
|
||||||
|
offset="0"
|
||||||
|
id="stop3235" />
|
||||||
|
<stop
|
||||||
|
stop-color="#ce5c00"
|
||||||
|
offset="1"
|
||||||
|
id="stop3237" />
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient
|
||||||
|
id="l"
|
||||||
|
y2="22.119"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
x2="22.81"
|
||||||
|
gradientTransform="translate(6.3922,12.185)"
|
||||||
|
y1="21.481"
|
||||||
|
x1="23.448">
|
||||||
|
<stop
|
||||||
|
stop-color="#ce5c00"
|
||||||
|
offset="0"
|
||||||
|
id="stop3240" />
|
||||||
|
<stop
|
||||||
|
stop-color="#ce5c00"
|
||||||
|
offset="1"
|
||||||
|
id="stop3242" />
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient
|
||||||
|
id="m"
|
||||||
|
y2="32.714"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
x2="25.485"
|
||||||
|
y1="34.39"
|
||||||
|
x1="26.379">
|
||||||
|
<stop
|
||||||
|
stop-color="#e9b96e"
|
||||||
|
offset="0"
|
||||||
|
id="stop3245" />
|
||||||
|
<stop
|
||||||
|
stop-color="#fff"
|
||||||
|
offset="1"
|
||||||
|
id="stop3247" />
|
||||||
|
</linearGradient>
|
||||||
|
<radialGradient
|
||||||
|
id="o"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
cy="128"
|
||||||
|
cx="-138.84"
|
||||||
|
gradientTransform="matrix(.35473 -.34328 .35696 .34544 130.15 -71.026)"
|
||||||
|
r="9.1267">
|
||||||
|
<stop
|
||||||
|
stop-color="#f9a9a9"
|
||||||
|
offset="0"
|
||||||
|
id="stop3250" />
|
||||||
|
<stop
|
||||||
|
stop-color="#ab5f5f"
|
||||||
|
offset="1"
|
||||||
|
id="stop3252" />
|
||||||
|
</radialGradient>
|
||||||
|
<linearGradient
|
||||||
|
id="n"
|
||||||
|
y2="134.25"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
x2="-158.75"
|
||||||
|
gradientTransform="matrix(.20949 -.20274 .20949 .20274 129.28 -31.999)"
|
||||||
|
y1="115.94"
|
||||||
|
x1="-158.75">
|
||||||
|
<stop
|
||||||
|
stop-color="#ddd"
|
||||||
|
offset="0"
|
||||||
|
id="stop3255" />
|
||||||
|
<stop
|
||||||
|
stop-color="#fff"
|
||||||
|
offset=".34468"
|
||||||
|
id="stop3257" />
|
||||||
|
<stop
|
||||||
|
stop-color="#737373"
|
||||||
|
offset=".72695"
|
||||||
|
id="stop3259" />
|
||||||
|
<stop
|
||||||
|
stop-color="#bbb"
|
||||||
|
offset="1"
|
||||||
|
id="stop3261" />
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#a"
|
||||||
|
id="linearGradient4678"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
x1="11.078"
|
||||||
|
y1="6.0625"
|
||||||
|
x2="12.922"
|
||||||
|
y2="7.8438"
|
||||||
|
gradientTransform="matrix(2.5619,0,0,2.3244,-2.4766657,0.0748166)" />
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#a"
|
||||||
|
id="linearGradient4682"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
gradientTransform="matrix(2.2734557,0,0,2.6193664,-2.4612943,0.0748166)"
|
||||||
|
x1="3.4673"
|
||||||
|
y1="1.9828"
|
||||||
|
x2="12.136"
|
||||||
|
y2="10.441" />
|
||||||
|
</defs>
|
||||||
|
<g
|
||||||
|
transform="matrix(-2.39679,0,0,-2.0018352,4.300903,46.668173)"
|
||||||
|
id="g40">
|
||||||
|
<g
|
||||||
|
id="g42"
|
||||||
|
style="stroke-linejoin:round">
|
||||||
|
<rect
|
||||||
|
transform="matrix(0,1,-1,0,0,0)"
|
||||||
|
height="14.619"
|
||||||
|
width="9.7086"
|
||||||
|
y="3.4905"
|
||||||
|
x="1.904"
|
||||||
|
id="rect44"
|
||||||
|
style="fill:#ffffff;stroke:#000000;stroke-width:0.40000001" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
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="path46"
|
||||||
|
style="fill:none;stroke:#030303;stroke-width:5.59579992" />
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
transform="translate(-0.0375,-0.15)"
|
||||||
|
id="g48"
|
||||||
|
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="rect50"
|
||||||
|
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="rect52"
|
||||||
|
style="fill:#ff7800;stroke-width:0.30000001" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
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="path54"
|
||||||
|
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="rect56"
|
||||||
|
style="fill:#ff7800;stroke-width:0.30000001" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
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="path58"
|
||||||
|
style="fill:#ffede0;stroke-width:4.19689989" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
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="path60"
|
||||||
|
style="fill:#ffede0;stroke-width:4.19689989" />
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
transform="translate(-0.0375,9.6261)"
|
||||||
|
id="g62">
|
||||||
|
<rect
|
||||||
|
transform="matrix(0,1,-1,0,0,0)"
|
||||||
|
height="2.5109999"
|
||||||
|
width="4.7175999"
|
||||||
|
y="13.332"
|
||||||
|
x="-0.31959"
|
||||||
|
id="rect64"
|
||||||
|
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="rect66"
|
||||||
|
style="fill:#ff7800;stroke:#030303;stroke-width:0.30000001;stroke-linejoin:round" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
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="path68"
|
||||||
|
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="rect70"
|
||||||
|
style="fill:#ff7800;stroke:#030303;stroke-width:0.30000001;stroke-linejoin:round" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
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="path72"
|
||||||
|
style="fill:#ffede0;stroke:#030303;stroke-width:4.19689989;stroke-linejoin:round" />
|
||||||
|
<g
|
||||||
|
id="g74"
|
||||||
|
style="stroke-width:0.30000001">
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
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="path76"
|
||||||
|
style="fill:#ffede0;stroke:#030303;stroke-width:4.19689989;stroke-linejoin:round" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
</g>
|
</g>
|
||||||
<rect transform="matrix(-1.6632e-7,1,-1,-4.7118e-8,0,0)" height="1" width="1" y="-78.497" x="31.004" fill="#fff"/>
|
<g
|
||||||
<path fill-rule="evenodd" d="m76.497 29.004v14l10.5-7-10.5-7z"/>
|
id="g4698">
|
||||||
<rect y="33.004" width="1" x="75.497" height="1"/>
|
<g
|
||||||
<rect y="38.004" width="1" x="75.497" height="1"/>
|
transform="matrix(2.5619,0,0,2.3244,-15.286166,-28.399083)"
|
||||||
<path fill-rule="evenodd" fill="url(#i)" d="m77.503 31.004v10l8-5-8-5z"/>
|
id="g3265"
|
||||||
<path d="m14.5 6.5a1.5 1.5 0 1 1 -3 0 1.5 1.5 0 1 1 3 0z" transform="matrix(1.3333,0,0,1.3333,69.164,27.337)"/>
|
style="fill:#9b9b9b">
|
||||||
<path fill="url(#j)" d="m13 7a1 1 0 1 1 -2 0 1 1 0 1 1 2 0z" transform="translate(74.497,29.004)"/>
|
<path
|
||||||
<rect y="35.504" width="2.4942" x="88.003" height="1"/>
|
d="m 8,13.25 v 14 l 10.5,-7 -10.5,-7 z"
|
||||||
<path fill-rule="evenodd" fill="#9b9b9b" d="m82.503 28.996v3l1 1h1l1-1v-3h-1v3h-1v-3h-1z"/>
|
id="path3267"
|
||||||
<path fill-rule="evenodd" d="m79.503 40.996h2.5v1l-1.5 3.0076h-1l1.5-3h-1.5v-1.008z"/>
|
inkscape:connector-curvature="0"
|
||||||
<path fill-rule="evenodd" d="m89.003 40.996v1h1.5v0.5l-1.5 1.5v1h2.5v-1h-1.5l1.5-1.5v-1l-0.5-0.50759-2 0.0076z"/>
|
style="fill-rule:evenodd" />
|
||||||
<path fill-rule="evenodd" d="m86.003 42.051 0.0076 1.945 0.49241 1h1.5l0.50759-1.055v-2l-0.50759-0.94497h-1.5l-0.5 1.055z"/>
|
<rect
|
||||||
<path fill-rule="evenodd" fill="#fff" d="m86.503 42.496 0.5-0.5h0.5l0.5 0.5v1l-0.5 0.5h-0.5l-0.5-0.5v-1z"/>
|
y="17.25"
|
||||||
<path fill-rule="evenodd" d="m82.503 40.996v2.5h2v1.5h1v-4h-1v1.5h-1v-1.5h-1z"/>
|
width="1.9942"
|
||||||
<path fill-rule="evenodd" fill="#9b9b9b" d="m86.503 28.996h2l1 1v1l-1 1h-1v1h-1v-2h2v-1h-2v-1z"/>
|
x="6.0057998"
|
||||||
</g>
|
height="1"
|
||||||
<g transform="translate(-28.8,-7)">
|
id="rect3269" />
|
||||||
<g transform="matrix(1.1072,0,0,1.0714,74.214,8.4286)">
|
<rect
|
||||||
<path stroke-linejoin="round" d="m25.892 30.185 19-19c2.175 0.35996 3.0847 1.7322 3.5 3.5l-19 19-4.6161 0.7045 1.1161-4.2045z" fill-rule="evenodd" stroke="url(#l)" fill="url(#k)"/>
|
y="22.25"
|
||||||
<path opacity=".28235" d="m26.792 30.685 18.498-18.398c1.0897 0.17844 1.5173 0.98794 2 2l-18.398 18.498-3.3 0.9 1.2-3z" stroke="#fff" fill="none"/>
|
width="2"
|
||||||
<path fill-rule="evenodd" fill="url(#m)" d="m24.55 34.633 1.6663-4.1803s1.1995 0.24536 1.9322 0.97509c0.73264 0.72973 0.99839 1.9438 0.99839 1.9438l-4.5969 1.2614z"/>
|
x="6"
|
||||||
<path stroke-linejoin="round" d="m23 21.5-5.5 1.5 2-5" transform="translate(6.3922,12.185)" stroke="#e9b96e" stroke-linecap="round" fill="none"/>
|
height="1"
|
||||||
<path fill-rule="evenodd" d="m23.955 33.685-0.90625 2.25 2.3438-0.65625c0.002-0.03184 0-0.06141 0-0.09375 0-0.80212-0.64531-1.4598-1.4375-1.5z"/>
|
id="rect3271" />
|
||||||
|
<path
|
||||||
|
d="m 14.5,6.5 a 1.5,1.5 0 1 1 -3,0 1.5,1.5 0 1 1 3,0 z"
|
||||||
|
transform="matrix(1.3333,0,0,1.3333,0.66664,11.583)"
|
||||||
|
id="path3273"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
|
<rect
|
||||||
|
y="19.75"
|
||||||
|
width="2.4942"
|
||||||
|
x="19.506001"
|
||||||
|
height="1"
|
||||||
|
id="rect3275" />
|
||||||
|
</g>
|
||||||
|
<rect
|
||||||
|
transform="matrix(-1.8331406e-7,1,-1,-4.2749943e-8,0,0)"
|
||||||
|
height="2.5618999"
|
||||||
|
width="2.3243999"
|
||||||
|
y="-7.770926"
|
||||||
|
x="4.7236242"
|
||||||
|
id="rect3277"
|
||||||
|
style="fill:#ffffff" />
|
||||||
|
<path
|
||||||
|
d="M 2.6471343,0.0748166 V 32.616417 L 29.547084,16.345617 2.6471343,0.0748166 z"
|
||||||
|
id="path3279"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill-rule:evenodd" />
|
||||||
|
<rect
|
||||||
|
y="9.3724203"
|
||||||
|
width="2.5618999"
|
||||||
|
x="0.085238524"
|
||||||
|
height="2.3243999"
|
||||||
|
id="rect3281" />
|
||||||
|
<rect
|
||||||
|
y="20.994421"
|
||||||
|
width="2.5618999"
|
||||||
|
x="0.085238524"
|
||||||
|
height="2.3243999"
|
||||||
|
id="rect3283" />
|
||||||
|
<path
|
||||||
|
d="M 5.2244057,4.7236166 V 27.967617 L 25.719606,16.345617 5.2244057,4.7236166 z"
|
||||||
|
id="path3285"
|
||||||
|
style="fill:url(#linearGradient4682);fill-rule:evenodd"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
|
<path
|
||||||
|
d="m 33.389551,16.344338 a 5.1236719,4.6486837 0 0 1 -10.247344,0 5.1236719,4.6486837 0 1 1 10.247344,0 z"
|
||||||
|
id="path3287"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
|
<path
|
||||||
|
d="m 30.828034,16.345617 a 2.5619,2.3244 0 0 1 -5.1238,0 2.5619,2.3244 0 1 1 5.1238,0 z"
|
||||||
|
id="path3289"
|
||||||
|
style="fill:url(#linearGradient4678)"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
|
<rect
|
||||||
|
y="15.18342"
|
||||||
|
width="6.3898911"
|
||||||
|
x="32.124352"
|
||||||
|
height="2.3243999"
|
||||||
|
id="rect3291" />
|
||||||
|
<path
|
||||||
|
d="m 18.033906,0.0562214 v 6.9732 l 2.5619,2.3244 h 2.5619 l 2.5619,-2.3244 v -6.9732 h -2.5619 v 6.9732 h -2.5619 v -6.9732 h -2.5619 z"
|
||||||
|
id="path3293"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#9b9b9b;fill-rule:evenodd" />
|
||||||
|
<path
|
||||||
|
d="m 28.281506,0.0562214 h 5.1238 l 2.5619,2.3244 v 2.3244 l -2.5619,2.3244 h -2.5619 v 2.3244 h -2.5619 v -4.6488 h 5.1238 v -2.3244 h -5.1238 v -2.3244 z"
|
||||||
|
id="path3305"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#9b9b9b;fill-rule:evenodd" />
|
||||||
</g>
|
</g>
|
||||||
<path style="enable-background:new" d="m121.62 22.515c2.0307-0.53628 4.3014 1.7694 3.8196 3.6963l2.4306-2.3522c1.1808-2.6427-1.2536-4.7247-3.8692-3.7443l-2.381 2.4002z" stroke="#ef2929" stroke-width="1.0891" fill="url(#o)"/>
|
<g
|
||||||
<path style="enable-background:new" d="m119.12 24.769c2.144-0.56623 4.5413 1.8683 4.0326 3.9028l2.5662-2.4836c0.8353-1.7098-2.2637-4.6473-4.085-3.9535l-2.52 2.535z" stroke="#888a85" stroke-width="1.0891" fill="url(#n)"/>
|
transform="translate(-28.8,-7)"
|
||||||
</g>
|
id="g3307">
|
||||||
|
<g
|
||||||
|
transform="matrix(1.1072,0,0,1.0714,74.214,8.4286)"
|
||||||
|
id="g3309">
|
||||||
|
<path
|
||||||
|
stroke-linejoin="round"
|
||||||
|
d="m25.892 30.185 19-19c2.175 0.35996 3.0847 1.7322 3.5 3.5l-19 19-4.6161 0.7045 1.1161-4.2045z"
|
||||||
|
fill-rule="evenodd"
|
||||||
|
stroke="url(#l)"
|
||||||
|
fill="url(#k)"
|
||||||
|
id="path3311" />
|
||||||
|
<path
|
||||||
|
opacity=".28235"
|
||||||
|
d="m26.792 30.685 18.498-18.398c1.0897 0.17844 1.5173 0.98794 2 2l-18.398 18.498-3.3 0.9 1.2-3z"
|
||||||
|
stroke="#fff"
|
||||||
|
fill="none"
|
||||||
|
id="path3313" />
|
||||||
|
<path
|
||||||
|
fill-rule="evenodd"
|
||||||
|
fill="url(#m)"
|
||||||
|
d="m24.55 34.633 1.6663-4.1803s1.1995 0.24536 1.9322 0.97509c0.73264 0.72973 0.99839 1.9438 0.99839 1.9438l-4.5969 1.2614z"
|
||||||
|
id="path3315" />
|
||||||
|
<path
|
||||||
|
stroke-linejoin="round"
|
||||||
|
d="m23 21.5-5.5 1.5 2-5"
|
||||||
|
transform="translate(6.3922,12.185)"
|
||||||
|
stroke="#e9b96e"
|
||||||
|
stroke-linecap="round"
|
||||||
|
fill="none"
|
||||||
|
id="path3317" />
|
||||||
|
<path
|
||||||
|
fill-rule="evenodd"
|
||||||
|
d="m23.955 33.685-0.90625 2.25 2.3438-0.65625c0.002-0.03184 0-0.06141 0-0.09375 0-0.80212-0.64531-1.4598-1.4375-1.5z"
|
||||||
|
id="path3319" />
|
||||||
|
</g>
|
||||||
|
<path
|
||||||
|
style="enable-background:new"
|
||||||
|
d="m121.62 22.515c2.0307-0.53628 4.3014 1.7694 3.8196 3.6963l2.4306-2.3522c1.1808-2.6427-1.2536-4.7247-3.8692-3.7443l-2.381 2.4002z"
|
||||||
|
stroke="#ef2929"
|
||||||
|
stroke-width="1.0891"
|
||||||
|
fill="url(#o)"
|
||||||
|
id="path3321" />
|
||||||
|
<path
|
||||||
|
style="enable-background:new"
|
||||||
|
d="m119.12 24.769c2.144-0.56623 4.5413 1.8683 4.0326 3.9028l2.5662-2.4836c0.8353-1.7098-2.2637-4.6473-4.085-3.9535l-2.52 2.535z"
|
||||||
|
stroke="#888a85"
|
||||||
|
stroke-width="1.0891"
|
||||||
|
fill="url(#n)"
|
||||||
|
id="path3323" />
|
||||||
|
</g>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-size:20px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#002255;fill-opacity:1;stroke:none;font-family:Arial;-inkscape-font-specification:Arial Bold"
|
||||||
|
x="12.955465"
|
||||||
|
y="41.587044"
|
||||||
|
id="text4694"
|
||||||
|
sodipodi:linespacing="125%"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan4696"
|
||||||
|
x="12.955465"
|
||||||
|
y="41.587044">DIP</tspan></text>
|
||||||
</svg>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 5.0 KiB After Width: | Height: | Size: 14 KiB |
File diff suppressed because it is too large
Load Diff
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 8.1 KiB |
|
@ -478,18 +478,21 @@ PICKED_ITEMS_LIST* BASE_SCREEN::PopCommandFromRedoList( )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void BASE_SCREEN::AddItem( EDA_ITEM* aItem )
|
#if defined(DEBUG)
|
||||||
|
|
||||||
|
void BASE_SCREEN::Show( int nestLevel, std::ostream& os ) const
|
||||||
{
|
{
|
||||||
wxCHECK_RET( aItem != NULL, wxT( "Attempt to add NULL item pointer to " ) + GetClass() +
|
// for now, make it look like XML, expand on this later.
|
||||||
wxT( "item list" ) );
|
NestedSpace( nestLevel, os ) << '<' << GetClass().Lower().mb_str() << ">\n";
|
||||||
m_items.push_back( aItem );
|
|
||||||
}
|
/* this class will eventually go away, but here's a place holder until then.
|
||||||
|
for( EDA_ITEM* item = m_drawList; item; item = item->Next() )
|
||||||
|
{
|
||||||
void BASE_SCREEN::InsertItem( EDA_ITEMS::iterator aIter, EDA_ITEM* aItem )
|
item->Show( nestLevel+1, os );
|
||||||
{
|
}
|
||||||
wxCHECK_RET( aItem != NULL, wxT( "Attempt to insert NULL item pointer to " ) + GetClass() +
|
*/
|
||||||
wxT( "item list" ) );
|
|
||||||
m_items.insert( aIter, aItem );
|
NestedSpace( nestLevel, os ) << "</" << GetClass().Lower().mb_str() << ">\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
|
@ -427,7 +427,7 @@ bool EDA_TEXT::TextHitTest( const EDA_RECT& aRect, bool aContains, int aAccuracy
|
||||||
|
|
||||||
void EDA_TEXT::Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aOffset,
|
void EDA_TEXT::Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aOffset,
|
||||||
EDA_Colors aColor, int aDrawMode,
|
EDA_Colors aColor, int aDrawMode,
|
||||||
GRTraceMode aFillMode, EDA_Colors aAnchor_color )
|
EDA_DRAW_MODE_T aFillMode, EDA_Colors aAnchor_color )
|
||||||
{
|
{
|
||||||
if( m_MultilineAllowed )
|
if( m_MultilineAllowed )
|
||||||
{
|
{
|
||||||
|
@ -471,13 +471,13 @@ void EDA_TEXT::Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aOffset,
|
||||||
|
|
||||||
void EDA_TEXT::DrawOneLineOfText( EDA_DRAW_PANEL* aPanel, wxDC* aDC,
|
void EDA_TEXT::DrawOneLineOfText( EDA_DRAW_PANEL* aPanel, wxDC* aDC,
|
||||||
const wxPoint& aOffset, EDA_Colors aColor,
|
const wxPoint& aOffset, EDA_Colors aColor,
|
||||||
int aDrawMode, GRTraceMode aFillMode,
|
int aDrawMode, EDA_DRAW_MODE_T aFillMode,
|
||||||
EDA_Colors aAnchor_color,
|
EDA_Colors aAnchor_color,
|
||||||
wxString& aText, wxPoint aPos )
|
wxString& aText, wxPoint aPos )
|
||||||
{
|
{
|
||||||
int width = m_Thickness;
|
int width = m_Thickness;
|
||||||
|
|
||||||
if( aFillMode == FILAIRE )
|
if( aFillMode == LINE )
|
||||||
width = 0;
|
width = 0;
|
||||||
|
|
||||||
if( aDrawMode != -1 )
|
if( aDrawMode != -1 )
|
||||||
|
@ -494,10 +494,10 @@ void EDA_TEXT::DrawOneLineOfText( EDA_DRAW_PANEL* aPanel, wxDC* aDC,
|
||||||
int cX = aPos.x + aOffset.x;
|
int cX = aPos.x + aOffset.x;
|
||||||
int cY = aPos.y + aOffset.y;
|
int cY = aPos.y + aOffset.y;
|
||||||
|
|
||||||
GRLine( &aPanel->m_ClipBox, aDC, cX - anchor_size, cY,
|
GRLine( aPanel->GetClipBox(), aDC, cX - anchor_size, cY,
|
||||||
cX + anchor_size, cY, 0, aAnchor_color );
|
cX + anchor_size, cY, 0, aAnchor_color );
|
||||||
|
|
||||||
GRLine( &aPanel->m_ClipBox, aDC, cX, cY - anchor_size,
|
GRLine( aPanel->GetClipBox(), aDC, cX, cY - anchor_size,
|
||||||
cX, cY + anchor_size, 0, aAnchor_color );
|
cX, cY + anchor_size, 0, aAnchor_color );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -131,10 +131,10 @@ void BLOCK_SELECTOR::Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aOf
|
||||||
GRSetDrawMode( aDC, aDrawMode );
|
GRSetDrawMode( aDC, aDrawMode );
|
||||||
|
|
||||||
if( w == 0 || h == 0 )
|
if( w == 0 || h == 0 )
|
||||||
GRLine( &aPanel->m_ClipBox, aDC, GetX() + aOffset.x, GetY() + aOffset.y,
|
GRLine( aPanel->GetClipBox(), aDC, GetX() + aOffset.x, GetY() + aOffset.y,
|
||||||
GetRight() + aOffset.x, GetBottom() + aOffset.y, 0, aColor );
|
GetRight() + aOffset.x, GetBottom() + aOffset.y, 0, aColor );
|
||||||
else
|
else
|
||||||
GRRect( &aPanel->m_ClipBox, aDC, GetX() + aOffset.x, GetY() + aOffset.y,
|
GRRect( aPanel->GetClipBox(), aDC, GetX() + aOffset.x, GetY() + aOffset.y,
|
||||||
GetRight() + aOffset.x, GetBottom() + aOffset.y, 0, aColor );
|
GetRight() + aOffset.x, GetBottom() + aOffset.y, 0, aColor );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -241,7 +241,7 @@ bool EDA_DRAW_FRAME::HandleBlockBegin( wxDC* DC, int key, const wxPoint& startpo
|
||||||
{
|
{
|
||||||
DisplayError( this, wxT( "No Block to paste" ), 20 );
|
DisplayError( this, wxT( "No Block to paste" ), 20 );
|
||||||
GetScreen()->m_BlockLocate.m_Command = BLOCK_IDLE;
|
GetScreen()->m_BlockLocate.m_Command = BLOCK_IDLE;
|
||||||
m_canvas->m_mouseCaptureCallback = NULL;
|
m_canvas->SetMouseCaptureCallback( NULL );
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -254,7 +254,7 @@ bool EDA_DRAW_FRAME::HandleBlockBegin( wxDC* DC, int key, const wxPoint& startpo
|
||||||
}
|
}
|
||||||
|
|
||||||
Block->m_State = STATE_BLOCK_MOVE;
|
Block->m_State = STATE_BLOCK_MOVE;
|
||||||
m_canvas->m_mouseCaptureCallback( m_canvas, DC, startpos, false );
|
m_canvas->CallMouseCapture( DC, startpos, false );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
@ -314,7 +314,7 @@ void AbortBlockCurrentCommand( EDA_DRAW_PANEL* Panel, wxDC* DC )
|
||||||
if( Panel->IsMouseCaptured() ) /* Erase current drawing on screen */
|
if( Panel->IsMouseCaptured() ) /* Erase current drawing on screen */
|
||||||
{
|
{
|
||||||
/* Clear block outline. */
|
/* Clear block outline. */
|
||||||
Panel->m_mouseCaptureCallback( Panel, DC, wxDefaultPosition, false );
|
Panel->CallMouseCapture( DC, wxDefaultPosition, false );
|
||||||
Panel->SetMouseCapture( NULL, NULL );
|
Panel->SetMouseCapture( NULL, NULL );
|
||||||
screen->SetCurItem( NULL );
|
screen->SetCurItem( NULL );
|
||||||
|
|
||||||
|
|
|
@ -162,7 +162,7 @@ void MARKER_BASE::DrawMarker( EDA_DRAW_PANEL* aPanel, wxDC* aDC, int aDrawMode,
|
||||||
corners[ii] += m_Pos + aOffset;
|
corners[ii] += m_Pos + aOffset;
|
||||||
}
|
}
|
||||||
|
|
||||||
GRClosedPoly( &aPanel->m_ClipBox, aDC, CORNERS_COUNT, corners,
|
GRClosedPoly( aPanel->GetClipBox(), aDC, CORNERS_COUNT, corners,
|
||||||
true, // = Filled
|
true, // = Filled
|
||||||
0, // outline width
|
0, // outline width
|
||||||
m_Color, // outline color
|
m_Color, // outline color
|
||||||
|
|
|
@ -252,7 +252,7 @@ void PLOTTER::marker( const wxPoint& position, int diametre, int aShapeId )
|
||||||
|
|
||||||
/* Convert a thick segment and plot it as an oval */
|
/* Convert a thick segment and plot it as an oval */
|
||||||
void PLOTTER::segment_as_oval( wxPoint start, wxPoint end, int width,
|
void PLOTTER::segment_as_oval( wxPoint start, wxPoint end, int width,
|
||||||
GRTraceMode tracemode )
|
EDA_DRAW_MODE_T tracemode )
|
||||||
{
|
{
|
||||||
wxPoint center( (start.x + end.x) / 2, (start.y + end.y) / 2 );
|
wxPoint center( (start.x + end.x) / 2, (start.y + end.y) / 2 );
|
||||||
wxSize size( end.x - start.x, end.y - start.y );
|
wxSize size( end.x - start.x, end.y - start.y );
|
||||||
|
@ -326,12 +326,12 @@ void PLOTTER::sketch_oval( wxPoint pos, wxSize size, int orient,
|
||||||
/* Plot 1 segment like a track segment
|
/* Plot 1 segment like a track segment
|
||||||
*/
|
*/
|
||||||
void PLOTTER::thick_segment( wxPoint start, wxPoint end, int width,
|
void PLOTTER::thick_segment( wxPoint start, wxPoint end, int width,
|
||||||
GRTraceMode tracemode )
|
EDA_DRAW_MODE_T tracemode )
|
||||||
{
|
{
|
||||||
switch( tracemode )
|
switch( tracemode )
|
||||||
{
|
{
|
||||||
case FILLED:
|
case FILLED:
|
||||||
case FILAIRE:
|
case LINE:
|
||||||
set_current_line_width( tracemode==FILLED ? width : -1 );
|
set_current_line_width( tracemode==FILLED ? width : -1 );
|
||||||
move_to( start );
|
move_to( start );
|
||||||
finish_to( end );
|
finish_to( end );
|
||||||
|
@ -346,11 +346,11 @@ void PLOTTER::thick_segment( wxPoint start, wxPoint end, int width,
|
||||||
|
|
||||||
|
|
||||||
void PLOTTER::thick_arc( wxPoint centre, int StAngle, int EndAngle, int radius,
|
void PLOTTER::thick_arc( wxPoint centre, int StAngle, int EndAngle, int radius,
|
||||||
int width, GRTraceMode tracemode )
|
int width, EDA_DRAW_MODE_T tracemode )
|
||||||
{
|
{
|
||||||
switch( tracemode )
|
switch( tracemode )
|
||||||
{
|
{
|
||||||
case FILAIRE:
|
case LINE:
|
||||||
set_current_line_width( -1 );
|
set_current_line_width( -1 );
|
||||||
arc( centre, StAngle, EndAngle, radius, NO_FILL, -1 );
|
arc( centre, StAngle, EndAngle, radius, NO_FILL, -1 );
|
||||||
break;
|
break;
|
||||||
|
@ -371,11 +371,11 @@ void PLOTTER::thick_arc( wxPoint centre, int StAngle, int EndAngle, int radius,
|
||||||
|
|
||||||
|
|
||||||
void PLOTTER::thick_rect( wxPoint p1, wxPoint p2, int width,
|
void PLOTTER::thick_rect( wxPoint p1, wxPoint p2, int width,
|
||||||
GRTraceMode tracemode )
|
EDA_DRAW_MODE_T tracemode )
|
||||||
{
|
{
|
||||||
switch( tracemode )
|
switch( tracemode )
|
||||||
{
|
{
|
||||||
case FILAIRE:
|
case LINE:
|
||||||
rect( p1, p2, NO_FILL, -1 );
|
rect( p1, p2, NO_FILL, -1 );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -401,11 +401,11 @@ void PLOTTER::thick_rect( wxPoint p1, wxPoint p2, int width,
|
||||||
|
|
||||||
|
|
||||||
void PLOTTER::thick_circle( wxPoint pos, int diametre, int width,
|
void PLOTTER::thick_circle( wxPoint pos, int diametre, int width,
|
||||||
GRTraceMode tracemode )
|
EDA_DRAW_MODE_T tracemode )
|
||||||
{
|
{
|
||||||
switch( tracemode )
|
switch( tracemode )
|
||||||
{
|
{
|
||||||
case FILAIRE:
|
case LINE:
|
||||||
circle( pos, diametre, NO_FILL, -1 );
|
circle( pos, diametre, NO_FILL, -1 );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
|
@ -213,15 +213,17 @@ void DXF_PLOTTER::set_dash( bool dashed )
|
||||||
* @param aPlotMode = FILLED, SKETCH ..
|
* @param aPlotMode = FILLED, SKETCH ..
|
||||||
*/
|
*/
|
||||||
void DXF_PLOTTER::thick_segment( wxPoint aStart, wxPoint aEnd, int aWidth,
|
void DXF_PLOTTER::thick_segment( wxPoint aStart, wxPoint aEnd, int aWidth,
|
||||||
GRTraceMode aPlotMode )
|
EDA_DRAW_MODE_T aPlotMode )
|
||||||
{
|
{
|
||||||
if( aPlotMode == FILAIRE ) /* just a line is Ok */
|
if( aPlotMode == LINE ) /* just a line is Ok */
|
||||||
{
|
{
|
||||||
move_to( aStart );
|
move_to( aStart );
|
||||||
finish_to( aEnd );
|
finish_to( aEnd );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
segment_as_oval( aStart, aEnd, aWidth, aPlotMode );
|
segment_as_oval( aStart, aEnd, aWidth, aPlotMode );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -253,7 +255,7 @@ void DXF_PLOTTER::arc( wxPoint centre, int StAngle, int EndAngle, int radius,
|
||||||
|
|
||||||
/* Plot oval pad at position. */
|
/* Plot oval pad at position. */
|
||||||
void DXF_PLOTTER::flash_pad_oval( wxPoint pos, wxSize size, int orient,
|
void DXF_PLOTTER::flash_pad_oval( wxPoint pos, wxSize size, int orient,
|
||||||
GRTraceMode trace_mode )
|
EDA_DRAW_MODE_T trace_mode )
|
||||||
{
|
{
|
||||||
wxASSERT( output_file );
|
wxASSERT( output_file );
|
||||||
|
|
||||||
|
@ -272,7 +274,7 @@ void DXF_PLOTTER::flash_pad_oval( wxPoint pos, wxSize size, int orient,
|
||||||
|
|
||||||
/* Plot round pad or via. */
|
/* Plot round pad or via. */
|
||||||
void DXF_PLOTTER::flash_pad_circle( wxPoint pos, int diametre,
|
void DXF_PLOTTER::flash_pad_circle( wxPoint pos, int diametre,
|
||||||
GRTraceMode trace_mode )
|
EDA_DRAW_MODE_T trace_mode )
|
||||||
{
|
{
|
||||||
wxASSERT( output_file );
|
wxASSERT( output_file );
|
||||||
circle( pos, diametre, NO_FILL );
|
circle( pos, diametre, NO_FILL );
|
||||||
|
@ -283,7 +285,7 @@ void DXF_PLOTTER::flash_pad_circle( wxPoint pos, int diametre,
|
||||||
* Plot rectangular pad vertical or horizontal (rectangular Pad)
|
* Plot rectangular pad vertical or horizontal (rectangular Pad)
|
||||||
*/
|
*/
|
||||||
void DXF_PLOTTER::flash_pad_rect( wxPoint pos, wxSize padsize,
|
void DXF_PLOTTER::flash_pad_rect( wxPoint pos, wxSize padsize,
|
||||||
int orient, GRTraceMode trace_mode )
|
int orient, EDA_DRAW_MODE_T trace_mode )
|
||||||
{
|
{
|
||||||
wxASSERT( output_file );
|
wxASSERT( output_file );
|
||||||
wxSize size;
|
wxSize size;
|
||||||
|
@ -353,7 +355,7 @@ void DXF_PLOTTER::flash_pad_rect( wxPoint pos, wxSize padsize,
|
||||||
* Plot mode = FILLED, SKETCH (unused)
|
* Plot mode = FILLED, SKETCH (unused)
|
||||||
*/
|
*/
|
||||||
void DXF_PLOTTER::flash_pad_trapez( wxPoint aPadPos, wxPoint aCorners[4],
|
void DXF_PLOTTER::flash_pad_trapez( wxPoint aPadPos, wxPoint aCorners[4],
|
||||||
int aPadOrient, GRTraceMode aTrace_Mode )
|
int aPadOrient, EDA_DRAW_MODE_T aTrace_Mode )
|
||||||
{
|
{
|
||||||
wxASSERT( output_file );
|
wxASSERT( output_file );
|
||||||
wxPoint coord[4]; /* coord actual corners of a trapezoidal trace */
|
wxPoint coord[4]; /* coord actual corners of a trapezoidal trace */
|
||||||
|
|
|
@ -369,14 +369,14 @@ void GERBER_PLOTTER::PlotImage( wxImage & aImage, wxPoint aPos, double aScaleFac
|
||||||
/* Function flash_pad_circle
|
/* Function flash_pad_circle
|
||||||
* Plot a circular pad or via at the user position pos
|
* Plot a circular pad or via at the user position pos
|
||||||
*/
|
*/
|
||||||
void GERBER_PLOTTER::flash_pad_circle( wxPoint pos, int diametre, GRTraceMode trace_mode )
|
void GERBER_PLOTTER::flash_pad_circle( wxPoint pos, int diametre, EDA_DRAW_MODE_T trace_mode )
|
||||||
{
|
{
|
||||||
wxASSERT( output_file );
|
wxASSERT( output_file );
|
||||||
wxSize size( diametre, diametre );
|
wxSize size( diametre, diametre );
|
||||||
|
|
||||||
switch( trace_mode )
|
switch( trace_mode )
|
||||||
{
|
{
|
||||||
case FILAIRE:
|
case LINE:
|
||||||
case SKETCH:
|
case SKETCH:
|
||||||
set_current_line_width( -1 );
|
set_current_line_width( -1 );
|
||||||
circle( pos, diametre - current_pen_width, NO_FILL );
|
circle( pos, diametre - current_pen_width, NO_FILL );
|
||||||
|
@ -398,7 +398,7 @@ void GERBER_PLOTTER::flash_pad_circle( wxPoint pos, int diametre, GRTraceMode tr
|
||||||
* For any orientation the shape is drawn as a segment
|
* For any orientation the shape is drawn as a segment
|
||||||
*/
|
*/
|
||||||
void GERBER_PLOTTER::flash_pad_oval( wxPoint pos, wxSize size, int orient,
|
void GERBER_PLOTTER::flash_pad_oval( wxPoint pos, wxSize size, int orient,
|
||||||
GRTraceMode trace_mode )
|
EDA_DRAW_MODE_T trace_mode )
|
||||||
{
|
{
|
||||||
wxASSERT( output_file );
|
wxASSERT( output_file );
|
||||||
int x0, y0, x1, y1, delta;
|
int x0, y0, x1, y1, delta;
|
||||||
|
@ -455,7 +455,7 @@ void GERBER_PLOTTER::flash_pad_oval( wxPoint pos, wxSize size, int orient,
|
||||||
* For others shape the direction is plotted as a polygon.
|
* For others shape the direction is plotted as a polygon.
|
||||||
*/
|
*/
|
||||||
void GERBER_PLOTTER::flash_pad_rect( wxPoint pos, wxSize size,
|
void GERBER_PLOTTER::flash_pad_rect( wxPoint pos, wxSize size,
|
||||||
int orient, GRTraceMode trace_mode )
|
int orient, EDA_DRAW_MODE_T trace_mode )
|
||||||
|
|
||||||
{
|
{
|
||||||
wxASSERT( output_file );
|
wxASSERT( output_file );
|
||||||
|
@ -472,7 +472,7 @@ void GERBER_PLOTTER::flash_pad_rect( wxPoint pos, wxSize size,
|
||||||
case 1800:
|
case 1800:
|
||||||
switch( trace_mode )
|
switch( trace_mode )
|
||||||
{
|
{
|
||||||
case FILAIRE:
|
case LINE:
|
||||||
case SKETCH:
|
case SKETCH:
|
||||||
set_current_line_width( -1 );
|
set_current_line_width( -1 );
|
||||||
rect( wxPoint( pos.x - (size.x - current_pen_width) / 2,
|
rect( wxPoint( pos.x - (size.x - current_pen_width) / 2,
|
||||||
|
@ -522,7 +522,7 @@ void GERBER_PLOTTER::flash_pad_rect( wxPoint pos, wxSize size,
|
||||||
* Plot mode = FILLED or SKETCH
|
* Plot mode = FILLED or SKETCH
|
||||||
*/
|
*/
|
||||||
void GERBER_PLOTTER::flash_pad_trapez( wxPoint aPadPos, wxPoint aCorners[4],
|
void GERBER_PLOTTER::flash_pad_trapez( wxPoint aPadPos, wxPoint aCorners[4],
|
||||||
int aPadOrient, GRTraceMode aTrace_Mode )
|
int aPadOrient, EDA_DRAW_MODE_T aTrace_Mode )
|
||||||
|
|
||||||
{
|
{
|
||||||
// polygon corners list
|
// polygon corners list
|
||||||
|
|
|
@ -204,13 +204,13 @@ void HPGL_PLOTTER::set_dash( bool dashed )
|
||||||
* @param width = segment width (thickness)
|
* @param width = segment width (thickness)
|
||||||
* @param tracemode = FILLED, SKETCH ..
|
* @param tracemode = FILLED, SKETCH ..
|
||||||
*/
|
*/
|
||||||
void HPGL_PLOTTER::thick_segment( wxPoint start, wxPoint end, int width, GRTraceMode tracemode )
|
void HPGL_PLOTTER::thick_segment( wxPoint start, wxPoint end, int width, EDA_DRAW_MODE_T tracemode )
|
||||||
{
|
{
|
||||||
wxASSERT( output_file );
|
wxASSERT( output_file );
|
||||||
wxPoint center;
|
wxPoint center;
|
||||||
wxSize size;
|
wxSize size;
|
||||||
|
|
||||||
if( (pen_diameter >= width) || (tracemode == FILAIRE) ) /* just a line is
|
if( (pen_diameter >= width) || (tracemode == LINE) ) /* just a line is
|
||||||
* Ok */
|
* Ok */
|
||||||
{
|
{
|
||||||
move_to( start );
|
move_to( start );
|
||||||
|
@ -267,7 +267,7 @@ void HPGL_PLOTTER::arc( wxPoint centre, int StAngle, int EndAngle, int rayon,
|
||||||
/* Plot oval pad.
|
/* Plot oval pad.
|
||||||
*/
|
*/
|
||||||
void HPGL_PLOTTER::flash_pad_oval( wxPoint pos, wxSize size, int orient,
|
void HPGL_PLOTTER::flash_pad_oval( wxPoint pos, wxSize size, int orient,
|
||||||
GRTraceMode trace_mode )
|
EDA_DRAW_MODE_T trace_mode )
|
||||||
{
|
{
|
||||||
wxASSERT( output_file );
|
wxASSERT( output_file );
|
||||||
int deltaxy, cx, cy;
|
int deltaxy, cx, cy;
|
||||||
|
@ -306,7 +306,7 @@ void HPGL_PLOTTER::flash_pad_oval( wxPoint pos, wxSize size, int orient,
|
||||||
/* Plot round pad or via.
|
/* Plot round pad or via.
|
||||||
*/
|
*/
|
||||||
void HPGL_PLOTTER::flash_pad_circle( wxPoint pos, int diametre,
|
void HPGL_PLOTTER::flash_pad_circle( wxPoint pos, int diametre,
|
||||||
GRTraceMode trace_mode )
|
EDA_DRAW_MODE_T trace_mode )
|
||||||
{
|
{
|
||||||
wxASSERT( output_file );
|
wxASSERT( output_file );
|
||||||
int rayon, delta;
|
int rayon, delta;
|
||||||
|
@ -315,7 +315,8 @@ void HPGL_PLOTTER::flash_pad_circle( wxPoint pos, int diametre,
|
||||||
|
|
||||||
delta = wxRound( pen_diameter - pen_overlap );
|
delta = wxRound( pen_diameter - pen_overlap );
|
||||||
rayon = diametre / 2;
|
rayon = diametre / 2;
|
||||||
if( trace_mode != FILAIRE )
|
|
||||||
|
if( trace_mode != LINE )
|
||||||
{
|
{
|
||||||
rayon = ( diametre - wxRound( pen_diameter ) ) / 2;
|
rayon = ( diametre - wxRound( pen_diameter ) ) / 2;
|
||||||
}
|
}
|
||||||
|
@ -357,7 +358,7 @@ void HPGL_PLOTTER::flash_pad_circle( wxPoint pos, int diametre,
|
||||||
* Units are user units
|
* Units are user units
|
||||||
*/
|
*/
|
||||||
void HPGL_PLOTTER::flash_pad_rect( wxPoint pos, wxSize padsize,
|
void HPGL_PLOTTER::flash_pad_rect( wxPoint pos, wxSize padsize,
|
||||||
int orient, GRTraceMode trace_mode )
|
int orient, EDA_DRAW_MODE_T trace_mode )
|
||||||
{
|
{
|
||||||
wxASSERT( output_file );
|
wxASSERT( output_file );
|
||||||
wxSize size;
|
wxSize size;
|
||||||
|
@ -367,7 +368,7 @@ void HPGL_PLOTTER::flash_pad_rect( wxPoint pos, wxSize padsize,
|
||||||
size.x = padsize.x / 2;
|
size.x = padsize.x / 2;
|
||||||
size.y = padsize.y / 2;
|
size.y = padsize.y / 2;
|
||||||
|
|
||||||
if( trace_mode != FILAIRE )
|
if( trace_mode != LINE )
|
||||||
{
|
{
|
||||||
size.x = (padsize.x - (int) pen_diameter) / 2;
|
size.x = (padsize.x - (int) pen_diameter) / 2;
|
||||||
size.y = (padsize.y - (int) pen_diameter) / 2;
|
size.y = (padsize.y - (int) pen_diameter) / 2;
|
||||||
|
@ -475,7 +476,7 @@ void HPGL_PLOTTER::flash_pad_rect( wxPoint pos, wxSize padsize,
|
||||||
* Plot mode FILLED or SKETCH
|
* Plot mode FILLED or SKETCH
|
||||||
*/
|
*/
|
||||||
void HPGL_PLOTTER::flash_pad_trapez( wxPoint aPadPos, wxPoint aCorners[4],
|
void HPGL_PLOTTER::flash_pad_trapez( wxPoint aPadPos, wxPoint aCorners[4],
|
||||||
int aPadOrient, GRTraceMode aTrace_Mode )
|
int aPadOrient, EDA_DRAW_MODE_T aTrace_Mode )
|
||||||
{
|
{
|
||||||
wxASSERT( output_file );
|
wxASSERT( output_file );
|
||||||
wxPoint polygone[4]; // coordinates of corners relatives to the pad
|
wxPoint polygone[4]; // coordinates of corners relatives to the pad
|
||||||
|
|
|
@ -456,7 +456,7 @@ bool PS_PLOTTER::end_plot()
|
||||||
* The shape is drawn as a segment
|
* The shape is drawn as a segment
|
||||||
*/
|
*/
|
||||||
void PS_PLOTTER::flash_pad_oval( wxPoint pos, wxSize size, int orient,
|
void PS_PLOTTER::flash_pad_oval( wxPoint pos, wxSize size, int orient,
|
||||||
GRTraceMode modetrace )
|
EDA_DRAW_MODE_T modetrace )
|
||||||
{
|
{
|
||||||
wxASSERT( output_file );
|
wxASSERT( output_file );
|
||||||
int x0, y0, x1, y1, delta;
|
int x0, y0, x1, y1, delta;
|
||||||
|
@ -489,7 +489,7 @@ void PS_PLOTTER::flash_pad_oval( wxPoint pos, wxSize size, int orient,
|
||||||
/* Plot round pad or via.
|
/* Plot round pad or via.
|
||||||
*/
|
*/
|
||||||
void PS_PLOTTER::flash_pad_circle( wxPoint pos, int diametre,
|
void PS_PLOTTER::flash_pad_circle( wxPoint pos, int diametre,
|
||||||
GRTraceMode modetrace )
|
EDA_DRAW_MODE_T modetrace )
|
||||||
{
|
{
|
||||||
wxASSERT( output_file );
|
wxASSERT( output_file );
|
||||||
|
|
||||||
|
@ -509,7 +509,7 @@ void PS_PLOTTER::flash_pad_circle( wxPoint pos, int diametre,
|
||||||
/* Plot rectangular pad in any orientation.
|
/* Plot rectangular pad in any orientation.
|
||||||
*/
|
*/
|
||||||
void PS_PLOTTER::flash_pad_rect( wxPoint pos, wxSize size,
|
void PS_PLOTTER::flash_pad_rect( wxPoint pos, wxSize size,
|
||||||
int orient, GRTraceMode trace_mode )
|
int orient, EDA_DRAW_MODE_T trace_mode )
|
||||||
{
|
{
|
||||||
static std::vector< wxPoint > cornerList;
|
static std::vector< wxPoint > cornerList;
|
||||||
cornerList.clear();
|
cornerList.clear();
|
||||||
|
@ -557,7 +557,7 @@ void PS_PLOTTER::flash_pad_rect( wxPoint pos, wxSize size,
|
||||||
* Plot mode FILLED or SKETCH
|
* Plot mode FILLED or SKETCH
|
||||||
*/
|
*/
|
||||||
void PS_PLOTTER::flash_pad_trapez( wxPoint aPadPos, wxPoint aCorners[4],
|
void PS_PLOTTER::flash_pad_trapez( wxPoint aPadPos, wxPoint aCorners[4],
|
||||||
int aPadOrient, GRTraceMode aTrace_Mode )
|
int aPadOrient, EDA_DRAW_MODE_T aTrace_Mode )
|
||||||
{
|
{
|
||||||
static std::vector< wxPoint > cornerList;
|
static std::vector< wxPoint > cornerList;
|
||||||
cornerList.clear();
|
cornerList.clear();
|
||||||
|
|
|
@ -1,9 +1,30 @@
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/*
|
||||||
// Name: copy_to_clipboard.cpp
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
// Author: jean-pierre Charras
|
*
|
||||||
// Created: 18 aug 2006
|
* Copyright (C) 2006 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
||||||
// Licence: License GNU
|
* Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
* of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, you may find one here:
|
||||||
|
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||||
|
* or you may search the http://www.gnu.org website for the version 2 license,
|
||||||
|
* or you may write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @file copy_to_clipboard.cpp
|
||||||
|
*/
|
||||||
|
|
||||||
#include "wx/metafile.h"
|
#include "wx/metafile.h"
|
||||||
#include "fctsys.h"
|
#include "fctsys.h"
|
||||||
|
@ -73,7 +94,7 @@ bool DrawPageOnClipboard( EDA_DRAW_FRAME* aFrame )
|
||||||
|
|
||||||
wxMetafileDC dc;
|
wxMetafileDC dc;
|
||||||
|
|
||||||
EDA_RECT tmp = aFrame->GetCanvas()->m_ClipBox;
|
EDA_RECT tmp = *aFrame->GetCanvas()->GetClipBox();
|
||||||
GRResetPenAndBrush( &dc );
|
GRResetPenAndBrush( &dc );
|
||||||
const bool plotBlackAndWhite = false;
|
const bool plotBlackAndWhite = false;
|
||||||
GRForceBlackPen( plotBlackAndWhite );
|
GRForceBlackPen( plotBlackAndWhite );
|
||||||
|
@ -81,10 +102,7 @@ bool DrawPageOnClipboard( EDA_DRAW_FRAME* aFrame )
|
||||||
dc.SetUserScale( scale, scale );
|
dc.SetUserScale( scale, scale );
|
||||||
ClipboardSizeX = dc.MaxX() + 10;
|
ClipboardSizeX = dc.MaxX() + 10;
|
||||||
ClipboardSizeY = dc.MaxY() + 10;
|
ClipboardSizeY = dc.MaxY() + 10;
|
||||||
aFrame->GetCanvas()->m_ClipBox.SetX( 0 );
|
aFrame->GetCanvas()->SetClipBox( EDA_RECT( wxPoint( 0, 0 ), wxSize( 0x7FFFFF0, 0x7FFFFF0 ) ) );
|
||||||
aFrame->GetCanvas()->m_ClipBox.SetY( 0 );
|
|
||||||
aFrame->GetCanvas()->m_ClipBox.SetWidth( 0x7FFFFF0 );
|
|
||||||
aFrame->GetCanvas()->m_ClipBox.SetHeight( 0x7FFFFF0 );
|
|
||||||
|
|
||||||
if( DrawBlock )
|
if( DrawBlock )
|
||||||
{
|
{
|
||||||
|
@ -94,7 +112,7 @@ bool DrawPageOnClipboard( EDA_DRAW_FRAME* aFrame )
|
||||||
const int maskLayer = 0xFFFFFFFF;
|
const int maskLayer = 0xFFFFFFFF;
|
||||||
aFrame->PrintPage( &dc, maskLayer, false );
|
aFrame->PrintPage( &dc, maskLayer, false );
|
||||||
screen->m_IsPrinting = false;
|
screen->m_IsPrinting = false;
|
||||||
aFrame->GetCanvas()->m_ClipBox = tmp;
|
aFrame->GetCanvas()->SetClipBox( tmp );
|
||||||
wxMetafile* mf = dc.Close();
|
wxMetafile* mf = dc.Close();
|
||||||
|
|
||||||
if( mf )
|
if( mf )
|
||||||
|
|
|
@ -205,72 +205,79 @@ static void InitKiCadAboutNew( AboutAppInfo& info )
|
||||||
|
|
||||||
/* The developers */
|
/* The developers */
|
||||||
info.AddDeveloper( new Contributor( wxT( "Jean-Pierre Charras" ),
|
info.AddDeveloper( new Contributor( wxT( "Jean-Pierre Charras" ),
|
||||||
wxT( "jean-pierre.charras@gipsa-lab.inpg.fr" ) ) );
|
wxT( "jean-pierre.charras@gipsa-lab.inpg.fr" ) ) );
|
||||||
info.AddDeveloper( new Contributor( wxT( "Dick Hollenbeck" ), wxT( "dick@softplc.com" ) ) );
|
info.AddDeveloper( new Contributor( wxT( "Dick Hollenbeck" ), wxT( "dick@softplc.com" ) ) );
|
||||||
info.AddDeveloper( new Contributor( wxT( "Hauptmech" ), wxT( "hauptmech@gmail.com" ) ) );
|
info.AddDeveloper( new Contributor( wxT( "Hauptmech" ), wxT( "hauptmech@gmail.com" ) ) );
|
||||||
info.AddDeveloper( new Contributor( wxT( "Jerry Jacobs" ),
|
info.AddDeveloper( new Contributor( wxT( "Jerry Jacobs" ),
|
||||||
wxT( "xor.gate.engineering@gmail.com" ) ) );
|
wxT( "xor.gate.engineering@gmail.com" ) ) );
|
||||||
info.AddDeveloper( new Contributor( wxT( "Jonas Diemer" ), wxT( "diemer@gmx.de" ) ) );
|
info.AddDeveloper( new Contributor( wxT( "Jonas Diemer" ), wxT( "diemer@gmx.de" ) ) );
|
||||||
info.AddDeveloper( new Contributor( wxT( "KBool Library" ),
|
info.AddDeveloper( new Contributor( wxT( "KBool Library" ),
|
||||||
wxT( "http://boolean.klaasholwerda.nl/bool.html" ) ) );
|
wxT( "http://boolean.klaasholwerda.nl/bool.html" ) ) );
|
||||||
info.AddDeveloper( new Contributor( wxT( "Lorenzo Marcantonio" ), wxT( "lomarcan@tin.it" ) ) );
|
info.AddDeveloper( new Contributor( wxT( "Lorenzo Marcantonio" ), wxT( "lomarcan@tin.it" ) ) );
|
||||||
info.AddDeveloper( new Contributor( wxT( "Marco Serantoni" ), wxT( "marco.serantoni@gmail.com" ) ) );
|
info.AddDeveloper( new Contributor( wxT( "Marco Serantoni" ),
|
||||||
|
wxT( "marco.serantoni@gmail.com" ) ) );
|
||||||
info.AddDeveloper( new Contributor( wxT( "Marco Mattila" ), wxT( "marcom99@gmail.com" ) ) );
|
info.AddDeveloper( new Contributor( wxT( "Marco Mattila" ), wxT( "marcom99@gmail.com" ) ) );
|
||||||
info.AddDeveloper( new Contributor( wxT( "Rafael Sokolowski" ),
|
info.AddDeveloper( new Contributor( wxT( "Rafael Sokolowski" ),
|
||||||
wxT( "rafael.sokolowski@web.de" ) ) );
|
wxT( "rafael.sokolowski@web.de" ) ) );
|
||||||
info.AddDeveloper( new Contributor( wxT( "Rok Markovic" ), wxT( "rok@kanardia.eu" ) ) );
|
info.AddDeveloper( new Contributor( wxT( "Rok Markovic" ), wxT( "rok@kanardia.eu" ) ) );
|
||||||
info.AddDeveloper( new Contributor( wxT( "Tim Hanson" ), wxT( "sideskate@gmail.com" ) ) );
|
info.AddDeveloper( new Contributor( wxT( "Tim Hanson" ), wxT( "sideskate@gmail.com" ) ) );
|
||||||
info.AddDeveloper( new Contributor( wxT( "Vesa Solonen" ), wxT( "vesa.solonen@hut.fi" ) ) );
|
info.AddDeveloper( new Contributor( wxT( "Vesa Solonen" ), wxT( "vesa.solonen@hut.fi" ) ) );
|
||||||
info.AddDeveloper( new Contributor( wxT( "Wayne Stambaugh" ), wxT( "stambaughw@verizon.net" ) ) );
|
info.AddDeveloper( new Contributor( wxT( "Wayne Stambaugh" ),
|
||||||
|
wxT( "stambaughw@verizon.net" ) ) );
|
||||||
|
|
||||||
/* The document writers */
|
/* The document writers */
|
||||||
info.AddDocWriter( new Contributor( wxT( "Jean-Pierre Charras" ),
|
info.AddDocWriter( new Contributor( wxT( "Jean-Pierre Charras" ),
|
||||||
wxT( "jean-pierre.charras@gipsa-lab.inpg.fr" ) ) );
|
wxT( "jean-pierre.charras@gipsa-lab.inpg.fr" ) ) );
|
||||||
info.AddDocWriter( new Contributor( wxT( "Igor Plyatov" ), wxT( "plyatov@gmail.com" ) ) );
|
info.AddDocWriter( new Contributor( wxT( "Igor Plyatov" ),
|
||||||
|
wxT( "plyatov@gmail.com" ) ) );
|
||||||
|
info.AddDocWriter( new Contributor( wxT( "Fabrizio Tappero" ),
|
||||||
|
wxT( "fabrizio.tappero@gmail.com" ) ) );
|
||||||
|
|
||||||
/* The translators
|
/* The translators
|
||||||
* As category the language to which the translation was done is used
|
* As category the language to which the translation was done is used
|
||||||
* and as icon the national flag of the corresponding country.
|
* and as icon the national flag of the corresponding country.
|
||||||
*/
|
*/
|
||||||
info.AddTranslator( new Contributor( wxT( "Martin Kratoška" ), wxT( "martin@ok1rr.com" ),
|
info.AddTranslator( new Contributor( wxT( "Martin Kratoška" ), wxT( "martin@ok1rr.com" ),
|
||||||
wxT( "Czech (CZ)" ), KiBitmapNew( lang_cs_xpm ) ) );
|
wxT( "Czech (CZ)" ), KiBitmapNew( lang_cs_xpm ) ) );
|
||||||
info.AddTranslator( new Contributor( wxT( "Jerry Jacobs" ),
|
info.AddTranslator( new Contributor( wxT( "Jerry Jacobs" ),
|
||||||
wxT( "xor.gate.engineering@gmail.com" ), wxT( "Dutch (NL)" ),
|
wxT( "xor.gate.engineering@gmail.com" ), wxT( "Dutch (NL)" ),
|
||||||
KiBitmapNew( lang_nl_xpm ) ) );
|
KiBitmapNew( lang_nl_xpm ) ) );
|
||||||
info.AddTranslator( new Contributor( wxT( "Vesa Solonen" ), wxT( "vesa.solonen@hut.fi" ),
|
info.AddTranslator( new Contributor( wxT( "Vesa Solonen" ), wxT( "vesa.solonen@hut.fi" ),
|
||||||
wxT( "Finnish (FI)" ), KiBitmapNew( lang_fi_xpm ) ) );
|
wxT( "Finnish (FI)" ), KiBitmapNew( lang_fi_xpm ) ) );
|
||||||
info.AddTranslator( new Contributor( wxT( "Jean-Pierre Charras" ),
|
info.AddTranslator( new Contributor( wxT( "Jean-Pierre Charras" ),
|
||||||
wxT( "jean-pierre.charras@gipsa-lab.inpg.fr" ),
|
wxT( "jean-pierre.charras@gipsa-lab.inpg.fr" ),
|
||||||
wxT( "French (FR)" ), KiBitmapNew( lang_fr_xpm ) ) );
|
wxT( "French (FR)" ), KiBitmapNew( lang_fr_xpm ) ) );
|
||||||
info.AddTranslator( new Contributor( wxT( "Mateusz Skowroński" ), wxT( "skowri@gmail.com" ),
|
info.AddTranslator( new Contributor( wxT( "Mateusz Skowroński" ), wxT( "skowri@gmail.com" ),
|
||||||
wxT( "Polish (PL)" ), KiBitmapNew( lang_pl_xpm ) ) );
|
wxT( "Polish (PL)" ), KiBitmapNew( lang_pl_xpm ) ) );
|
||||||
info.AddTranslator( new Contributor( wxT( "Renie Marquet" ), wxT( "reniemarquet@uol.com.br" ),
|
info.AddTranslator( new Contributor( wxT( "Renie Marquet" ), wxT( "reniemarquet@uol.com.br" ),
|
||||||
wxT( "Portuguese (PT)" ), KiBitmapNew( lang_pt_xpm ) ) );
|
wxT( "Portuguese (PT)" ), KiBitmapNew( lang_pt_xpm ) ) );
|
||||||
info.AddTranslator( new Contributor( wxT( "Igor Plyatov" ), wxT( "plyatov@gmail.com" ),
|
info.AddTranslator( new Contributor( wxT( "Igor Plyatov" ), wxT( "plyatov@gmail.com" ),
|
||||||
wxT( "Russian (RU)" ), KiBitmapNew( lang_ru_xpm ) ) );
|
wxT( "Russian (RU)" ), KiBitmapNew( lang_ru_xpm ) ) );
|
||||||
info.AddTranslator( new Contributor( wxT( "Andrey Fedorushkov" ), wxT( "<andrf@mail.ru>" ),
|
info.AddTranslator( new Contributor( wxT( "Andrey Fedorushkov" ), wxT( "<andrf@mail.ru>" ),
|
||||||
wxT( "Russian (RU)" ), KiBitmapNew( lang_ru_xpm ) ) );
|
wxT( "Russian (RU)" ), KiBitmapNew( lang_ru_xpm ) ) );
|
||||||
info.AddTranslator( new Contributor( wxT( "Pedro Martin del Valle" ), wxT( "pkicad@yahoo.es" ),
|
info.AddTranslator( new Contributor( wxT( "Pedro Martin del Valle" ), wxT( "pkicad@yahoo.es" ),
|
||||||
wxT( "Spanish (ES)" ), KiBitmapNew( lang_es_xpm ) ) );
|
wxT( "Spanish (ES)" ), KiBitmapNew( lang_es_xpm ) ) );
|
||||||
info.AddTranslator( new Contributor( wxT( "Iñigo Zuluaga" ), wxT( "inigo_zuluaga@yahoo.es" ),
|
info.AddTranslator( new Contributor( wxT( "Iñigo Zuluaga" ), wxT( "inigo_zuluaga@yahoo.es" ),
|
||||||
wxT( "Spanish (ES)" ), KiBitmapNew( lang_es_xpm ) ) );
|
wxT( "Spanish (ES)" ), KiBitmapNew( lang_es_xpm ) ) );
|
||||||
info.AddTranslator( new Contributor( wxT( "Rafael Sokolowski" ),
|
info.AddTranslator( new Contributor( wxT( "Rafael Sokolowski" ),
|
||||||
wxT( "rafael.sokolowski@web.de" ), wxT( "German (DE)" ),
|
wxT( "rafael.sokolowski@web.de" ), wxT( "German (DE)" ),
|
||||||
KiBitmapNew( lang_de_xpm ) ) );
|
KiBitmapNew( lang_de_xpm ) ) );
|
||||||
info.AddTranslator( new Contributor( wxT( "Kenta Yonekura" ),
|
info.AddTranslator( new Contributor( wxT( "Kenta Yonekura" ),
|
||||||
wxT( "midpika@hotmail.com" ), wxT( "Japanese (JA)" ),
|
wxT( "midpika@hotmail.com" ), wxT( "Japanese (JA)" ),
|
||||||
KiBitmapNew( lang_jp_xpm ) ) );
|
KiBitmapNew( lang_jp_xpm ) ) );
|
||||||
info.AddTranslator( new Contributor( wxT( "Manolis Stefanis, Athanasios Vlastos and Milonas Kostas" ),
|
info.AddTranslator( new Contributor( wxT( "Manolis Stefanis, Athanasios Vlastos and Milonas Kostas" ),
|
||||||
wxT( "milonas.ko@gmail.com" ), wxT( "Greek (el_GR)" ),
|
wxT( "milonas.ko@gmail.com" ), wxT( "Greek (el_GR)" ),
|
||||||
KiBitmapNew( lang_gr_xpm ) ) );
|
KiBitmapNew( lang_gr_xpm ) ) );
|
||||||
info.AddTranslator( new Contributor( wxT( "Massimo Cioce" ),
|
info.AddTranslator( new Contributor( wxT( "Massimo Cioce" ),
|
||||||
wxT( "ciocemax@alice.it" ), wxT( "Italian (IT)" ),
|
wxT( "ciocemax@alice.it" ), wxT( "Italian (IT)" ),
|
||||||
KiBitmapNew( lang_it_xpm ) ) );
|
KiBitmapNew( lang_it_xpm ) ) );
|
||||||
info.AddTranslator( new Contributor( wxT( "Evgeniy Ivanov" ),
|
info.AddTranslator( new Contributor( wxT( "Evgeniy Ivanov" ),
|
||||||
wxT( "evgeniy_p_ivanov@yahoo.ca" ), wxT( "Bulgarian (BG)" ),
|
wxT( "evgeniy_p_ivanov@yahoo.ca" ), wxT( "Bulgarian (BG)" ),
|
||||||
KiBitmapNew( lang_bg_xpm ) ) );
|
KiBitmapNew( lang_bg_xpm ) ) );
|
||||||
|
|
||||||
/* TODO: are these all russian translators, placed them here now, or else align them below other language maintainer with mail adress */
|
// TODO: are these all russian translators,
|
||||||
|
// placed them here now,
|
||||||
|
// or else align them below other language maintainer with mail adress
|
||||||
info.AddTranslator( new Contributor( wxT( "Remy Halvick" ), wxEmptyString, wxT( "Others" ) ) );
|
info.AddTranslator( new Contributor( wxT( "Remy Halvick" ), wxEmptyString, wxT( "Others" ) ) );
|
||||||
info.AddTranslator( new Contributor( wxT( "David Briscoe" ), wxEmptyString, wxT( "Others" ) ) );
|
info.AddTranslator( new Contributor( wxT( "David Briscoe" ), wxEmptyString, wxT( "Others" ) ) );
|
||||||
info.AddTranslator( new Contributor( wxT( "Dominique Laigle" ), wxEmptyString, wxT( "Others" ) ) );
|
info.AddTranslator( new Contributor( wxT( "Dominique Laigle" ), wxEmptyString, wxT( "Others" ) ) );
|
||||||
|
@ -278,13 +285,13 @@ static void InitKiCadAboutNew( AboutAppInfo& info )
|
||||||
|
|
||||||
/* Programm credits for icons */
|
/* Programm credits for icons */
|
||||||
info.AddArtist( new Contributor( wxT( "Iñigo Zuluagaz" ), wxT( "inigo_zuluaga@yahoo.es" ),
|
info.AddArtist( new Contributor( wxT( "Iñigo Zuluagaz" ), wxT( "inigo_zuluaga@yahoo.es" ),
|
||||||
wxT( "Icons by" ), KiBitmapNew( edit_module_xpm ) ) );
|
wxT( "Icons by" ), KiBitmapNew( edit_module_xpm ) ) );
|
||||||
info.AddArtist( new Contributor( wxT( "Fabrizio Tappero" ), wxT( "fabrizio.tappero@gmail.com" ),
|
info.AddArtist( new Contributor( wxT( "Fabrizio Tappero" ), wxT( "fabrizio.tappero@gmail.com" ),
|
||||||
wxT( "New icons by" ), KiBitmapNew( edit_module_xpm ) ) );
|
wxT( "New icons by" ), KiBitmapNew( edit_module_xpm ) ) );
|
||||||
info.AddArtist( new Contributor( wxT( "Renie Marquet" ), wxT( "reniemarquet@uol.com.br" ),
|
info.AddArtist( new Contributor( wxT( "Renie Marquet" ), wxT( "reniemarquet@uol.com.br" ),
|
||||||
wxT( "3D modules by" ), KiBitmapNew( three_d_xpm ) ) );
|
wxT( "3D modules by" ), KiBitmapNew( three_d_xpm ) ) );
|
||||||
info.AddArtist( new Contributor( wxT( "Christophe Boschat" ), wxT( "nox454@hotmail.fr" ),
|
info.AddArtist( new Contributor( wxT( "Christophe Boschat" ), wxT( "nox454@hotmail.fr" ),
|
||||||
wxT( "3D modules by" ), KiBitmapNew( three_d_xpm ) ) );
|
wxT( "3D modules by" ), KiBitmapNew( three_d_xpm ) ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -28,10 +28,7 @@
|
||||||
|
|
||||||
#include "fctsys.h"
|
#include "fctsys.h"
|
||||||
#include "gr_basic.h"
|
#include "gr_basic.h"
|
||||||
|
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "class_drawpanel.h"
|
|
||||||
|
|
||||||
#include "class_bitmap_base.h"
|
#include "class_bitmap_base.h"
|
||||||
|
|
||||||
#include "dialog_image_editor.h"
|
#include "dialog_image_editor.h"
|
||||||
|
|
|
@ -183,7 +183,7 @@ void EDA_DRAW_FRAME::OnActivate( wxActivateEvent& event )
|
||||||
m_FrameIsActive = event.GetActive();
|
m_FrameIsActive = event.GetActive();
|
||||||
|
|
||||||
if( m_canvas )
|
if( m_canvas )
|
||||||
m_canvas->m_CanStartBlock = -1;
|
m_canvas->SetCanStartBlock( -1 );
|
||||||
|
|
||||||
event.Skip(); // required under wxMAC
|
event.Skip(); // required under wxMAC
|
||||||
}
|
}
|
||||||
|
@ -192,7 +192,7 @@ void EDA_DRAW_FRAME::OnActivate( wxActivateEvent& event )
|
||||||
void EDA_DRAW_FRAME::OnMenuOpen( wxMenuEvent& event )
|
void EDA_DRAW_FRAME::OnMenuOpen( wxMenuEvent& event )
|
||||||
{
|
{
|
||||||
if( m_canvas )
|
if( m_canvas )
|
||||||
m_canvas->m_CanStartBlock = -1;
|
m_canvas->SetCanStartBlock( -1 );
|
||||||
|
|
||||||
event.Skip();
|
event.Skip();
|
||||||
}
|
}
|
||||||
|
@ -486,7 +486,7 @@ int EDA_DRAW_FRAME::ReturnBlockCommand( int key )
|
||||||
void EDA_DRAW_FRAME::InitBlockPasteInfos()
|
void EDA_DRAW_FRAME::InitBlockPasteInfos()
|
||||||
{
|
{
|
||||||
GetScreen()->m_BlockLocate.ClearItemsList();
|
GetScreen()->m_BlockLocate.ClearItemsList();
|
||||||
m_canvas->m_mouseCaptureCallback = NULL;
|
m_canvas->SetMouseCaptureCallback( NULL );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -94,19 +94,19 @@ EDA_DRAW_PANEL::EDA_DRAW_PANEL( EDA_DRAW_FRAME* parent, int id,
|
||||||
m_ClipBox.SetSize( size );
|
m_ClipBox.SetSize( size );
|
||||||
m_ClipBox.SetX( 0 );
|
m_ClipBox.SetX( 0 );
|
||||||
m_ClipBox.SetY( 0 );
|
m_ClipBox.SetY( 0 );
|
||||||
m_CanStartBlock = -1; // Command block can start if >= 0
|
m_canStartBlock = -1; // Command block can start if >= 0
|
||||||
m_AbortEnable = m_AbortRequest = false;
|
m_abortRequest = false;
|
||||||
m_AutoPAN_Enable = true;
|
m_enableAutoPan = true;
|
||||||
m_IgnoreMouseEvents = 0;
|
m_ignoreMouseEvents = false;
|
||||||
|
|
||||||
m_mouseCaptureCallback = NULL;
|
m_mouseCaptureCallback = NULL;
|
||||||
m_endMouseCaptureCallback = NULL;
|
m_endMouseCaptureCallback = NULL;
|
||||||
|
|
||||||
if( wxGetApp().GetSettings() )
|
if( wxGetApp().GetSettings() )
|
||||||
wxGetApp().GetSettings()->Read( wxT( "AutoPAN" ), &m_AutoPAN_Enable, true );
|
wxGetApp().GetSettings()->Read( wxT( "AutoPAN" ), &m_enableAutoPan, true );
|
||||||
|
|
||||||
m_AutoPAN_Request = false;
|
m_requestAutoPan = false;
|
||||||
m_Block_Enable = false;
|
m_enableBlockCommands = false;
|
||||||
|
|
||||||
#ifdef __WXMAC__
|
#ifdef __WXMAC__
|
||||||
m_defaultCursor = m_currentCursor = wxCURSOR_CROSS;
|
m_defaultCursor = m_currentCursor = wxCURSOR_CROSS;
|
||||||
|
@ -116,14 +116,14 @@ EDA_DRAW_PANEL::EDA_DRAW_PANEL( EDA_DRAW_FRAME* parent, int id,
|
||||||
m_showCrossHair = true;
|
m_showCrossHair = true;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
m_cursorLevel = 0;
|
m_cursorLevel = 0;
|
||||||
m_PrintIsMirrored = false;
|
m_PrintIsMirrored = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
EDA_DRAW_PANEL::~EDA_DRAW_PANEL()
|
EDA_DRAW_PANEL::~EDA_DRAW_PANEL()
|
||||||
{
|
{
|
||||||
wxGetApp().GetSettings()->Write( wxT( "AutoPAN" ), m_AutoPAN_Enable );
|
wxGetApp().GetSettings()->Write( wxT( "AutoPAN" ), m_enableAutoPan );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -306,7 +306,7 @@ void EDA_DRAW_PANEL::MoveCursor( const wxPoint& aPosition )
|
||||||
|
|
||||||
void EDA_DRAW_PANEL::OnActivate( wxActivateEvent& event )
|
void EDA_DRAW_PANEL::OnActivate( wxActivateEvent& event )
|
||||||
{
|
{
|
||||||
m_CanStartBlock = -1; // Block Command can't start
|
m_canStartBlock = -1; // Block Command can't start
|
||||||
event.Skip();
|
event.Skip();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -751,10 +751,10 @@ bool EDA_DRAW_PANEL::OnRightClick( wxMouseEvent& event )
|
||||||
GetParent()->AddMenuZoomAndGrid( &MasterMenu );
|
GetParent()->AddMenuZoomAndGrid( &MasterMenu );
|
||||||
|
|
||||||
pos = event.GetPosition();
|
pos = event.GetPosition();
|
||||||
m_IgnoreMouseEvents = true;
|
m_ignoreMouseEvents = true;
|
||||||
PopupMenu( &MasterMenu, pos );
|
PopupMenu( &MasterMenu, pos );
|
||||||
MoveCursorToCrossHair();
|
MoveCursorToCrossHair();
|
||||||
m_IgnoreMouseEvents = false;
|
m_ignoreMouseEvents = false;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -763,9 +763,9 @@ bool EDA_DRAW_PANEL::OnRightClick( wxMouseEvent& event )
|
||||||
void EDA_DRAW_PANEL::OnMouseLeaving( wxMouseEvent& event )
|
void EDA_DRAW_PANEL::OnMouseLeaving( wxMouseEvent& event )
|
||||||
{
|
{
|
||||||
if( m_mouseCaptureCallback == NULL ) // No command in progress.
|
if( m_mouseCaptureCallback == NULL ) // No command in progress.
|
||||||
m_AutoPAN_Request = false;
|
m_requestAutoPan = false;
|
||||||
|
|
||||||
if( !m_AutoPAN_Enable || !m_AutoPAN_Request || m_IgnoreMouseEvents )
|
if( !m_enableAutoPan || !m_requestAutoPan || m_ignoreMouseEvents )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// Auto pan if mouse is leave working area:
|
// Auto pan if mouse is leave working area:
|
||||||
|
@ -785,7 +785,7 @@ void EDA_DRAW_PANEL::OnMouseLeaving( wxMouseEvent& event )
|
||||||
|
|
||||||
void EDA_DRAW_PANEL::OnMouseWheel( wxMouseEvent& event )
|
void EDA_DRAW_PANEL::OnMouseWheel( wxMouseEvent& event )
|
||||||
{
|
{
|
||||||
if( m_IgnoreMouseEvents )
|
if( m_ignoreMouseEvents )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
wxRect rect = wxRect( wxPoint( 0, 0 ), GetClientSize() );
|
wxRect rect = wxRect( wxPoint( 0, 0 ), GetClientSize() );
|
||||||
|
@ -857,18 +857,18 @@ void EDA_DRAW_PANEL::OnMouseEvent( wxMouseEvent& event )
|
||||||
/* Count the drag events. Used to filter mouse moves before starting a
|
/* Count the drag events. Used to filter mouse moves before starting a
|
||||||
* block command. A block command can be started only if
|
* block command. A block command can be started only if
|
||||||
* MinDragEventCount > MIN_DRAG_COUNT_FOR_START_BLOCK_COMMAND
|
* MinDragEventCount > MIN_DRAG_COUNT_FOR_START_BLOCK_COMMAND
|
||||||
* and m_CanStartBlock >= 0
|
* and m_canStartBlock >= 0
|
||||||
* in order to avoid spurious block commands.
|
* in order to avoid spurious block commands.
|
||||||
*/
|
*/
|
||||||
static int MinDragEventCount;
|
static int MinDragEventCount;
|
||||||
|
|
||||||
if( event.Leaving() )
|
if( event.Leaving() )
|
||||||
{
|
{
|
||||||
m_CanStartBlock = -1;
|
m_canStartBlock = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if( !IsMouseCaptured() ) // No mouse capture in progress.
|
if( !IsMouseCaptured() ) // No mouse capture in progress.
|
||||||
m_AutoPAN_Request = false;
|
m_requestAutoPan = false;
|
||||||
|
|
||||||
if( GetParent()->IsActive() )
|
if( GetParent()->IsActive() )
|
||||||
SetFocus();
|
SetFocus();
|
||||||
|
@ -886,7 +886,7 @@ void EDA_DRAW_PANEL::OnMouseEvent( wxMouseEvent& event )
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if( m_IgnoreMouseEvents )
|
if( m_ignoreMouseEvents )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if( event.LeftIsDown() )
|
if( event.LeftIsDown() )
|
||||||
|
@ -973,7 +973,7 @@ void EDA_DRAW_PANEL::OnMouseEvent( wxMouseEvent& event )
|
||||||
if( LastPanel != this )
|
if( LastPanel != this )
|
||||||
{
|
{
|
||||||
MinDragEventCount = 0;
|
MinDragEventCount = 0;
|
||||||
m_CanStartBlock = -1;
|
m_canStartBlock = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* A new command block can start after a release buttons
|
/* A new command block can start after a release buttons
|
||||||
|
@ -985,7 +985,7 @@ void EDA_DRAW_PANEL::OnMouseEvent( wxMouseEvent& event )
|
||||||
if( !event.LeftIsDown() && !event.MiddleIsDown() )
|
if( !event.LeftIsDown() && !event.MiddleIsDown() )
|
||||||
{
|
{
|
||||||
MinDragEventCount = 0;
|
MinDragEventCount = 0;
|
||||||
m_CanStartBlock = 0;
|
m_canStartBlock = 0;
|
||||||
|
|
||||||
/* Remember the last cursor position when a drag mouse starts
|
/* Remember the last cursor position when a drag mouse starts
|
||||||
* this is the last position ** before ** clicking a button
|
* this is the last position ** before ** clicking a button
|
||||||
|
@ -997,7 +997,7 @@ void EDA_DRAW_PANEL::OnMouseEvent( wxMouseEvent& event )
|
||||||
m_CursorStartPos = screen->GetCrossHairPosition();
|
m_CursorStartPos = screen->GetCrossHairPosition();
|
||||||
}
|
}
|
||||||
|
|
||||||
if( m_Block_Enable && !(localbutt & GR_M_DCLICK) )
|
if( m_enableBlockCommands && !(localbutt & GR_M_DCLICK) )
|
||||||
{
|
{
|
||||||
if( !screen->IsBlockActive() )
|
if( !screen->IsBlockActive() )
|
||||||
{
|
{
|
||||||
|
@ -1008,12 +1008,12 @@ void EDA_DRAW_PANEL::OnMouseEvent( wxMouseEvent& event )
|
||||||
{
|
{
|
||||||
if( screen->m_BlockLocate.m_State == STATE_BLOCK_MOVE )
|
if( screen->m_BlockLocate.m_State == STATE_BLOCK_MOVE )
|
||||||
{
|
{
|
||||||
m_AutoPAN_Request = false;
|
m_requestAutoPan = false;
|
||||||
GetParent()->HandleBlockPlace( &DC );
|
GetParent()->HandleBlockPlace( &DC );
|
||||||
ignoreNextLeftButtonRelease = true;
|
ignoreNextLeftButtonRelease = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if( ( m_CanStartBlock >= 0 )
|
else if( ( m_canStartBlock >= 0 )
|
||||||
&& ( event.LeftIsDown() || event.MiddleIsDown() )
|
&& ( event.LeftIsDown() || event.MiddleIsDown() )
|
||||||
&& !IsMouseCaptured() )
|
&& !IsMouseCaptured() )
|
||||||
{
|
{
|
||||||
|
@ -1042,7 +1042,7 @@ void EDA_DRAW_PANEL::OnMouseEvent( wxMouseEvent& event )
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
m_AutoPAN_Request = true;
|
m_requestAutoPan = true;
|
||||||
SetCursor( wxCURSOR_SIZING );
|
SetCursor( wxCURSOR_SIZING );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1068,19 +1068,19 @@ void EDA_DRAW_PANEL::OnMouseEvent( wxMouseEvent& event )
|
||||||
if( m_endMouseCaptureCallback )
|
if( m_endMouseCaptureCallback )
|
||||||
{
|
{
|
||||||
m_endMouseCaptureCallback( this, &DC );
|
m_endMouseCaptureCallback( this, &DC );
|
||||||
m_AutoPAN_Request = false;
|
m_requestAutoPan = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
SetCursor( m_currentCursor );
|
SetCursor( m_currentCursor );
|
||||||
}
|
}
|
||||||
else if( screen->m_BlockLocate.m_State == STATE_BLOCK_END )
|
else if( screen->m_BlockLocate.m_State == STATE_BLOCK_END )
|
||||||
{
|
{
|
||||||
m_AutoPAN_Request = false;
|
m_requestAutoPan = false;
|
||||||
GetParent()->HandleBlockEnd( &DC );
|
GetParent()->HandleBlockEnd( &DC );
|
||||||
SetCursor( m_currentCursor );
|
SetCursor( m_currentCursor );
|
||||||
if( screen->m_BlockLocate.m_State == STATE_BLOCK_MOVE )
|
if( screen->m_BlockLocate.m_State == STATE_BLOCK_MOVE )
|
||||||
{
|
{
|
||||||
m_AutoPAN_Request = true;
|
m_requestAutoPan = true;
|
||||||
SetCursor( wxCURSOR_HAND );
|
SetCursor( wxCURSOR_HAND );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1128,7 +1128,7 @@ void EDA_DRAW_PANEL::OnKeyEvent( wxKeyEvent& event )
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case WXK_ESCAPE:
|
case WXK_ESCAPE:
|
||||||
m_AbortRequest = true;
|
m_abortRequest = true;
|
||||||
|
|
||||||
if( IsMouseCaptured() )
|
if( IsMouseCaptured() )
|
||||||
EndMouseCapture();
|
EndMouseCapture();
|
||||||
|
@ -1231,7 +1231,7 @@ void EDA_DRAW_PANEL::EndMouseCapture( int id, int cursor, const wxString& title,
|
||||||
|
|
||||||
m_mouseCaptureCallback = NULL;
|
m_mouseCaptureCallback = NULL;
|
||||||
m_endMouseCaptureCallback = NULL;
|
m_endMouseCaptureCallback = NULL;
|
||||||
m_AutoPAN_Request = false;
|
m_requestAutoPan = false;
|
||||||
|
|
||||||
if( id != -1 && cursor != -1 )
|
if( id != -1 && cursor != -1 )
|
||||||
{
|
{
|
||||||
|
@ -1239,3 +1239,21 @@ void EDA_DRAW_PANEL::EndMouseCapture( int id, int cursor, const wxString& title,
|
||||||
GetParent()->SetToolID( id, cursor, title );
|
GetParent()->SetToolID( id, cursor, title );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void EDA_DRAW_PANEL::CallMouseCapture( wxDC* aDC, const wxPoint& aPosition, bool aErase )
|
||||||
|
{
|
||||||
|
wxCHECK_RET( aDC != NULL, wxT( "Invalid device context." ) );
|
||||||
|
wxCHECK_RET( m_mouseCaptureCallback != NULL, wxT( "Mouse capture callback not set." ) );
|
||||||
|
|
||||||
|
m_mouseCaptureCallback( this, aDC, aPosition, aErase );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void EDA_DRAW_PANEL::CallEndMouseCapture( wxDC* aDC )
|
||||||
|
{
|
||||||
|
wxCHECK_RET( aDC != NULL, wxT( "Invalid device context." ) );
|
||||||
|
wxCHECK_RET( m_endMouseCaptureCallback != NULL, wxT( "End mouse capture callback not set." ) );
|
||||||
|
|
||||||
|
m_endMouseCaptureCallback( this, aDC );
|
||||||
|
}
|
||||||
|
|
|
@ -230,8 +230,8 @@ void DrawGraphicText( EDA_DRAW_PANEL* aPanel,
|
||||||
const wxString& aText,
|
const wxString& aText,
|
||||||
int aOrient,
|
int aOrient,
|
||||||
const wxSize& aSize,
|
const wxSize& aSize,
|
||||||
enum GRTextHorizJustifyType aH_justify,
|
enum EDA_TEXT_HJUSTIFY_T aH_justify,
|
||||||
enum GRTextVertJustifyType aV_justify,
|
enum EDA_TEXT_VJUSTIFY_T aV_justify,
|
||||||
int aWidth,
|
int aWidth,
|
||||||
bool aItalic,
|
bool aItalic,
|
||||||
bool aBold,
|
bool aBold,
|
||||||
|
@ -249,7 +249,7 @@ void DrawGraphicText( EDA_DRAW_PANEL* aPanel,
|
||||||
int overbar_italic_comp; // Italic compensation for overbar
|
int overbar_italic_comp; // Italic compensation for overbar
|
||||||
EDA_RECT* clipBox; // Clip box used in basic draw functions
|
EDA_RECT* clipBox; // Clip box used in basic draw functions
|
||||||
|
|
||||||
clipBox = aPanel ? &aPanel->m_ClipBox : NULL;
|
clipBox = aPanel ? aPanel->GetClipBox() : NULL;
|
||||||
#define BUF_SIZE 100
|
#define BUF_SIZE 100
|
||||||
wxPoint coord[BUF_SIZE + 1]; // Buffer coordinate used to draw polylines (one char shape)
|
wxPoint coord[BUF_SIZE + 1]; // Buffer coordinate used to draw polylines (one char shape)
|
||||||
bool sketch_mode = false;
|
bool sketch_mode = false;
|
||||||
|
@ -292,10 +292,10 @@ void DrawGraphicText( EDA_DRAW_PANEL* aPanel,
|
||||||
xc = current_char_pos.x;
|
xc = current_char_pos.x;
|
||||||
yc = current_char_pos.y;
|
yc = current_char_pos.y;
|
||||||
|
|
||||||
x0 = aPanel->m_ClipBox.GetX() - ll;
|
x0 = aPanel->GetClipBox()->GetX() - ll;
|
||||||
y0 = aPanel->m_ClipBox.GetY() - ll;
|
y0 = aPanel->GetClipBox()->GetY() - ll;
|
||||||
xm = aPanel->m_ClipBox.GetRight() + ll;
|
xm = aPanel->GetClipBox()->GetRight() + ll;
|
||||||
ym = aPanel->m_ClipBox.GetBottom() + ll;
|
ym = aPanel->GetClipBox()->GetBottom() + ll;
|
||||||
|
|
||||||
if( xc < x0 )
|
if( xc < x0 )
|
||||||
return;
|
return;
|
||||||
|
@ -366,7 +366,7 @@ void DrawGraphicText( EDA_DRAW_PANEL* aPanel,
|
||||||
aCallback( current_char_pos.x, current_char_pos.y, end.x, end.y );
|
aCallback( current_char_pos.x, current_char_pos.y, end.x, end.y );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
GRLine( &aPanel->m_ClipBox, aDC,
|
GRLine( aPanel->GetClipBox(), aDC,
|
||||||
current_char_pos.x, current_char_pos.y, end.x, end.y, aWidth, aColor );
|
current_char_pos.x, current_char_pos.y, end.x, end.y, aWidth, aColor );
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
@ -521,8 +521,8 @@ void PLOTTER::text( const wxPoint& aPos,
|
||||||
const wxString& aText,
|
const wxString& aText,
|
||||||
int aOrient,
|
int aOrient,
|
||||||
const wxSize& aSize,
|
const wxSize& aSize,
|
||||||
enum GRTextHorizJustifyType aH_justify,
|
enum EDA_TEXT_HJUSTIFY_T aH_justify,
|
||||||
enum GRTextVertJustifyType aV_justify,
|
enum EDA_TEXT_VJUSTIFY_T aV_justify,
|
||||||
int aWidth,
|
int aWidth,
|
||||||
bool aItalic,
|
bool aItalic,
|
||||||
bool aBold )
|
bool aBold )
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @file edaapl.cpp
|
* @file edaappl.cpp
|
||||||
*
|
*
|
||||||
* @brief For the main application: init functions, and language selection
|
* @brief For the main application: init functions, and language selection
|
||||||
* (locale handling)
|
* (locale handling)
|
||||||
|
|
|
@ -80,37 +80,6 @@ SCH_ITEM::~SCH_ITEM()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void SCH_ITEM::Place( SCH_EDIT_FRAME* aFrame, wxDC* aDC )
|
|
||||||
{
|
|
||||||
SCH_SCREEN* screen = aFrame->GetScreen();
|
|
||||||
|
|
||||||
if( IsNew() )
|
|
||||||
{
|
|
||||||
if( !screen->CheckIfOnDrawList( this ) ) // don't want a loop!
|
|
||||||
screen->AddToDrawList( this );
|
|
||||||
|
|
||||||
aFrame->SetRepeatItem( this );
|
|
||||||
aFrame->SaveCopyInUndoList( this, UR_NEW );
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
aFrame->SaveUndoItemInUndoList( this );
|
|
||||||
}
|
|
||||||
|
|
||||||
m_Flags = 0;
|
|
||||||
screen->SetModify();
|
|
||||||
screen->SetCurItem( NULL );
|
|
||||||
aFrame->GetCanvas()->SetMouseCapture( NULL, NULL );
|
|
||||||
aFrame->GetCanvas()->EndMouseCapture();
|
|
||||||
|
|
||||||
if( aDC )
|
|
||||||
{
|
|
||||||
EDA_CROSS_HAIR_MANAGER( aFrame->GetCanvas(), aDC ); // Erase schematic cursor
|
|
||||||
Draw( aFrame->GetCanvas(), aDC, wxPoint( 0, 0 ), GR_DEFAULT_DRAWMODE );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
bool SCH_ITEM::IsConnected( const wxPoint& aPosition ) const
|
bool SCH_ITEM::IsConnected( const wxPoint& aPosition ) const
|
||||||
{
|
{
|
||||||
if( m_Flags & STRUCT_DELETED || m_Flags & SKIP_STRUCT )
|
if( m_Flags & STRUCT_DELETED || m_Flags & SKIP_STRUCT )
|
||||||
|
|
|
@ -1034,7 +1034,7 @@ void EDA_DRAW_FRAME::TraceWorkSheet( wxDC* DC, BASE_SCREEN* screen, int line_wid
|
||||||
if( !screen->m_IsPrinting & g_ShowPageLimits )
|
if( !screen->m_IsPrinting & g_ShowPageLimits )
|
||||||
{
|
{
|
||||||
GRSetDrawMode( DC, GR_COPY );
|
GRSetDrawMode( DC, GR_COPY );
|
||||||
GRRect( &m_canvas->m_ClipBox, DC, 0, 0,
|
GRRect( m_canvas->GetClipBox(), DC, 0, 0,
|
||||||
pageSize.x * scale, pageSize.y * scale, width,
|
pageSize.x * scale, pageSize.y * scale, width,
|
||||||
g_DrawBgColor == WHITE ? LIGHTGRAY : DARKDARKGRAY );
|
g_DrawBgColor == WHITE ? LIGHTGRAY : DARKDARKGRAY );
|
||||||
}
|
}
|
||||||
|
@ -1052,13 +1052,13 @@ void EDA_DRAW_FRAME::TraceWorkSheet( wxDC* DC, BASE_SCREEN* screen, int line_wid
|
||||||
yg = pageSize.y - pageInfo.GetBottomMarginMils();
|
yg = pageSize.y - pageInfo.GetBottomMarginMils();
|
||||||
|
|
||||||
#if defined(KICAD_GOST)
|
#if defined(KICAD_GOST)
|
||||||
GRRect( &m_canvas->m_ClipBox, DC, refx * scale, refy * scale,
|
GRRect( m_canvas->GetClipBox(), DC, refx * scale, refy * scale,
|
||||||
xg * scale, yg * scale, width, Color );
|
xg * scale, yg * scale, width, Color );
|
||||||
|
|
||||||
#else
|
#else
|
||||||
for( ii = 0; ii < 2; ii++ )
|
for( ii = 0; ii < 2; ii++ )
|
||||||
{
|
{
|
||||||
GRRect( &m_canvas->m_ClipBox, DC, refx * scale, refy * scale,
|
GRRect( m_canvas->GetClipBox(), DC, refx * scale, refy * scale,
|
||||||
xg * scale, yg * scale, width, Color );
|
xg * scale, yg * scale, width, Color );
|
||||||
|
|
||||||
refx += GRID_REF_W; refy += GRID_REF_W;
|
refx += GRID_REF_W; refy += GRID_REF_W;
|
||||||
|
@ -1094,7 +1094,7 @@ void EDA_DRAW_FRAME::TraceWorkSheet( wxDC* DC, BASE_SCREEN* screen, int line_wid
|
||||||
case WS_SEGMENT_LU:
|
case WS_SEGMENT_LU:
|
||||||
xg = pageInfo.GetLeftMargin() - WsItem->m_Endx;
|
xg = pageInfo.GetLeftMargin() - WsItem->m_Endx;
|
||||||
yg = pageSize.y - pageInfo.GetBottomMarginMils() - WsItem->m_Endy;
|
yg = pageSize.y - pageInfo.GetBottomMarginMils() - WsItem->m_Endy;
|
||||||
GRLine( &m_canvas->m_ClipBox, DC, pos.x, pos.y,
|
GRLine( m_canvas->GetClipBox(), DC, pos.x, pos.y,
|
||||||
xg * scale, yg * scale, width, Color );
|
xg * scale, yg * scale, width, Color );
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -1111,7 +1111,7 @@ void EDA_DRAW_FRAME::TraceWorkSheet( wxDC* DC, BASE_SCREEN* screen, int line_wid
|
||||||
case WS_SEGMENT_LT:
|
case WS_SEGMENT_LT:
|
||||||
xg = pageInfo.GetLeftMarginMils() + WsItem->m_Endx;
|
xg = pageInfo.GetLeftMarginMils() + WsItem->m_Endx;
|
||||||
yg = pageInfo.GetBottomMarginMils() + WsItem->m_Endy;
|
yg = pageInfo.GetBottomMarginMils() + WsItem->m_Endy;
|
||||||
GRLine( &m_canvas->m_ClipBox, DC, pos.x, pos.y,
|
GRLine( &m_canvas->GetClipBox(), DC, pos.x, pos.y,
|
||||||
xg * scale, yg * scale, width, Color );
|
xg * scale, yg * scale, width, Color );
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -1134,7 +1134,7 @@ void EDA_DRAW_FRAME::TraceWorkSheet( wxDC* DC, BASE_SCREEN* screen, int line_wid
|
||||||
|
|
||||||
if( ii < xg - PAS_REF / 2 )
|
if( ii < xg - PAS_REF / 2 )
|
||||||
{
|
{
|
||||||
GRLine( &m_canvas->m_ClipBox, DC, ii * scale, refy * scale,
|
GRLine( m_canvas->GetClipBox(), DC, ii * scale, refy * scale,
|
||||||
ii * scale, ( refy + GRID_REF_W ) * scale, width, Color );
|
ii * scale, ( refy + GRID_REF_W ) * scale, width, Color );
|
||||||
}
|
}
|
||||||
DrawGraphicText( m_canvas, DC,
|
DrawGraphicText( m_canvas, DC,
|
||||||
|
@ -1146,7 +1146,7 @@ void EDA_DRAW_FRAME::TraceWorkSheet( wxDC* DC, BASE_SCREEN* screen, int line_wid
|
||||||
|
|
||||||
if( ii < xg - PAS_REF / 2 )
|
if( ii < xg - PAS_REF / 2 )
|
||||||
{
|
{
|
||||||
GRLine( &m_canvas->m_ClipBox, DC, ii * scale, yg * scale,
|
GRLine( m_canvas->GetClipBox(), DC, ii * scale, yg * scale,
|
||||||
ii * scale, ( yg - GRID_REF_W ) * scale, width, Color );
|
ii * scale, ( yg - GRID_REF_W ) * scale, width, Color );
|
||||||
}
|
}
|
||||||
DrawGraphicText( m_canvas, DC,
|
DrawGraphicText( m_canvas, DC,
|
||||||
|
@ -1169,7 +1169,7 @@ void EDA_DRAW_FRAME::TraceWorkSheet( wxDC* DC, BASE_SCREEN* screen, int line_wid
|
||||||
|
|
||||||
if( ii < yg - PAS_REF / 2 )
|
if( ii < yg - PAS_REF / 2 )
|
||||||
{
|
{
|
||||||
GRLine( &m_canvas->m_ClipBox, DC, refx * scale, ii * scale,
|
GRLine( m_canvas->GetClipBox(), DC, refx * scale, ii * scale,
|
||||||
( refx + GRID_REF_W ) * scale, ii * scale, width, Color );
|
( refx + GRID_REF_W ) * scale, ii * scale, width, Color );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1182,7 +1182,7 @@ void EDA_DRAW_FRAME::TraceWorkSheet( wxDC* DC, BASE_SCREEN* screen, int line_wid
|
||||||
|
|
||||||
if( ii < yg - PAS_REF / 2 )
|
if( ii < yg - PAS_REF / 2 )
|
||||||
{
|
{
|
||||||
GRLine( &m_canvas->m_ClipBox, DC, xg * scale, ii * scale,
|
GRLine( m_canvas->GetClipBox(), DC, xg * scale, ii * scale,
|
||||||
( xg - GRID_REF_W ) * scale, ii * scale, width, Color );
|
( xg - GRID_REF_W ) * scale, ii * scale, width, Color );
|
||||||
}
|
}
|
||||||
DrawGraphicText( m_canvas, DC,
|
DrawGraphicText( m_canvas, DC,
|
||||||
|
@ -1336,7 +1336,7 @@ void EDA_DRAW_FRAME::TraceWorkSheet( wxDC* DC, BASE_SCREEN* screen, int line_wid
|
||||||
pageInfo.GetRightMarginMils() - WsItem->m_Endx;
|
pageInfo.GetRightMarginMils() - WsItem->m_Endx;
|
||||||
yg = pageSize.y -
|
yg = pageSize.y -
|
||||||
pageInfo.GetBottomMarginMils() - WsItem->m_Endy;
|
pageInfo.GetBottomMarginMils() - WsItem->m_Endy;
|
||||||
GRLine( &m_canvas->m_ClipBox, DC, pos.x, pos.y,
|
GRLine( &m_canvas->GetClipBox(), DC, pos.x, pos.y,
|
||||||
xg * scale, yg * scale, width, Color );
|
xg * scale, yg * scale, width, Color );
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -1400,7 +1400,7 @@ void EDA_DRAW_FRAME::TraceWorkSheet( wxDC* DC, BASE_SCREEN* screen, int line_wid
|
||||||
pageInfo.GetRightMarginMils() - WsItem->m_Endx;
|
pageInfo.GetRightMarginMils() - WsItem->m_Endx;
|
||||||
yg = pageSize.y -
|
yg = pageSize.y -
|
||||||
pageInfo.GetBottomMarginMils() - WsItem->m_Endy;
|
pageInfo.GetBottomMarginMils() - WsItem->m_Endy;
|
||||||
GRLine( &m_canvas->m_ClipBox, DC, pos.x, pos.y,
|
GRLine( &m_canvas->GetClipBox(), DC, pos.x, pos.y,
|
||||||
xg * scale, yg * scale, width, Color );
|
xg * scale, yg * scale, width, Color );
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -1597,7 +1597,7 @@ void EDA_DRAW_FRAME::TraceWorkSheet( wxDC* DC, BASE_SCREEN* screen, int line_wid
|
||||||
GRID_REF_W - pageInfo.GetRightMarginMils() - WsItem->m_Endx;
|
GRID_REF_W - pageInfo.GetRightMarginMils() - WsItem->m_Endx;
|
||||||
yg = pageSize.y -
|
yg = pageSize.y -
|
||||||
GRID_REF_W - pageInfo.GetBottomMarginMils() - WsItem->m_Endy;
|
GRID_REF_W - pageInfo.GetBottomMarginMils() - WsItem->m_Endy;
|
||||||
GRLine( &m_canvas->m_ClipBox, DC, pos.x, pos.y,
|
GRLine( m_canvas->GetClipBox(), DC, pos.x, pos.y,
|
||||||
xg * scale, yg * scale, width, Color );
|
xg * scale, yg * scale, width, Color );
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -415,7 +415,7 @@ void DISPLAY_FOOTPRINTS_FRAME::GeneralControl( wxDC* aDC, const wxPoint& aPositi
|
||||||
|
|
||||||
if( m_canvas->IsMouseCaptured() )
|
if( m_canvas->IsMouseCaptured() )
|
||||||
{
|
{
|
||||||
m_canvas->m_mouseCaptureCallback( m_canvas, aDC, aPosition, 0 );
|
m_canvas->CallMouseCapture( aDC, aPosition, 0 );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -105,7 +105,7 @@ void SCH_EDIT_FRAME::InitBlockPasteInfos()
|
||||||
BLOCK_SELECTOR* block = &GetScreen()->m_BlockLocate;
|
BLOCK_SELECTOR* block = &GetScreen()->m_BlockLocate;
|
||||||
|
|
||||||
block->m_ItemsSelection.CopyList( m_blockItems.m_ItemsSelection );
|
block->m_ItemsSelection.CopyList( m_blockItems.m_ItemsSelection );
|
||||||
m_canvas->m_mouseCaptureCallback = DrawMovingBlockOutlines;
|
m_canvas->SetMouseCaptureCallback( DrawMovingBlockOutlines );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -139,7 +139,7 @@ void SCH_EDIT_FRAME::HandleBlockPlace( wxDC* DC )
|
||||||
case BLOCK_DRAG: /* Drag */
|
case BLOCK_DRAG: /* Drag */
|
||||||
case BLOCK_MOVE: /* Move */
|
case BLOCK_MOVE: /* Move */
|
||||||
if( m_canvas->IsMouseCaptured() )
|
if( m_canvas->IsMouseCaptured() )
|
||||||
m_canvas->m_mouseCaptureCallback( m_canvas, DC, wxDefaultPosition, false );
|
m_canvas->CallMouseCapture( DC, wxDefaultPosition, false );
|
||||||
|
|
||||||
SaveCopyInUndoList( block->m_ItemsSelection, UR_MOVED, block->m_MoveVector );
|
SaveCopyInUndoList( block->m_ItemsSelection, UR_MOVED, block->m_MoveVector );
|
||||||
MoveItemsInList( block->m_ItemsSelection, block->m_MoveVector );
|
MoveItemsInList( block->m_ItemsSelection, block->m_MoveVector );
|
||||||
|
@ -149,7 +149,7 @@ void SCH_EDIT_FRAME::HandleBlockPlace( wxDC* DC )
|
||||||
case BLOCK_COPY: /* Copy */
|
case BLOCK_COPY: /* Copy */
|
||||||
case BLOCK_PRESELECT_MOVE: /* Move with preselection list*/
|
case BLOCK_PRESELECT_MOVE: /* Move with preselection list*/
|
||||||
if( m_canvas->IsMouseCaptured() )
|
if( m_canvas->IsMouseCaptured() )
|
||||||
m_canvas->m_mouseCaptureCallback( m_canvas, DC, wxDefaultPosition, false );
|
m_canvas->CallMouseCapture( DC, wxDefaultPosition, false );
|
||||||
|
|
||||||
DuplicateItemsInList( GetScreen(), block->m_ItemsSelection, block->m_MoveVector );
|
DuplicateItemsInList( GetScreen(), block->m_ItemsSelection, block->m_MoveVector );
|
||||||
|
|
||||||
|
@ -161,7 +161,7 @@ void SCH_EDIT_FRAME::HandleBlockPlace( wxDC* DC )
|
||||||
|
|
||||||
case BLOCK_PASTE:
|
case BLOCK_PASTE:
|
||||||
if( m_canvas->IsMouseCaptured() )
|
if( m_canvas->IsMouseCaptured() )
|
||||||
m_canvas->m_mouseCaptureCallback( m_canvas, DC, wxDefaultPosition, false );
|
m_canvas->CallMouseCapture( DC, wxDefaultPosition, false );
|
||||||
|
|
||||||
PasteListOfItems( DC );
|
PasteListOfItems( DC );
|
||||||
block->ClearItemsList();
|
block->ClearItemsList();
|
||||||
|
@ -206,8 +206,7 @@ bool SCH_EDIT_FRAME::HandleBlockEnd( wxDC* DC )
|
||||||
BlockState state = block->m_State;
|
BlockState state = block->m_State;
|
||||||
CmdBlockType command = block->m_Command;
|
CmdBlockType command = block->m_Command;
|
||||||
|
|
||||||
if( m_canvas->m_endMouseCaptureCallback )
|
m_canvas->CallEndMouseCapture( DC );
|
||||||
m_canvas->m_endMouseCaptureCallback( m_canvas, DC );
|
|
||||||
|
|
||||||
block->m_State = state;
|
block->m_State = state;
|
||||||
block->m_Command = command;
|
block->m_Command = command;
|
||||||
|
@ -243,14 +242,14 @@ bool SCH_EDIT_FRAME::HandleBlockEnd( wxDC* DC )
|
||||||
{
|
{
|
||||||
nextcmd = true;
|
nextcmd = true;
|
||||||
GetScreen()->SelectBlockItems();
|
GetScreen()->SelectBlockItems();
|
||||||
m_canvas->m_mouseCaptureCallback( m_canvas, DC, wxDefaultPosition, false );
|
m_canvas->CallMouseCapture( DC, wxDefaultPosition, false );
|
||||||
m_canvas->m_mouseCaptureCallback = DrawMovingBlockOutlines;
|
m_canvas->SetMouseCaptureCallback( DrawMovingBlockOutlines );
|
||||||
m_canvas->m_mouseCaptureCallback( m_canvas, DC, wxDefaultPosition, false );
|
m_canvas->CallMouseCapture( DC, wxDefaultPosition, false );
|
||||||
block->m_State = STATE_BLOCK_MOVE;
|
block->m_State = STATE_BLOCK_MOVE;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
m_canvas->m_mouseCaptureCallback( m_canvas, DC, wxDefaultPosition, false );
|
m_canvas->CallMouseCapture( DC, wxDefaultPosition, false );
|
||||||
m_canvas->SetMouseCapture( NULL, NULL );
|
m_canvas->SetMouseCapture( NULL, NULL );
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -352,7 +351,7 @@ void SCH_EDIT_FRAME::HandleBlockEndByPopUp( int Command, wxDC* DC )
|
||||||
|
|
||||||
case BLOCK_DRAG: /* move to Drag */
|
case BLOCK_DRAG: /* move to Drag */
|
||||||
if( m_canvas->IsMouseCaptured() )
|
if( m_canvas->IsMouseCaptured() )
|
||||||
m_canvas->m_mouseCaptureCallback( m_canvas, DC, wxDefaultPosition, false );
|
m_canvas->CallMouseCapture( DC, wxDefaultPosition, false );
|
||||||
|
|
||||||
// Clear list of items to move, and rebuild it with items to drag:
|
// Clear list of items to move, and rebuild it with items to drag:
|
||||||
block->ClearItemsList();
|
block->ClearItemsList();
|
||||||
|
@ -366,7 +365,7 @@ void SCH_EDIT_FRAME::HandleBlockEndByPopUp( int Command, wxDC* DC )
|
||||||
GetScreen()->SelectBlockItems();
|
GetScreen()->SelectBlockItems();
|
||||||
|
|
||||||
if( m_canvas->IsMouseCaptured() )
|
if( m_canvas->IsMouseCaptured() )
|
||||||
m_canvas->m_mouseCaptureCallback( m_canvas, DC, wxDefaultPosition, false );
|
m_canvas->CallMouseCapture( DC, wxDefaultPosition, false );
|
||||||
|
|
||||||
block->m_State = STATE_BLOCK_MOVE;
|
block->m_State = STATE_BLOCK_MOVE;
|
||||||
}
|
}
|
||||||
|
@ -374,7 +373,7 @@ void SCH_EDIT_FRAME::HandleBlockEndByPopUp( int Command, wxDC* DC )
|
||||||
|
|
||||||
case BLOCK_DELETE: /* move to Delete */
|
case BLOCK_DELETE: /* move to Delete */
|
||||||
if( m_canvas->IsMouseCaptured() )
|
if( m_canvas->IsMouseCaptured() )
|
||||||
m_canvas->m_mouseCaptureCallback( m_canvas, DC, wxDefaultPosition, false );
|
m_canvas->CallMouseCapture( DC, wxDefaultPosition, false );
|
||||||
|
|
||||||
if( block->GetCount() )
|
if( block->GetCount() )
|
||||||
{
|
{
|
||||||
|
@ -388,7 +387,7 @@ void SCH_EDIT_FRAME::HandleBlockEndByPopUp( int Command, wxDC* DC )
|
||||||
|
|
||||||
case BLOCK_SAVE: /* Save list in paste buffer*/
|
case BLOCK_SAVE: /* Save list in paste buffer*/
|
||||||
if( m_canvas->IsMouseCaptured() )
|
if( m_canvas->IsMouseCaptured() )
|
||||||
m_canvas->m_mouseCaptureCallback( m_canvas, DC, wxDefaultPosition, false );
|
m_canvas->CallMouseCapture( DC, wxDefaultPosition, false );
|
||||||
|
|
||||||
if( block->GetCount() )
|
if( block->GetCount() )
|
||||||
{
|
{
|
||||||
|
@ -399,7 +398,7 @@ void SCH_EDIT_FRAME::HandleBlockEndByPopUp( int Command, wxDC* DC )
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case BLOCK_ZOOM: /* Window Zoom */
|
case BLOCK_ZOOM: /* Window Zoom */
|
||||||
m_canvas->m_endMouseCaptureCallback( m_canvas, DC );
|
m_canvas->CallEndMouseCapture( DC );
|
||||||
m_canvas->SetCursor( m_canvas->GetDefaultCursor() );
|
m_canvas->SetCursor( m_canvas->GetDefaultCursor() );
|
||||||
Window_Zoom( GetScreen()->m_BlockLocate );
|
Window_Zoom( GetScreen()->m_BlockLocate );
|
||||||
break;
|
break;
|
||||||
|
@ -407,7 +406,7 @@ void SCH_EDIT_FRAME::HandleBlockEndByPopUp( int Command, wxDC* DC )
|
||||||
|
|
||||||
case BLOCK_ROTATE:
|
case BLOCK_ROTATE:
|
||||||
if( m_canvas->IsMouseCaptured() )
|
if( m_canvas->IsMouseCaptured() )
|
||||||
m_canvas->m_mouseCaptureCallback( m_canvas, DC, wxDefaultPosition, false );
|
m_canvas->CallMouseCapture( DC, wxDefaultPosition, false );
|
||||||
|
|
||||||
if( block->GetCount() )
|
if( block->GetCount() )
|
||||||
{
|
{
|
||||||
|
@ -426,7 +425,7 @@ void SCH_EDIT_FRAME::HandleBlockEndByPopUp( int Command, wxDC* DC )
|
||||||
|
|
||||||
case BLOCK_MIRROR_X:
|
case BLOCK_MIRROR_X:
|
||||||
if( m_canvas->IsMouseCaptured() )
|
if( m_canvas->IsMouseCaptured() )
|
||||||
m_canvas->m_mouseCaptureCallback( m_canvas, DC, wxDefaultPosition, false );
|
m_canvas->CallMouseCapture( DC, wxDefaultPosition, false );
|
||||||
|
|
||||||
if( block->GetCount() )
|
if( block->GetCount() )
|
||||||
{
|
{
|
||||||
|
@ -444,7 +443,7 @@ void SCH_EDIT_FRAME::HandleBlockEndByPopUp( int Command, wxDC* DC )
|
||||||
|
|
||||||
case BLOCK_MIRROR_Y:
|
case BLOCK_MIRROR_Y:
|
||||||
if( m_canvas->IsMouseCaptured() )
|
if( m_canvas->IsMouseCaptured() )
|
||||||
m_canvas->m_mouseCaptureCallback( m_canvas, DC, wxDefaultPosition, false );
|
m_canvas->CallMouseCapture( DC, wxDefaultPosition, false );
|
||||||
|
|
||||||
if( block->GetCount() )
|
if( block->GetCount() )
|
||||||
{
|
{
|
||||||
|
|
|
@ -92,7 +92,7 @@ bool LIB_EDIT_FRAME::HandleBlockEnd( wxDC* DC )
|
||||||
{
|
{
|
||||||
BlockState state = GetScreen()->m_BlockLocate.m_State;
|
BlockState state = GetScreen()->m_BlockLocate.m_State;
|
||||||
CmdBlockType command = GetScreen()->m_BlockLocate.m_Command;
|
CmdBlockType command = GetScreen()->m_BlockLocate.m_Command;
|
||||||
m_canvas->m_endMouseCaptureCallback( m_canvas, DC );
|
m_canvas->CallEndMouseCapture( DC );
|
||||||
GetScreen()->m_BlockLocate.m_State = state;
|
GetScreen()->m_BlockLocate.m_State = state;
|
||||||
GetScreen()->m_BlockLocate.m_Command = command;
|
GetScreen()->m_BlockLocate.m_Command = command;
|
||||||
m_canvas->SetMouseCapture( DrawAndSizingBlockOutlines, AbortBlockCurrentCommand );
|
m_canvas->SetMouseCapture( DrawAndSizingBlockOutlines, AbortBlockCurrentCommand );
|
||||||
|
@ -120,9 +120,9 @@ bool LIB_EDIT_FRAME::HandleBlockEnd( wxDC* DC )
|
||||||
|
|
||||||
if( m_canvas->IsMouseCaptured() )
|
if( m_canvas->IsMouseCaptured() )
|
||||||
{
|
{
|
||||||
m_canvas->m_mouseCaptureCallback( m_canvas, DC, wxDefaultPosition, false );
|
m_canvas->CallMouseCapture( DC, wxDefaultPosition, false );
|
||||||
m_canvas->m_mouseCaptureCallback = DrawMovingBlockOutlines;
|
m_canvas->SetMouseCaptureCallback( DrawMovingBlockOutlines );
|
||||||
m_canvas->m_mouseCaptureCallback( m_canvas, DC, wxDefaultPosition, false );
|
m_canvas->CallMouseCapture( DC, wxDefaultPosition, false );
|
||||||
}
|
}
|
||||||
|
|
||||||
GetScreen()->m_BlockLocate.m_State = STATE_BLOCK_MOVE;
|
GetScreen()->m_BlockLocate.m_State = STATE_BLOCK_MOVE;
|
||||||
|
@ -132,7 +132,7 @@ bool LIB_EDIT_FRAME::HandleBlockEnd( wxDC* DC )
|
||||||
|
|
||||||
case BLOCK_PRESELECT_MOVE: /* Move with preselection list*/
|
case BLOCK_PRESELECT_MOVE: /* Move with preselection list*/
|
||||||
nextCmd = true;
|
nextCmd = true;
|
||||||
m_canvas->m_mouseCaptureCallback = DrawMovingBlockOutlines;
|
m_canvas->SetMouseCaptureCallback( DrawMovingBlockOutlines );
|
||||||
GetScreen()->m_BlockLocate.m_State = STATE_BLOCK_MOVE;
|
GetScreen()->m_BlockLocate.m_State = STATE_BLOCK_MOVE;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
|
@ -181,7 +181,7 @@ void SCH_EDIT_FRAME::BeginSegment( wxDC* DC, int type )
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_canvas->m_mouseCaptureCallback( m_canvas, DC, wxDefaultPosition, false );
|
m_canvas->CallMouseCapture( DC, wxDefaultPosition, false );
|
||||||
|
|
||||||
/* Creates the new segment, or terminates the command
|
/* Creates the new segment, or terminates the command
|
||||||
* if the end point is on a pin, junction or an other wire or bus */
|
* if the end point is on a pin, junction or an other wire or bus */
|
||||||
|
@ -218,7 +218,7 @@ void SCH_EDIT_FRAME::BeginSegment( wxDC* DC, int type )
|
||||||
oldsegment->SetFlags( SELECTED );
|
oldsegment->SetFlags( SELECTED );
|
||||||
newsegment->SetFlags( IS_NEW );
|
newsegment->SetFlags( IS_NEW );
|
||||||
GetScreen()->SetCurItem( newsegment );
|
GetScreen()->SetCurItem( newsegment );
|
||||||
m_canvas->m_mouseCaptureCallback( m_canvas, DC, wxDefaultPosition, false );
|
m_canvas->CallMouseCapture( DC, wxDefaultPosition, false );
|
||||||
|
|
||||||
/* This is the first segment: Now we know the start segment position.
|
/* This is the first segment: Now we know the start segment position.
|
||||||
* Create a junction if needed. Note: a junction can be needed later,
|
* Create a junction if needed. Note: a junction can be needed later,
|
||||||
|
@ -444,7 +444,7 @@ void SCH_EDIT_FRAME::DeleteCurrentSegment( wxDC* DC )
|
||||||
}
|
}
|
||||||
|
|
||||||
screen->RemoveFromDrawList( screen->GetCurItem() );
|
screen->RemoveFromDrawList( screen->GetCurItem() );
|
||||||
m_canvas->m_mouseCaptureCallback = NULL;
|
m_canvas->SetMouseCaptureCallback( NULL );
|
||||||
screen->SetCurItem( NULL );
|
screen->SetCurItem( NULL );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -43,15 +43,17 @@
|
||||||
static int s_LastShape = '\\';
|
static int s_LastShape = '\\';
|
||||||
|
|
||||||
|
|
||||||
SCH_BUS_ENTRY* SCH_EDIT_FRAME::CreateBusEntry( wxDC* DC, int entry_type )
|
SCH_BUS_ENTRY* SCH_EDIT_FRAME::CreateBusEntry( wxDC* aDC, int aType )
|
||||||
{
|
{
|
||||||
|
SCH_SCREEN* screen = GetScreen();
|
||||||
|
|
||||||
// Create and place a new bus entry at cursor position
|
// Create and place a new bus entry at cursor position
|
||||||
SCH_BUS_ENTRY* BusEntry = new SCH_BUS_ENTRY( GetScreen()->GetCrossHairPosition(), s_LastShape,
|
SCH_BUS_ENTRY* busEntry = new SCH_BUS_ENTRY( screen->GetCrossHairPosition(), s_LastShape,
|
||||||
entry_type );
|
aType );
|
||||||
BusEntry->SetFlags( IS_NEW );
|
busEntry->SetFlags( IS_NEW );
|
||||||
BusEntry->Place( this, DC );
|
GetScreen()->SetCurItem( busEntry );
|
||||||
OnModify();
|
addCurrentItemToList( aDC );
|
||||||
return BusEntry;
|
return busEntry;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -362,9 +362,9 @@ void LIB_COMPONENT::Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDc, const wxPoint& aOff
|
||||||
#if 0
|
#if 0
|
||||||
int len = aDc->DeviceToLogicalXRel( 3 );
|
int len = aDc->DeviceToLogicalXRel( 3 );
|
||||||
|
|
||||||
GRLine( &aPanel->m_ClipBox, aDc, aOffset.x, aOffset.y - len, aOffset.x,
|
GRLine( aPanel->GetClipBox(), aDc, aOffset.x, aOffset.y - len, aOffset.x,
|
||||||
aOffset.y + len, 0, aColor );
|
aOffset.y + len, 0, aColor );
|
||||||
GRLine( &aPanel->m_ClipBox, aDc, aOffset.x - len, aOffset.y, aOffset.x + len,
|
GRLine( aPanel->GetClipBox(), aDc, aOffset.x - len, aOffset.y, aOffset.x + len,
|
||||||
aOffset.y, 0, aColor );
|
aOffset.y, 0, aColor );
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -372,7 +372,7 @@ void LIB_COMPONENT::Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDc, const wxPoint& aOff
|
||||||
* the bounding box calculations. */
|
* the bounding box calculations. */
|
||||||
#if 0
|
#if 0
|
||||||
EDA_RECT bBox = GetBoundingBox( aMulti, aConvert );
|
EDA_RECT bBox = GetBoundingBox( aMulti, aConvert );
|
||||||
GRRect( &aPanel->m_ClipBox, aDc, bBox.GetOrigin().x, bBox.GetOrigin().y,
|
GRRect( aPanel->GetClipBox(), aDc, bBox.GetOrigin().x, bBox.GetOrigin().y,
|
||||||
bBox.GetEnd().x, bBox.GetEnd().y, 0, LIGHTMAGENTA );
|
bBox.GetEnd().x, bBox.GetEnd().y, 0, LIGHTMAGENTA );
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
@ -756,7 +756,7 @@ bool LIB_COMPONENT::Load( LINE_READER& aLineReader, wxString& aErrorMsg )
|
||||||
if( ( p = strtok( NULL, " \t\n" ) ) != NULL && *p == 'P' )
|
if( ( p = strtok( NULL, " \t\n" ) ) != NULL && *p == 'P' )
|
||||||
m_options = ENTRY_POWER;
|
m_options = ENTRY_POWER;
|
||||||
|
|
||||||
/* Read next lines */
|
// Read next lines, until "ENDDEF" is found
|
||||||
while( aLineReader.ReadLine() )
|
while( aLineReader.ReadLine() )
|
||||||
{
|
{
|
||||||
line = aLineReader.Line();
|
line = aLineReader.Line();
|
||||||
|
@ -766,11 +766,14 @@ bool LIB_COMPONENT::Load( LINE_READER& aLineReader, wxString& aErrorMsg )
|
||||||
/* This is the error flag ( if an error occurs, Res = FALSE) */
|
/* This is the error flag ( if an error occurs, Res = FALSE) */
|
||||||
Res = true;
|
Res = true;
|
||||||
|
|
||||||
|
if( *line == '#' ) // a comment
|
||||||
|
continue;
|
||||||
|
|
||||||
if( (*line == 'T') && (*(line + 1) == 'i') )
|
if( (*line == 'T') && (*(line + 1) == 'i') )
|
||||||
Res = LoadDateAndTime( aLineReader );
|
Res = LoadDateAndTime( aLineReader );
|
||||||
else if( *line == 'F' )
|
else if( *line == 'F' )
|
||||||
Res = LoadField( aLineReader, Msg );
|
Res = LoadField( aLineReader, Msg );
|
||||||
else if( strcmp( p, "ENDDEF" ) == 0 )
|
else if( strcmp( p, "ENDDEF" ) == 0 ) // End of component description
|
||||||
break;
|
break;
|
||||||
else if( strcmp( p, "DRAW" ) == 0 )
|
else if( strcmp( p, "DRAW" ) == 0 )
|
||||||
Res = LoadDrawEntries( aLineReader, Msg );
|
Res = LoadDrawEntries( aLineReader, Msg );
|
||||||
|
|
|
@ -62,9 +62,9 @@ SCH_ITEM* SCH_EDIT_FRAME::LocateAndShowItem( const wxPoint& aPosition, const KIC
|
||||||
|
|
||||||
// If the user aborted the clarification context menu, don't show it again at the
|
// If the user aborted the clarification context menu, don't show it again at the
|
||||||
// off grid position.
|
// off grid position.
|
||||||
if( !item && m_canvas->m_AbortRequest )
|
if( !item && m_canvas->GetAbortRequest() )
|
||||||
{
|
{
|
||||||
m_canvas->m_AbortRequest = false;
|
m_canvas->SetAbortRequest( false );
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -73,7 +73,7 @@ SCH_ITEM* SCH_EDIT_FRAME::LocateAndShowItem( const wxPoint& aPosition, const KIC
|
||||||
|
|
||||||
if( !item )
|
if( !item )
|
||||||
{
|
{
|
||||||
m_canvas->m_AbortRequest = false; // Just in case the user aborted the context menu.
|
m_canvas->SetAbortRequest( false ); // Just in case the user aborted the context menu.
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -171,7 +171,7 @@ SCH_ITEM* SCH_EDIT_FRAME::LocateItem( const wxPoint& aPosition, const KICAD_T aF
|
||||||
|
|
||||||
// Set to NULL in case user aborts the clarification context menu.
|
// Set to NULL in case user aborts the clarification context menu.
|
||||||
GetScreen()->SetCurItem( NULL );
|
GetScreen()->SetCurItem( NULL );
|
||||||
m_canvas->m_AbortRequest = true; // Changed to false if an item is selected
|
m_canvas->SetAbortRequest( true ); // Changed to false if an item is selected
|
||||||
PopupMenu( &selectMenu );
|
PopupMenu( &selectMenu );
|
||||||
m_canvas->MoveCursorToCrossHair();
|
m_canvas->MoveCursorToCrossHair();
|
||||||
item = GetScreen()->GetCurItem();
|
item = GetScreen()->GetCurItem();
|
||||||
|
@ -247,16 +247,18 @@ void SCH_EDIT_FRAME::GeneralControl( wxDC* aDC, const wxPoint& aPosition, int aH
|
||||||
if( m_canvas->IsMouseCaptured() )
|
if( m_canvas->IsMouseCaptured() )
|
||||||
{
|
{
|
||||||
#ifdef USE_WX_OVERLAY
|
#ifdef USE_WX_OVERLAY
|
||||||
wxDCOverlay oDC( m_canvas->m_overlay, (wxWindowDC*)aDC );
|
wxDCOverlay oDC( m_overlay, (wxWindowDC*)aDC );
|
||||||
oDC.Clear();
|
oDC.Clear();
|
||||||
m_canvas->m_mouseCaptureCallback( m_canvas, aDC, aPosition, false );
|
m_canvas->CallMouseCapture( aDC, aPosition, false );
|
||||||
#else
|
#else
|
||||||
m_canvas->m_mouseCaptureCallback( m_canvas, aDC, aPosition, true );
|
m_canvas->CallMouseCapture( aDC, aPosition, true );
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
#ifdef USE_WX_OVERLAY
|
#ifdef USE_WX_OVERLAY
|
||||||
else
|
else
|
||||||
m_canvas->m_overlay.Reset();
|
{
|
||||||
|
m_overlay.Reset();
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -330,16 +332,18 @@ void LIB_EDIT_FRAME::GeneralControl( wxDC* aDC, const wxPoint& aPosition, int aH
|
||||||
if( m_canvas->IsMouseCaptured() )
|
if( m_canvas->IsMouseCaptured() )
|
||||||
{
|
{
|
||||||
#ifdef USE_WX_OVERLAY
|
#ifdef USE_WX_OVERLAY
|
||||||
wxDCOverlay oDC( m_canvas->m_overlay, (wxWindowDC*)aDC );
|
wxDCOverlay oDC( m_overlay, (wxWindowDC*)aDC );
|
||||||
oDC.Clear();
|
oDC.Clear();
|
||||||
m_canvas->m_mouseCaptureCallback( m_canvas, aDC, aPosition, false );
|
m_canvas->CallMouseCapture( aDC, aPosition, false );
|
||||||
#else
|
#else
|
||||||
m_canvas->m_mouseCaptureCallback( m_canvas, aDC, aPosition, true );
|
m_canvas->CallMouseCapture( aDC, aPosition, true );
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
#ifdef USE_WX_OVERLAY
|
#ifdef USE_WX_OVERLAY
|
||||||
else
|
else
|
||||||
m_canvas->m_overlay.Reset();
|
{
|
||||||
|
m_overlay.Reset();
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -409,7 +413,7 @@ void LIB_VIEW_FRAME::GeneralControl( wxDC* aDC, const wxPoint& aPosition, int aH
|
||||||
|
|
||||||
if( m_canvas->IsMouseCaptured() )
|
if( m_canvas->IsMouseCaptured() )
|
||||||
{
|
{
|
||||||
m_canvas->m_mouseCaptureCallback( m_canvas, aDC, aPosition, true );
|
m_canvas->CallMouseCapture( aDC, aPosition, true );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -219,15 +219,13 @@ bool DIALOG_SVG_PRINT::DrawSVGPage( EDA_DRAW_FRAME* frame,
|
||||||
float dpi = (float) frame->GetInternalUnits();
|
float dpi = (float) frame->GetInternalUnits();
|
||||||
wxSVGFileDC dc( FullFileName, sheetSize.x, sheetSize.y, dpi );
|
wxSVGFileDC dc( FullFileName, sheetSize.x, sheetSize.y, dpi );
|
||||||
|
|
||||||
EDA_RECT tmp = panel->m_ClipBox;
|
EDA_RECT tmp = *panel->GetClipBox();
|
||||||
GRResetPenAndBrush( &dc );
|
GRResetPenAndBrush( &dc );
|
||||||
GRForceBlackPen( aPrintBlackAndWhite );
|
GRForceBlackPen( aPrintBlackAndWhite );
|
||||||
|
|
||||||
|
|
||||||
panel->m_ClipBox.SetX( -0x3FFFFF0 );
|
panel->SetClipBox( EDA_RECT( wxPoint( -0x3FFFFF0, -0x3FFFFF0 ),
|
||||||
panel->m_ClipBox.SetY( -0x3FFFFF0 );
|
wxSize( 0x7FFFFF0, 0x7FFFFF0 ) ) );
|
||||||
panel->m_ClipBox.SetWidth( 0x7FFFFF0 );
|
|
||||||
panel->m_ClipBox.SetHeight( 0x7FFFFF0 );
|
|
||||||
|
|
||||||
screen->m_IsPrinting = true;
|
screen->m_IsPrinting = true;
|
||||||
screen->Draw( panel, &dc, GR_COPY );
|
screen->Draw( panel, &dc, GR_COPY );
|
||||||
|
@ -236,7 +234,7 @@ bool DIALOG_SVG_PRINT::DrawSVGPage( EDA_DRAW_FRAME* frame,
|
||||||
frame->TraceWorkSheet( &dc, screen, g_DrawDefaultLineThickness );
|
frame->TraceWorkSheet( &dc, screen, g_DrawDefaultLineThickness );
|
||||||
|
|
||||||
screen->m_IsPrinting = false;
|
screen->m_IsPrinting = false;
|
||||||
panel->m_ClipBox = tmp;
|
panel->SetClipBox( tmp );
|
||||||
|
|
||||||
GRForceBlackPen( false );
|
GRForceBlackPen( false );
|
||||||
|
|
||||||
|
|
|
@ -29,7 +29,7 @@ void SCH_EDIT_FRAME::EditComponent( SCH_COMPONENT* aComponent )
|
||||||
wxCHECK_RET( aComponent != NULL && aComponent->Type() == SCH_COMPONENT_T,
|
wxCHECK_RET( aComponent != NULL && aComponent->Type() == SCH_COMPONENT_T,
|
||||||
wxT( "Invalid component object pointer. Bad Programmer!" ) );
|
wxT( "Invalid component object pointer. Bad Programmer!" ) );
|
||||||
|
|
||||||
m_canvas->m_IgnoreMouseEvents = true;
|
m_canvas->SetIgnoreMouseEvents( true );
|
||||||
|
|
||||||
DIALOG_EDIT_COMPONENT_IN_SCHEMATIC* dlg = new DIALOG_EDIT_COMPONENT_IN_SCHEMATIC( this );
|
DIALOG_EDIT_COMPONENT_IN_SCHEMATIC* dlg = new DIALOG_EDIT_COMPONENT_IN_SCHEMATIC( this );
|
||||||
|
|
||||||
|
@ -55,7 +55,7 @@ void SCH_EDIT_FRAME::EditComponent( SCH_COMPONENT* aComponent )
|
||||||
DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::s_LastSize = dlg->GetSize();
|
DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::s_LastSize = dlg->GetSize();
|
||||||
|
|
||||||
m_canvas->MoveCursorToCrossHair();
|
m_canvas->MoveCursorToCrossHair();
|
||||||
m_canvas->m_IgnoreMouseEvents = false;
|
m_canvas->SetIgnoreMouseEvents( false );
|
||||||
dlg->Destroy();
|
dlg->Destroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -685,12 +685,12 @@ bool DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::copyPanelToSelectedField()
|
||||||
rotateCheckBox->SetValue( field.m_Orient == TEXT_ORIENT_VERT );
|
rotateCheckBox->SetValue( field.m_Orient == TEXT_ORIENT_VERT );
|
||||||
|
|
||||||
// Copy the text justification
|
// Copy the text justification
|
||||||
GRTextHorizJustifyType hjustify[3] = {
|
EDA_TEXT_HJUSTIFY_T hjustify[3] = {
|
||||||
GR_TEXT_HJUSTIFY_LEFT, GR_TEXT_HJUSTIFY_CENTER,
|
GR_TEXT_HJUSTIFY_LEFT, GR_TEXT_HJUSTIFY_CENTER,
|
||||||
GR_TEXT_HJUSTIFY_RIGHT
|
GR_TEXT_HJUSTIFY_RIGHT
|
||||||
};
|
};
|
||||||
|
|
||||||
GRTextVertJustifyType vjustify[3] = {
|
EDA_TEXT_VJUSTIFY_T vjustify[3] = {
|
||||||
GR_TEXT_VJUSTIFY_BOTTOM, GR_TEXT_VJUSTIFY_CENTER,
|
GR_TEXT_VJUSTIFY_BOTTOM, GR_TEXT_VJUSTIFY_CENTER,
|
||||||
GR_TEXT_VJUSTIFY_TOP
|
GR_TEXT_VJUSTIFY_TOP
|
||||||
};
|
};
|
||||||
|
|
|
@ -712,12 +712,12 @@ bool DIALOG_EDIT_LIBENTRY_FIELDS_IN_LIB::copyPanelToSelectedField()
|
||||||
field.m_Orient = TEXT_ORIENT_HORIZ;
|
field.m_Orient = TEXT_ORIENT_HORIZ;
|
||||||
|
|
||||||
// Copy the text justification
|
// Copy the text justification
|
||||||
static const GRTextHorizJustifyType hjustify[3] = {
|
static const EDA_TEXT_HJUSTIFY_T hjustify[3] = {
|
||||||
GR_TEXT_HJUSTIFY_LEFT, GR_TEXT_HJUSTIFY_CENTER,
|
GR_TEXT_HJUSTIFY_LEFT, GR_TEXT_HJUSTIFY_CENTER,
|
||||||
GR_TEXT_HJUSTIFY_RIGHT
|
GR_TEXT_HJUSTIFY_RIGHT
|
||||||
};
|
};
|
||||||
|
|
||||||
static const GRTextVertJustifyType vjustify[3] = {
|
static const EDA_TEXT_VJUSTIFY_T vjustify[3] = {
|
||||||
GR_TEXT_VJUSTIFY_BOTTOM, GR_TEXT_VJUSTIFY_CENTER,
|
GR_TEXT_VJUSTIFY_BOTTOM, GR_TEXT_VJUSTIFY_CENTER,
|
||||||
GR_TEXT_VJUSTIFY_TOP
|
GR_TEXT_VJUSTIFY_TOP
|
||||||
};
|
};
|
||||||
|
|
|
@ -324,19 +324,20 @@ void SCH_PRINTOUT::DrawPage( SCH_SCREEN* aScreen )
|
||||||
tmp_startvisu = aScreen->m_StartVisu;
|
tmp_startvisu = aScreen->m_StartVisu;
|
||||||
oldZoom = aScreen->GetZoom();
|
oldZoom = aScreen->GetZoom();
|
||||||
old_org = aScreen->m_DrawOrg;
|
old_org = aScreen->m_DrawOrg;
|
||||||
oldClipBox = panel->m_ClipBox;
|
|
||||||
|
|
||||||
// Change scale factor, offsets, and clip box to print the whole page.
|
oldClipBox = *panel->GetClipBox();
|
||||||
panel->m_ClipBox.SetOrigin( wxPoint( 0, 0 ) );
|
|
||||||
panel->m_ClipBox.SetSize( wxSize( 0x7FFFFF0, 0x7FFFFF0 ) );
|
|
||||||
|
|
||||||
|
// Change clip box to print the whole page.
|
||||||
|
#define MAX_VALUE (INT_MAX/2) // MAX_VALUE is the max we can use in an integer
|
||||||
|
// and that allows calculations without overflow
|
||||||
|
panel->SetClipBox( EDA_RECT( wxPoint( 0, 0 ), wxSize( MAX_VALUE, MAX_VALUE ) ) );
|
||||||
|
|
||||||
|
// Change scale factor and offset to print the whole page.
|
||||||
bool printReference = parent->GetPrintSheetReference();
|
bool printReference = parent->GetPrintSheetReference();
|
||||||
|
|
||||||
if( printReference )
|
if( printReference )
|
||||||
{
|
{
|
||||||
/* Draw the page to a memory and let the dc calculate the drawing
|
// Draw the page to a memory and let the dc calculate the drawing limits.
|
||||||
* limits.
|
|
||||||
*/
|
|
||||||
wxBitmap psuedoBitmap( 1, 1 );
|
wxBitmap psuedoBitmap( 1, 1 );
|
||||||
wxMemoryDC memDC;
|
wxMemoryDC memDC;
|
||||||
memDC.SelectObject( psuedoBitmap );
|
memDC.SelectObject( psuedoBitmap );
|
||||||
|
@ -379,7 +380,7 @@ void SCH_PRINTOUT::DrawPage( SCH_SCREEN* aScreen )
|
||||||
|
|
||||||
g_DrawBgColor = bg_color;
|
g_DrawBgColor = bg_color;
|
||||||
aScreen->m_IsPrinting = false;
|
aScreen->m_IsPrinting = false;
|
||||||
panel->m_ClipBox = oldClipBox;
|
panel->SetClipBox( oldClipBox );
|
||||||
|
|
||||||
GRForceBlackPen( false );
|
GRForceBlackPen( false );
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,5 +1,5 @@
|
||||||
///////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////
|
||||||
// C++ code generated with wxFormBuilder (version Sep 8 2010)
|
// C++ code generated with wxFormBuilder (version Jun 30 2011)
|
||||||
// http://www.wxformbuilder.org/
|
// http://www.wxformbuilder.org/
|
||||||
//
|
//
|
||||||
// PLEASE DO "NOT" EDIT THIS FILE!
|
// PLEASE DO "NOT" EDIT THIS FILE!
|
||||||
|
@ -117,14 +117,13 @@ DIALOG_SCH_FIND_BASE::DIALOG_SCH_FIND_BASE( wxWindow* parent, wxWindowID id, con
|
||||||
|
|
||||||
rightSizer->Add( m_buttonReplaceAll, 0, wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT, 6 );
|
rightSizer->Add( m_buttonReplaceAll, 0, wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT, 6 );
|
||||||
|
|
||||||
m_buttonCancel = new wxButton( this, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxDefaultSize, 0 );
|
m_buttonCancel = new wxButton( this, wxID_CANCEL, _("Close"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
rightSizer->Add( m_buttonCancel, 0, wxBOTTOM|wxLEFT|wxRIGHT|wxEXPAND, 6 );
|
rightSizer->Add( m_buttonCancel, 0, wxBOTTOM|wxLEFT|wxRIGHT|wxEXPAND, 6 );
|
||||||
|
|
||||||
mainSizer->Add( rightSizer, 0, wxALL|wxEXPAND, 6 );
|
mainSizer->Add( rightSizer, 0, wxALL|wxEXPAND, 6 );
|
||||||
|
|
||||||
this->SetSizer( mainSizer );
|
this->SetSizer( mainSizer );
|
||||||
this->Layout();
|
this->Layout();
|
||||||
mainSizer->Fit( this );
|
|
||||||
|
|
||||||
this->Centre( wxBOTH );
|
this->Centre( wxBOTH );
|
||||||
|
|
||||||
|
|
|
@ -1,15 +1,16 @@
|
||||||
///////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////
|
||||||
// C++ code generated with wxFormBuilder (version Sep 8 2010)
|
// C++ code generated with wxFormBuilder (version Jun 30 2011)
|
||||||
// http://www.wxformbuilder.org/
|
// http://www.wxformbuilder.org/
|
||||||
//
|
//
|
||||||
// PLEASE DO "NOT" EDIT THIS FILE!
|
// PLEASE DO "NOT" EDIT THIS FILE!
|
||||||
///////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
#ifndef __dialog_schematic_find_base__
|
#ifndef __DIALOG_SCHEMATIC_FIND_BASE_H__
|
||||||
#define __dialog_schematic_find_base__
|
#define __DIALOG_SCHEMATIC_FIND_BASE_H__
|
||||||
|
|
||||||
|
#include <wx/artprov.h>
|
||||||
|
#include <wx/xrc/xmlres.h>
|
||||||
#include <wx/intl.h>
|
#include <wx/intl.h>
|
||||||
|
|
||||||
#include <wx/string.h>
|
#include <wx/string.h>
|
||||||
#include <wx/stattext.h>
|
#include <wx/stattext.h>
|
||||||
#include <wx/gdicmn.h>
|
#include <wx/gdicmn.h>
|
||||||
|
@ -69,9 +70,9 @@ class DIALOG_SCH_FIND_BASE : public wxDialog
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
DIALOG_SCH_FIND_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Find"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER );
|
DIALOG_SCH_FIND_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Find"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 334,225 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER );
|
||||||
~DIALOG_SCH_FIND_BASE();
|
~DIALOG_SCH_FIND_BASE();
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif //__dialog_schematic_find_base__
|
#endif //__DIALOG_SCHEMATIC_FIND_BASE_H__
|
||||||
|
|
|
@ -74,7 +74,7 @@ create a new power component with the new value." ), GetChars( entry->GetName()
|
||||||
// Don't use GetText() here. If the field is the reference designator and it's parent
|
// Don't use GetText() here. If the field is the reference designator and it's parent
|
||||||
// component has multiple parts, we don't want the part suffix added to the field.
|
// component has multiple parts, we don't want the part suffix added to the field.
|
||||||
wxString newtext = aField->m_Text;
|
wxString newtext = aField->m_Text;
|
||||||
m_canvas->m_IgnoreMouseEvents = true;
|
m_canvas->SetIgnoreMouseEvents( true );
|
||||||
|
|
||||||
wxString title;
|
wxString title;
|
||||||
title.Printf( _( "Edit %s Field" ), GetChars( aField->GetName() ) );
|
title.Printf( _( "Edit %s Field" ), GetChars( aField->GetName() ) );
|
||||||
|
@ -83,7 +83,7 @@ create a new power component with the new value." ), GetChars( entry->GetName()
|
||||||
int response = dlg.ShowModal();
|
int response = dlg.ShowModal();
|
||||||
|
|
||||||
m_canvas->MoveCursorToCrossHair();
|
m_canvas->MoveCursorToCrossHair();
|
||||||
m_canvas->m_IgnoreMouseEvents = false;
|
m_canvas->SetIgnoreMouseEvents( false );
|
||||||
newtext = dlg.GetValue( );
|
newtext = dlg.GetValue( );
|
||||||
newtext.Trim( true );
|
newtext.Trim( true );
|
||||||
newtext.Trim( false );
|
newtext.Trim( false );
|
||||||
|
|
|
@ -1,3 +1,28 @@
|
||||||
|
/*
|
||||||
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2006 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
||||||
|
* Copyright (C) 2009-2011 Wayne Stambaugh <stambaughw@verizon.net>
|
||||||
|
* Copyright (C) 2004-2011 KiCad Developers, see change_log.txt for contributors.
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
* of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, you may find one here:
|
||||||
|
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||||
|
* or you may search the http://www.gnu.org website for the version 2 license,
|
||||||
|
* or you may write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @file eeredraw.cpp
|
* @file eeredraw.cpp
|
||||||
*/
|
*/
|
||||||
|
@ -29,7 +54,7 @@ void DrawDanglingSymbol( EDA_DRAW_PANEL* panel, wxDC* DC, const wxPoint& pos, in
|
||||||
|
|
||||||
if( !screen->m_IsPrinting ) /* Draw but do not print the Dangling Symbol */
|
if( !screen->m_IsPrinting ) /* Draw but do not print the Dangling Symbol */
|
||||||
{
|
{
|
||||||
GRRect( &panel->m_ClipBox, DC,
|
GRRect( panel->GetClipBox(), DC,
|
||||||
pos.x - DANGLING_SYMBOL_SIZE, pos.y - DANGLING_SYMBOL_SIZE,
|
pos.x - DANGLING_SYMBOL_SIZE, pos.y - DANGLING_SYMBOL_SIZE,
|
||||||
pos.x + DANGLING_SYMBOL_SIZE, pos.y + DANGLING_SYMBOL_SIZE,
|
pos.x + DANGLING_SYMBOL_SIZE, pos.y + DANGLING_SYMBOL_SIZE,
|
||||||
0, Color );
|
0, Color );
|
||||||
|
@ -54,7 +79,7 @@ void SCH_EDIT_FRAME::RedrawActiveWindow( wxDC* DC, bool EraseBg )
|
||||||
TraceWorkSheet( DC, GetScreen(), g_DrawDefaultLineThickness );
|
TraceWorkSheet( DC, GetScreen(), g_DrawDefaultLineThickness );
|
||||||
|
|
||||||
if( m_canvas->IsMouseCaptured() )
|
if( m_canvas->IsMouseCaptured() )
|
||||||
m_canvas->m_mouseCaptureCallback( m_canvas, DC, wxDefaultPosition, FALSE );
|
m_canvas->CallMouseCapture( DC, wxDefaultPosition, FALSE );
|
||||||
|
|
||||||
m_canvas->DrawCrossHair( DC );
|
m_canvas->DrawCrossHair( DC );
|
||||||
|
|
||||||
|
|
|
@ -191,7 +191,7 @@ void SCH_EDIT_FRAME::OnSetOptions( wxCommandEvent& event )
|
||||||
dlg.SetAutoSaveInterval( GetAutoSaveInterval() / 60 );
|
dlg.SetAutoSaveInterval( GetAutoSaveInterval() / 60 );
|
||||||
dlg.SetShowGrid( IsGridVisible() );
|
dlg.SetShowGrid( IsGridVisible() );
|
||||||
dlg.SetShowHiddenPins( m_showAllPins );
|
dlg.SetShowHiddenPins( m_showAllPins );
|
||||||
dlg.SetEnableAutoPan( m_canvas->m_AutoPAN_Enable );
|
dlg.SetEnableAutoPan( m_canvas->GetEnableAutoPan() );
|
||||||
dlg.SetEnableHVBusOrientation( g_HVLines );
|
dlg.SetEnableHVBusOrientation( g_HVLines );
|
||||||
dlg.SetShowPageLimits( g_ShowPageLimits );
|
dlg.SetShowPageLimits( g_ShowPageLimits );
|
||||||
dlg.Layout();
|
dlg.Layout();
|
||||||
|
@ -222,7 +222,7 @@ void SCH_EDIT_FRAME::OnSetOptions( wxCommandEvent& event )
|
||||||
SetAutoSaveInterval( dlg.GetAutoSaveInterval() * 60 );
|
SetAutoSaveInterval( dlg.GetAutoSaveInterval() * 60 );
|
||||||
SetGridVisibility( dlg.GetShowGrid() );
|
SetGridVisibility( dlg.GetShowGrid() );
|
||||||
m_showAllPins = dlg.GetShowHiddenPins();
|
m_showAllPins = dlg.GetShowHiddenPins();
|
||||||
m_canvas->m_AutoPAN_Enable = dlg.GetEnableAutoPan();
|
m_canvas->SetEnableAutoPan( dlg.GetEnableAutoPan() );
|
||||||
g_HVLines = dlg.GetEnableHVBusOrientation();
|
g_HVLines = dlg.GetEnableHVBusOrientation();
|
||||||
g_ShowPageLimits = dlg.GetShowPageLimits();
|
g_ShowPageLimits = dlg.GetShowPageLimits();
|
||||||
|
|
||||||
|
|
|
@ -403,6 +403,7 @@ void SCH_EDIT_FRAME::OnFindReplace( wxFindDialogEvent& aEvent )
|
||||||
|
|
||||||
if( m_foundItems.ReplaceItem() )
|
if( m_foundItems.ReplaceItem() )
|
||||||
{
|
{
|
||||||
|
OnModify();
|
||||||
SaveUndoItemInUndoList( undoItem );
|
SaveUndoItemInUndoList( undoItem );
|
||||||
RedrawScreen( data.GetPosition(), warpCursor );
|
RedrawScreen( data.GetPosition(), warpCursor );
|
||||||
}
|
}
|
||||||
|
@ -411,9 +412,7 @@ void SCH_EDIT_FRAME::OnFindReplace( wxFindDialogEvent& aEvent )
|
||||||
|
|
||||||
if( aEvent.GetEventType() == wxEVT_COMMAND_FIND_REPLACE_ALL )
|
if( aEvent.GetEventType() == wxEVT_COMMAND_FIND_REPLACE_ALL )
|
||||||
{
|
{
|
||||||
item = (SCH_ITEM*) m_foundItems.GetItem( data );
|
while( ( item = (SCH_ITEM*) m_foundItems.GetItem( data ) ) != NULL )
|
||||||
|
|
||||||
while( item != NULL )
|
|
||||||
{
|
{
|
||||||
wxLogTrace( traceFindReplace, wxT( "Replacing %s with %s in item %s" ),
|
wxLogTrace( traceFindReplace, wxT( "Replacing %s with %s in item %s" ),
|
||||||
GetChars( aEvent.GetFindString() ), GetChars( aEvent.GetReplaceString() ),
|
GetChars( aEvent.GetFindString() ), GetChars( aEvent.GetReplaceString() ),
|
||||||
|
@ -429,6 +428,7 @@ void SCH_EDIT_FRAME::OnFindReplace( wxFindDialogEvent& aEvent )
|
||||||
|
|
||||||
if( m_foundItems.ReplaceItem() )
|
if( m_foundItems.ReplaceItem() )
|
||||||
{
|
{
|
||||||
|
OnModify();
|
||||||
SaveUndoItemInUndoList( undoItem );
|
SaveUndoItemInUndoList( undoItem );
|
||||||
RedrawScreen( data.GetPosition(), warpCursor );
|
RedrawScreen( data.GetPosition(), warpCursor );
|
||||||
}
|
}
|
||||||
|
|
|
@ -96,7 +96,7 @@ SCH_COMPONENT* SCH_EDIT_FRAME::Load_Component( wxDC* DC,
|
||||||
static wxString lastCommponentName;
|
static wxString lastCommponentName;
|
||||||
|
|
||||||
m_itemToRepeat = NULL;
|
m_itemToRepeat = NULL;
|
||||||
m_canvas->m_IgnoreMouseEvents = true;
|
m_canvas->SetIgnoreMouseEvents( true );
|
||||||
|
|
||||||
if( !libname.IsEmpty() )
|
if( !libname.IsEmpty() )
|
||||||
{
|
{
|
||||||
|
@ -122,7 +122,7 @@ SCH_COMPONENT* SCH_EDIT_FRAME::Load_Component( wxDC* DC,
|
||||||
|
|
||||||
if ( dlg.ShowModal() == wxID_CANCEL )
|
if ( dlg.ShowModal() == wxID_CANCEL )
|
||||||
{
|
{
|
||||||
m_canvas->m_IgnoreMouseEvents = false;
|
m_canvas->SetIgnoreMouseEvents( false );
|
||||||
m_canvas->MoveCursorToCrossHair();
|
m_canvas->MoveCursorToCrossHair();
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -140,7 +140,7 @@ SCH_COMPONENT* SCH_EDIT_FRAME::Load_Component( wxDC* DC,
|
||||||
|
|
||||||
if( Name.IsEmpty() )
|
if( Name.IsEmpty() )
|
||||||
{
|
{
|
||||||
m_canvas->m_IgnoreMouseEvents = false;
|
m_canvas->SetIgnoreMouseEvents( false );
|
||||||
m_canvas->MoveCursorToCrossHair();
|
m_canvas->MoveCursorToCrossHair();
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -157,7 +157,7 @@ SCH_COMPONENT* SCH_EDIT_FRAME::Load_Component( wxDC* DC,
|
||||||
|
|
||||||
if( Name.IsEmpty() )
|
if( Name.IsEmpty() )
|
||||||
{
|
{
|
||||||
m_canvas->m_IgnoreMouseEvents = false;
|
m_canvas->SetIgnoreMouseEvents( false );
|
||||||
m_canvas->MoveCursorToCrossHair();
|
m_canvas->MoveCursorToCrossHair();
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -168,7 +168,7 @@ SCH_COMPONENT* SCH_EDIT_FRAME::Load_Component( wxDC* DC,
|
||||||
|
|
||||||
if( GetNameOfPartToLoad( this, Library, Name ) == 0 )
|
if( GetNameOfPartToLoad( this, Library, Name ) == 0 )
|
||||||
{
|
{
|
||||||
m_canvas->m_IgnoreMouseEvents = false;
|
m_canvas->SetIgnoreMouseEvents( false );
|
||||||
m_canvas->MoveCursorToCrossHair();
|
m_canvas->MoveCursorToCrossHair();
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -180,7 +180,7 @@ SCH_COMPONENT* SCH_EDIT_FRAME::Load_Component( wxDC* DC,
|
||||||
|
|
||||||
if( Name.IsEmpty() )
|
if( Name.IsEmpty() )
|
||||||
{
|
{
|
||||||
m_canvas->m_IgnoreMouseEvents = false;
|
m_canvas->SetIgnoreMouseEvents( false );
|
||||||
m_canvas->MoveCursorToCrossHair();
|
m_canvas->MoveCursorToCrossHair();
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -200,13 +200,13 @@ SCH_COMPONENT* SCH_EDIT_FRAME::Load_Component( wxDC* DC,
|
||||||
|
|
||||||
if( Entry == NULL )
|
if( Entry == NULL )
|
||||||
{
|
{
|
||||||
m_canvas->m_IgnoreMouseEvents = false;
|
m_canvas->SetIgnoreMouseEvents( false );
|
||||||
m_canvas->MoveCursorToCrossHair();
|
m_canvas->MoveCursorToCrossHair();
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
m_canvas->m_IgnoreMouseEvents = false;
|
m_canvas->SetIgnoreMouseEvents( false );
|
||||||
m_canvas->MoveCursorToCrossHair();
|
m_canvas->MoveCursorToCrossHair();
|
||||||
|
|
||||||
if( Entry == NULL )
|
if( Entry == NULL )
|
||||||
|
|
|
@ -280,7 +280,7 @@ void SCH_EDIT_FRAME::DisplayCurrentSheet()
|
||||||
// update the References
|
// update the References
|
||||||
m_CurrentSheet->UpdateAllScreenReferences();
|
m_CurrentSheet->UpdateAllScreenReferences();
|
||||||
SetSheetNumberAndCount();
|
SetSheetNumberAndCount();
|
||||||
m_canvas->m_CanStartBlock = -1;
|
m_canvas->SetCanStartBlock( -1 );
|
||||||
|
|
||||||
if( screen->m_FirstRedraw )
|
if( screen->m_FirstRedraw )
|
||||||
{
|
{
|
||||||
|
|
|
@ -416,21 +416,27 @@ void LIB_ARC::drawGraphic( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aOf
|
||||||
fill = NO_FILL;
|
fill = NO_FILL;
|
||||||
|
|
||||||
if( fill == FILLED_WITH_BG_BODYCOLOR )
|
if( fill == FILLED_WITH_BG_BODYCOLOR )
|
||||||
GRFilledArc( &aPanel->m_ClipBox, aDC, posc.x, posc.y, pt1, pt2,
|
{
|
||||||
|
GRFilledArc( aPanel->GetClipBox(), aDC, posc.x, posc.y, pt1, pt2,
|
||||||
m_Radius, GetPenSize( ),
|
m_Radius, GetPenSize( ),
|
||||||
(m_Flags & IS_MOVED) ? color : ReturnLayerColor( LAYER_DEVICE_BACKGROUND ),
|
(m_Flags & IS_MOVED) ? color : ReturnLayerColor( LAYER_DEVICE_BACKGROUND ),
|
||||||
ReturnLayerColor( LAYER_DEVICE_BACKGROUND ) );
|
ReturnLayerColor( LAYER_DEVICE_BACKGROUND ) );
|
||||||
|
}
|
||||||
else if( fill == FILLED_SHAPE && !aData )
|
else if( fill == FILLED_SHAPE && !aData )
|
||||||
GRFilledArc( &aPanel->m_ClipBox, aDC, posc.x, posc.y, pt1, pt2, m_Radius, color, color );
|
{
|
||||||
|
GRFilledArc( aPanel->GetClipBox(), aDC, posc.x, posc.y, pt1, pt2, m_Radius,
|
||||||
|
color, color );
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
||||||
#ifdef DRAW_ARC_WITH_ANGLE
|
#ifdef DRAW_ARC_WITH_ANGLE
|
||||||
|
|
||||||
GRArc( &aPanel->m_ClipBox, aDC, posc.x, posc.y, pt1, pt2, m_Radius, GetPenSize(), color );
|
GRArc( aPanel->GetClipBox(), aDC, posc.x, posc.y, pt1, pt2, m_Radius,
|
||||||
|
GetPenSize(), color );
|
||||||
#else
|
#else
|
||||||
|
|
||||||
GRArc1( &aPanel->m_ClipBox, aDC, pos1.x, pos1.y, pos2.x, pos2.y,
|
GRArc1( aPanel->GetClipBox(), aDC, pos1.x, pos1.y, pos2.x, pos2.y,
|
||||||
posc.x, posc.y, GetPenSize(), color );
|
posc.x, posc.y, GetPenSize(), color );
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
@ -439,7 +445,7 @@ void LIB_ARC::drawGraphic( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aOf
|
||||||
* calculation. */
|
* calculation. */
|
||||||
#if 0
|
#if 0
|
||||||
EDA_RECT bBox = GetBoundingBox();
|
EDA_RECT bBox = GetBoundingBox();
|
||||||
GRRect( &aPanel->m_ClipBox, aDC, bBox.GetOrigin().x, bBox.GetOrigin().y,
|
GRRect( aPanel->GetClipBox(), aDC, bBox.GetOrigin().x, bBox.GetOrigin().y,
|
||||||
bBox.GetEnd().x, bBox.GetEnd().y, 0, LIGHTMAGENTA );
|
bBox.GetEnd().x, bBox.GetEnd().y, 0, LIGHTMAGENTA );
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
|
@ -332,15 +332,15 @@ void LIB_BEZIER::drawGraphic( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint&
|
||||||
GRSetDrawMode( aDC, aDrawMode );
|
GRSetDrawMode( aDC, aDrawMode );
|
||||||
|
|
||||||
if( fill == FILLED_WITH_BG_BODYCOLOR )
|
if( fill == FILLED_WITH_BG_BODYCOLOR )
|
||||||
GRPoly( &aPanel->m_ClipBox, aDC, m_PolyPoints.size(),
|
GRPoly( aPanel->GetClipBox(), aDC, m_PolyPoints.size(),
|
||||||
&PolyPointsTraslated[0], 1, GetPenSize(),
|
&PolyPointsTraslated[0], 1, GetPenSize(),
|
||||||
(m_Flags & IS_MOVED) ? color : ReturnLayerColor( LAYER_DEVICE_BACKGROUND ),
|
(m_Flags & IS_MOVED) ? color : ReturnLayerColor( LAYER_DEVICE_BACKGROUND ),
|
||||||
ReturnLayerColor( LAYER_DEVICE_BACKGROUND ) );
|
ReturnLayerColor( LAYER_DEVICE_BACKGROUND ) );
|
||||||
else if( fill == FILLED_SHAPE )
|
else if( fill == FILLED_SHAPE )
|
||||||
GRPoly( &aPanel->m_ClipBox, aDC, m_PolyPoints.size(),
|
GRPoly( aPanel->GetClipBox(), aDC, m_PolyPoints.size(),
|
||||||
&PolyPointsTraslated[0], 1, GetPenSize(), color, color );
|
&PolyPointsTraslated[0], 1, GetPenSize(), color, color );
|
||||||
else
|
else
|
||||||
GRPoly( &aPanel->m_ClipBox, aDC, m_PolyPoints.size(),
|
GRPoly( aPanel->GetClipBox(), aDC, m_PolyPoints.size(),
|
||||||
&PolyPointsTraslated[0], 0, GetPenSize(), color, color );
|
&PolyPointsTraslated[0], 0, GetPenSize(), color, color );
|
||||||
|
|
||||||
/* Set to one (1) to draw bounding box around bezier curve to validate
|
/* Set to one (1) to draw bounding box around bezier curve to validate
|
||||||
|
@ -348,7 +348,7 @@ void LIB_BEZIER::drawGraphic( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint&
|
||||||
#if 0
|
#if 0
|
||||||
EDA_RECT bBox = GetBoundingBox();
|
EDA_RECT bBox = GetBoundingBox();
|
||||||
bBox.Inflate( m_Thickness + 1, m_Thickness + 1 );
|
bBox.Inflate( m_Thickness + 1, m_Thickness + 1 );
|
||||||
GRRect( &aPanel->m_ClipBox, aDC, bBox.GetOrigin().x, bBox.GetOrigin().y,
|
GRRect( aPanel->GetClipBox(), aDC, bBox.GetOrigin().x, bBox.GetOrigin().y,
|
||||||
bBox.GetEnd().x, bBox.GetEnd().y, 0, LIGHTMAGENTA );
|
bBox.GetEnd().x, bBox.GetEnd().y, 0, LIGHTMAGENTA );
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
|
@ -244,19 +244,19 @@ void LIB_CIRCLE::drawGraphic( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint&
|
||||||
fill = NO_FILL;
|
fill = NO_FILL;
|
||||||
|
|
||||||
if( fill == FILLED_WITH_BG_BODYCOLOR )
|
if( fill == FILLED_WITH_BG_BODYCOLOR )
|
||||||
GRFilledCircle( &aPanel->m_ClipBox, aDC, pos1.x, pos1.y, m_Radius, GetPenSize(),
|
GRFilledCircle( aPanel->GetClipBox(), aDC, pos1.x, pos1.y, m_Radius, GetPenSize(),
|
||||||
(m_Flags & IS_MOVED) ? color : ReturnLayerColor( LAYER_DEVICE_BACKGROUND ),
|
(m_Flags & IS_MOVED) ? color : ReturnLayerColor( LAYER_DEVICE_BACKGROUND ),
|
||||||
ReturnLayerColor( LAYER_DEVICE_BACKGROUND ) );
|
ReturnLayerColor( LAYER_DEVICE_BACKGROUND ) );
|
||||||
else if( fill == FILLED_SHAPE )
|
else if( fill == FILLED_SHAPE )
|
||||||
GRFilledCircle( &aPanel->m_ClipBox, aDC, pos1.x, pos1.y, m_Radius, 0, color, color );
|
GRFilledCircle( aPanel->GetClipBox(), aDC, pos1.x, pos1.y, m_Radius, 0, color, color );
|
||||||
else
|
else
|
||||||
GRCircle( &aPanel->m_ClipBox, aDC, pos1.x, pos1.y, m_Radius, GetPenSize(), color );
|
GRCircle( aPanel->GetClipBox(), aDC, pos1.x, pos1.y, m_Radius, GetPenSize(), color );
|
||||||
|
|
||||||
/* Set to one (1) to draw bounding box around circle to validate bounding
|
/* Set to one (1) to draw bounding box around circle to validate bounding
|
||||||
* box calculation. */
|
* box calculation. */
|
||||||
#if 0
|
#if 0
|
||||||
EDA_RECT bBox = GetBoundingBox();
|
EDA_RECT bBox = GetBoundingBox();
|
||||||
GRRect( &aPanel->m_ClipBox, aDC, bBox.GetOrigin().x, bBox.GetOrigin().y,
|
GRRect( aPanel->GetClipBox(), aDC, bBox.GetOrigin().x, bBox.GetOrigin().y,
|
||||||
bBox.GetEnd().x, bBox.GetEnd().y, 0, LIGHTMAGENTA );
|
bBox.GetEnd().x, bBox.GetEnd().y, 0, LIGHTMAGENTA );
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
|
@ -140,7 +140,7 @@ void LIB_ITEM::Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aOffset,
|
||||||
if( m_eraseLastDrawItem )
|
if( m_eraseLastDrawItem )
|
||||||
{
|
{
|
||||||
GRSetDrawMode( aDC, g_XorMode );
|
GRSetDrawMode( aDC, g_XorMode );
|
||||||
drawEditGraphics( &aPanel->m_ClipBox, aDC, color );
|
drawEditGraphics( aPanel->GetClipBox(), aDC, color );
|
||||||
drawGraphic( aPanel, aDC, wxPoint( 0, 0 ), color, g_XorMode, aData, aTransform );
|
drawGraphic( aPanel, aDC, wxPoint( 0, 0 ), color, g_XorMode, aData, aTransform );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -148,7 +148,7 @@ void LIB_ITEM::Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aOffset,
|
||||||
calcEdit( aOffset );
|
calcEdit( aOffset );
|
||||||
|
|
||||||
// Draw the items using the new attributes.
|
// Draw the items using the new attributes.
|
||||||
drawEditGraphics( &aPanel->m_ClipBox, aDC, color );
|
drawEditGraphics( aPanel->GetClipBox(), aDC, color );
|
||||||
drawGraphic( aPanel, aDC, wxPoint( 0, 0 ), color, g_XorMode, aData, aTransform );
|
drawGraphic( aPanel, aDC, wxPoint( 0, 0 ), color, g_XorMode, aData, aTransform );
|
||||||
|
|
||||||
m_Fill = fillMode;
|
m_Fill = fillMode;
|
||||||
|
|
|
@ -325,7 +325,7 @@ void LIB_FIELD::drawGraphic( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& a
|
||||||
grBox.SetOrigin( aTransform.TransformCoordinate( bBox.GetOrigin() ) );
|
grBox.SetOrigin( aTransform.TransformCoordinate( bBox.GetOrigin() ) );
|
||||||
grBox.SetEnd( aTransform.TransformCoordinate( bBox.GetEnd() ) );
|
grBox.SetEnd( aTransform.TransformCoordinate( bBox.GetEnd() ) );
|
||||||
grBox.Move( aOffset );
|
grBox.Move( aOffset );
|
||||||
GRRect( &aPanel->m_ClipBox, aDC, grBox, 0, LIGHTMAGENTA );
|
GRRect( aPanel->GetClipBox(), aDC, grBox, 0, LIGHTMAGENTA );
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -853,7 +853,7 @@ void LIB_PIN::drawGraphic( EDA_DRAW_PANEL* aPanel,
|
||||||
/* Set to one (1) to draw bounding box around pin to validate bounding
|
/* Set to one (1) to draw bounding box around pin to validate bounding
|
||||||
* box calculation. */
|
* box calculation. */
|
||||||
#if 0
|
#if 0
|
||||||
EDA_RECT* clipbox = aPanel ? &aPanel->m_ClipBox : NULL;
|
EDA_RECT* clipbox = aPanel ? aPanel->GetClipBox() : NULL;
|
||||||
TRANSFORM transform = DefaultTransform;
|
TRANSFORM transform = DefaultTransform;
|
||||||
DefaultTransform = aTransform;
|
DefaultTransform = aTransform;
|
||||||
EDA_RECT bBox = GetBoundingBox();
|
EDA_RECT bBox = GetBoundingBox();
|
||||||
|
@ -876,7 +876,7 @@ void LIB_PIN::DrawPinSymbol( EDA_DRAW_PANEL* aPanel,
|
||||||
int color;
|
int color;
|
||||||
int width = GetPenSize();
|
int width = GetPenSize();
|
||||||
int posX = aPinPos.x, posY = aPinPos.y, len = m_length;
|
int posX = aPinPos.x, posY = aPinPos.y, len = m_length;
|
||||||
EDA_RECT* clipbox = aPanel ? &aPanel->m_ClipBox : NULL;
|
EDA_RECT* clipbox = aPanel ? aPanel->GetClipBox() : NULL;
|
||||||
|
|
||||||
color = ReturnLayerColor( LAYER_PIN );
|
color = ReturnLayerColor( LAYER_PIN );
|
||||||
|
|
||||||
|
|
|
@ -305,14 +305,14 @@ void LIB_POLYLINE::drawGraphic( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint
|
||||||
GRSetDrawMode( aDC, aDrawMode );
|
GRSetDrawMode( aDC, aDrawMode );
|
||||||
|
|
||||||
if( fill == FILLED_WITH_BG_BODYCOLOR )
|
if( fill == FILLED_WITH_BG_BODYCOLOR )
|
||||||
GRPoly( &aPanel->m_ClipBox, aDC, m_PolyPoints.size(), buffer, 1, GetPenSize(),
|
GRPoly( aPanel->GetClipBox(), aDC, m_PolyPoints.size(), buffer, 1, GetPenSize(),
|
||||||
(m_Flags & IS_MOVED) ? color : ReturnLayerColor( LAYER_DEVICE_BACKGROUND ),
|
(m_Flags & IS_MOVED) ? color : ReturnLayerColor( LAYER_DEVICE_BACKGROUND ),
|
||||||
ReturnLayerColor( LAYER_DEVICE_BACKGROUND ) );
|
ReturnLayerColor( LAYER_DEVICE_BACKGROUND ) );
|
||||||
else if( fill == FILLED_SHAPE )
|
else if( fill == FILLED_SHAPE )
|
||||||
GRPoly( &aPanel->m_ClipBox, aDC, m_PolyPoints.size(), buffer, 1, GetPenSize(),
|
GRPoly( aPanel->GetClipBox(), aDC, m_PolyPoints.size(), buffer, 1, GetPenSize(),
|
||||||
color, color );
|
color, color );
|
||||||
else
|
else
|
||||||
GRPoly( &aPanel->m_ClipBox, aDC, m_PolyPoints.size(), buffer, 0, GetPenSize(),
|
GRPoly( aPanel->GetClipBox(), aDC, m_PolyPoints.size(), buffer, 0, GetPenSize(),
|
||||||
color, color );
|
color, color );
|
||||||
|
|
||||||
delete[] buffer;
|
delete[] buffer;
|
||||||
|
@ -322,7 +322,7 @@ void LIB_POLYLINE::drawGraphic( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint
|
||||||
#if 0
|
#if 0
|
||||||
EDA_RECT bBox = GetBoundingBox();
|
EDA_RECT bBox = GetBoundingBox();
|
||||||
bBox.Inflate( m_Thickness + 1, m_Thickness + 1 );
|
bBox.Inflate( m_Thickness + 1, m_Thickness + 1 );
|
||||||
GRRect( &aPanel->m_ClipBox, aDC, bBox.GetOrigin().x, bBox.GetOrigin().y,
|
GRRect( aPanel->GetClipBox(), aDC, bBox.GetOrigin().x, bBox.GetOrigin().y,
|
||||||
bBox.GetEnd().x, bBox.GetEnd().y, 0, LIGHTMAGENTA );
|
bBox.GetEnd().x, bBox.GetEnd().y, 0, LIGHTMAGENTA );
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
|
@ -233,21 +233,21 @@ void LIB_RECTANGLE::drawGraphic( EDA_DRAW_PANEL* aPanel, wxDC* aDC,
|
||||||
GRSetDrawMode( aDC, aDrawMode );
|
GRSetDrawMode( aDC, aDrawMode );
|
||||||
|
|
||||||
if( fill == FILLED_WITH_BG_BODYCOLOR && !aData )
|
if( fill == FILLED_WITH_BG_BODYCOLOR && !aData )
|
||||||
GRFilledRect( &aPanel->m_ClipBox, aDC, pos1.x, pos1.y, pos2.x, pos2.y, GetPenSize( ),
|
GRFilledRect( aPanel->GetClipBox(), aDC, pos1.x, pos1.y, pos2.x, pos2.y, GetPenSize( ),
|
||||||
(m_Flags & IS_MOVED) ? color : ReturnLayerColor( LAYER_DEVICE_BACKGROUND ),
|
(m_Flags & IS_MOVED) ? color : ReturnLayerColor( LAYER_DEVICE_BACKGROUND ),
|
||||||
ReturnLayerColor( LAYER_DEVICE_BACKGROUND ) );
|
ReturnLayerColor( LAYER_DEVICE_BACKGROUND ) );
|
||||||
else if( m_Fill == FILLED_SHAPE && !aData )
|
else if( m_Fill == FILLED_SHAPE && !aData )
|
||||||
GRFilledRect( &aPanel->m_ClipBox, aDC, pos1.x, pos1.y, pos2.x, pos2.y,
|
GRFilledRect( aPanel->GetClipBox(), aDC, pos1.x, pos1.y, pos2.x, pos2.y,
|
||||||
GetPenSize(), color, color );
|
GetPenSize(), color, color );
|
||||||
else
|
else
|
||||||
GRRect( &aPanel->m_ClipBox, aDC, pos1.x, pos1.y, pos2.x, pos2.y, GetPenSize(), color );
|
GRRect( aPanel->GetClipBox(), aDC, pos1.x, pos1.y, pos2.x, pos2.y, GetPenSize(), color );
|
||||||
|
|
||||||
/* Set to one (1) to draw bounding box around rectangle to validate
|
/* Set to one (1) to draw bounding box around rectangle to validate
|
||||||
* bounding box calculation. */
|
* bounding box calculation. */
|
||||||
#if 0
|
#if 0
|
||||||
EDA_RECT bBox = GetBoundingBox();
|
EDA_RECT bBox = GetBoundingBox();
|
||||||
bBox.Inflate( m_Thickness + 1, m_Thickness + 1 );
|
bBox.Inflate( m_Thickness + 1, m_Thickness + 1 );
|
||||||
GRRect( &aPanel->m_ClipBox, aDC, bBox.GetOrigin().x, bBox.GetOrigin().y,
|
GRRect( aPanel->GetClipBox(), aDC, bBox.GetOrigin().x, bBox.GetOrigin().y,
|
||||||
bBox.GetEnd().x, bBox.GetEnd().y, 0, LIGHTMAGENTA );
|
bBox.GetEnd().x, bBox.GetEnd().y, 0, LIGHTMAGENTA );
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
|
@ -403,7 +403,7 @@ void LIB_TEXT::drawGraphic( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aO
|
||||||
grBox.SetOrigin( aTransform.TransformCoordinate( bBox.GetOrigin() ) );
|
grBox.SetOrigin( aTransform.TransformCoordinate( bBox.GetOrigin() ) );
|
||||||
grBox.SetEnd( aTransform.TransformCoordinate( bBox.GetEnd() ) );
|
grBox.SetEnd( aTransform.TransformCoordinate( bBox.GetEnd() ) );
|
||||||
grBox.Move( aOffset );
|
grBox.Move( aOffset );
|
||||||
GRRect( &aPanel->m_ClipBox, aDC, grBox, 0, LIGHTMAGENTA );
|
GRRect( aPanel->GetClipBox(), aDC, grBox, 0, LIGHTMAGENTA );
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -252,7 +252,7 @@ void LIB_EDIT_FRAME::RedrawActiveWindow( wxDC* DC, bool EraseBg )
|
||||||
}
|
}
|
||||||
|
|
||||||
if( m_canvas->IsMouseCaptured() )
|
if( m_canvas->IsMouseCaptured() )
|
||||||
m_canvas->m_mouseCaptureCallback( m_canvas, DC, wxDefaultPosition, false );
|
m_canvas->CallMouseCapture( DC, wxDefaultPosition, false );
|
||||||
|
|
||||||
m_canvas->DrawCrossHair( DC );
|
m_canvas->DrawCrossHair( DC );
|
||||||
|
|
||||||
|
@ -322,7 +322,8 @@ void LIB_EDIT_FRAME::SaveActiveLibrary( wxCommandEvent& event )
|
||||||
if( libFileName.FileExists() )
|
if( libFileName.FileExists() )
|
||||||
{
|
{
|
||||||
backupFileName.SetExt( wxT( "bak" ) );
|
backupFileName.SetExt( wxT( "bak" ) );
|
||||||
wxRemoveFile( backupFileName.GetFullPath() );
|
if( backupFileName.FileExists() )
|
||||||
|
wxRemoveFile( backupFileName.GetFullPath() );
|
||||||
|
|
||||||
if( !wxRenameFile( libFileName.GetFullPath(), backupFileName.GetFullPath() ) )
|
if( !wxRenameFile( libFileName.GetFullPath(), backupFileName.GetFullPath() ) )
|
||||||
{
|
{
|
||||||
|
@ -361,7 +362,8 @@ void LIB_EDIT_FRAME::SaveActiveLibrary( wxCommandEvent& event )
|
||||||
if( docFileName.FileExists() )
|
if( docFileName.FileExists() )
|
||||||
{
|
{
|
||||||
backupFileName.SetExt( wxT( "bck" ) );
|
backupFileName.SetExt( wxT( "bck" ) );
|
||||||
wxRemoveFile( backupFileName.GetFullPath() );
|
if( backupFileName.FileExists() )
|
||||||
|
wxRemoveFile( backupFileName.GetFullPath() );
|
||||||
|
|
||||||
if( !wxRenameFile( docFileName.GetFullPath(), backupFileName.GetFullPath() ) )
|
if( !wxRenameFile( docFileName.GetFullPath(), backupFileName.GetFullPath() ) )
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,3 +1,28 @@
|
||||||
|
/*
|
||||||
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2006 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
||||||
|
* Copyright (C) 2010 Wayne Stambaugh <stambaughw@verizon.net>
|
||||||
|
* Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
* of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, you may find one here:
|
||||||
|
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||||
|
* or you may search the http://www.gnu.org website for the version 2 license,
|
||||||
|
* or you may write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @file libedit_onleftclick.cpp
|
* @file libedit_onleftclick.cpp
|
||||||
* @brief Eeschema library editor event handler for a mouse left button single or double click.
|
* @brief Eeschema library editor event handler for a mouse left button single or double click.
|
||||||
|
@ -27,13 +52,16 @@ void LIB_EDIT_FRAME::OnLeftClick( wxDC* DC, const wxPoint& aPosition )
|
||||||
item = LocateItemUsingCursor( aPosition );
|
item = LocateItemUsingCursor( aPosition );
|
||||||
|
|
||||||
if( item )
|
if( item )
|
||||||
|
|
||||||
|
{
|
||||||
item->DisplayInfo( this );
|
item->DisplayInfo( this );
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
DisplayCmpDoc();
|
DisplayCmpDoc();
|
||||||
|
|
||||||
if( m_canvas->m_AbortRequest )
|
if( m_canvas->GetAbortRequest() )
|
||||||
m_canvas->m_AbortRequest = false;
|
m_canvas->SetAbortRequest( false );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -135,7 +163,7 @@ void LIB_EDIT_FRAME::OnLeftDClick( wxDC* DC, const wxPoint& aPosition )
|
||||||
else
|
else
|
||||||
return;
|
return;
|
||||||
|
|
||||||
m_canvas->m_IgnoreMouseEvents = true;
|
m_canvas->SetIgnoreMouseEvents( true );
|
||||||
|
|
||||||
switch( m_drawItem->Type() )
|
switch( m_drawItem->Type() )
|
||||||
{
|
{
|
||||||
|
@ -188,5 +216,5 @@ void LIB_EDIT_FRAME::OnLeftDClick( wxDC* DC, const wxPoint& aPosition )
|
||||||
}
|
}
|
||||||
|
|
||||||
m_canvas->MoveCursorToCrossHair();
|
m_canvas->MoveCursorToCrossHair();
|
||||||
m_canvas->m_IgnoreMouseEvents = false;
|
m_canvas->SetIgnoreMouseEvents( false );
|
||||||
}
|
}
|
||||||
|
|
|
@ -51,9 +51,9 @@ bool LIB_EDIT_FRAME::OnRightClick( const wxPoint& aPosition, wxMenu* PopMenu )
|
||||||
item = LocateItemUsingCursor( aPosition );
|
item = LocateItemUsingCursor( aPosition );
|
||||||
|
|
||||||
// If the clarify item selection context menu is aborted, don't show the context menu.
|
// If the clarify item selection context menu is aborted, don't show the context menu.
|
||||||
if( item == NULL && m_canvas->m_AbortRequest )
|
if( item == NULL && m_canvas->GetAbortRequest() )
|
||||||
{
|
{
|
||||||
m_canvas->m_AbortRequest = false;
|
m_canvas->SetAbortRequest( false );
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -226,7 +226,7 @@ LIB_EDIT_FRAME::LIB_EDIT_FRAME( SCH_EDIT_FRAME* aParent,
|
||||||
GetScreen()->SetGrid( ID_POPUP_GRID_LEVEL_1000 + m_LastGridSizeId );
|
GetScreen()->SetGrid( ID_POPUP_GRID_LEVEL_1000 + m_LastGridSizeId );
|
||||||
|
|
||||||
if( m_canvas )
|
if( m_canvas )
|
||||||
m_canvas->m_Block_Enable = true;
|
m_canvas->SetEnableBlockCommands( true );
|
||||||
|
|
||||||
EnsureActiveLibExists();
|
EnsureActiveLibExists();
|
||||||
ReCreateMenuBar();
|
ReCreateMenuBar();
|
||||||
|
@ -654,7 +654,7 @@ void LIB_EDIT_FRAME::Process_Special_Functions( wxCommandEvent& event )
|
||||||
int id = event.GetId();
|
int id = event.GetId();
|
||||||
wxPoint pos;
|
wxPoint pos;
|
||||||
|
|
||||||
m_canvas->m_IgnoreMouseEvents = true;
|
m_canvas->SetIgnoreMouseEvents( true );
|
||||||
|
|
||||||
wxGetMousePosition( &pos.x, &pos.y );
|
wxGetMousePosition( &pos.x, &pos.y );
|
||||||
pos.y += 20;
|
pos.y += 20;
|
||||||
|
@ -826,55 +826,55 @@ void LIB_EDIT_FRAME::Process_Special_Functions( wxCommandEvent& event )
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ID_POPUP_ZOOM_BLOCK:
|
case ID_POPUP_ZOOM_BLOCK:
|
||||||
m_canvas->m_AutoPAN_Request = false;
|
m_canvas->SetAutoPanRequest( false );
|
||||||
GetScreen()->m_BlockLocate.m_Command = BLOCK_ZOOM;
|
GetScreen()->m_BlockLocate.m_Command = BLOCK_ZOOM;
|
||||||
HandleBlockEnd( &dc );
|
HandleBlockEnd( &dc );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ID_POPUP_DELETE_BLOCK:
|
case ID_POPUP_DELETE_BLOCK:
|
||||||
m_canvas->m_AutoPAN_Request = false;
|
m_canvas->SetAutoPanRequest( false );
|
||||||
GetScreen()->m_BlockLocate.m_Command = BLOCK_DELETE;
|
GetScreen()->m_BlockLocate.m_Command = BLOCK_DELETE;
|
||||||
m_canvas->MoveCursorToCrossHair();
|
m_canvas->MoveCursorToCrossHair();
|
||||||
HandleBlockEnd( &dc );
|
HandleBlockEnd( &dc );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ID_POPUP_COPY_BLOCK:
|
case ID_POPUP_COPY_BLOCK:
|
||||||
m_canvas->m_AutoPAN_Request = false;
|
m_canvas->SetAutoPanRequest( false );
|
||||||
GetScreen()->m_BlockLocate.m_Command = BLOCK_COPY;
|
GetScreen()->m_BlockLocate.m_Command = BLOCK_COPY;
|
||||||
m_canvas->MoveCursorToCrossHair();
|
m_canvas->MoveCursorToCrossHair();
|
||||||
HandleBlockPlace( &dc );
|
HandleBlockPlace( &dc );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ID_POPUP_SELECT_ITEMS_BLOCK:
|
case ID_POPUP_SELECT_ITEMS_BLOCK:
|
||||||
m_canvas->m_AutoPAN_Request = false;
|
m_canvas->SetAutoPanRequest( false );
|
||||||
GetScreen()->m_BlockLocate.m_Command = BLOCK_SELECT_ITEMS_ONLY;
|
GetScreen()->m_BlockLocate.m_Command = BLOCK_SELECT_ITEMS_ONLY;
|
||||||
m_canvas->MoveCursorToCrossHair();
|
m_canvas->MoveCursorToCrossHair();
|
||||||
HandleBlockEnd( &dc );
|
HandleBlockEnd( &dc );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ID_POPUP_MIRROR_Y_BLOCK:
|
case ID_POPUP_MIRROR_Y_BLOCK:
|
||||||
m_canvas->m_AutoPAN_Request = false;
|
m_canvas->SetAutoPanRequest( false );
|
||||||
GetScreen()->m_BlockLocate.m_Command = BLOCK_MIRROR_Y;
|
GetScreen()->m_BlockLocate.m_Command = BLOCK_MIRROR_Y;
|
||||||
m_canvas->MoveCursorToCrossHair();
|
m_canvas->MoveCursorToCrossHair();
|
||||||
HandleBlockPlace( &dc );
|
HandleBlockPlace( &dc );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ID_POPUP_MIRROR_X_BLOCK:
|
case ID_POPUP_MIRROR_X_BLOCK:
|
||||||
m_canvas->m_AutoPAN_Request = false;
|
m_canvas->SetAutoPanRequest( false );
|
||||||
GetScreen()->m_BlockLocate.m_Command = BLOCK_MIRROR_X;
|
GetScreen()->m_BlockLocate.m_Command = BLOCK_MIRROR_X;
|
||||||
m_canvas->MoveCursorToCrossHair();
|
m_canvas->MoveCursorToCrossHair();
|
||||||
HandleBlockPlace( &dc );
|
HandleBlockPlace( &dc );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ID_POPUP_ROTATE_BLOCK:
|
case ID_POPUP_ROTATE_BLOCK:
|
||||||
m_canvas->m_AutoPAN_Request = false;
|
m_canvas->SetAutoPanRequest( false );
|
||||||
GetScreen()->m_BlockLocate.m_Command = BLOCK_ROTATE;
|
GetScreen()->m_BlockLocate.m_Command = BLOCK_ROTATE;
|
||||||
m_canvas->MoveCursorToCrossHair();
|
m_canvas->MoveCursorToCrossHair();
|
||||||
HandleBlockPlace( &dc );
|
HandleBlockPlace( &dc );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ID_POPUP_PLACE_BLOCK:
|
case ID_POPUP_PLACE_BLOCK:
|
||||||
m_canvas->m_AutoPAN_Request = false;
|
m_canvas->SetAutoPanRequest( false );
|
||||||
m_canvas->MoveCursorToCrossHair();
|
m_canvas->MoveCursorToCrossHair();
|
||||||
HandleBlockPlace( &dc );
|
HandleBlockPlace( &dc );
|
||||||
break;
|
break;
|
||||||
|
@ -884,7 +884,7 @@ void LIB_EDIT_FRAME::Process_Special_Functions( wxCommandEvent& event )
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_canvas->m_IgnoreMouseEvents = false;
|
m_canvas->SetIgnoreMouseEvents( false );
|
||||||
|
|
||||||
if( GetToolId() == ID_NO_TOOL_SELECTED )
|
if( GetToolId() == ID_NO_TOOL_SELECTED )
|
||||||
m_lastDrawItem = NULL;
|
m_lastDrawItem = NULL;
|
||||||
|
@ -1110,7 +1110,7 @@ void LIB_EDIT_FRAME::OnSelectTool( wxCommandEvent& aEvent )
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_canvas->m_IgnoreMouseEvents = false;
|
m_canvas->SetIgnoreMouseEvents( false );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1198,7 +1198,7 @@ LIB_ITEM* LIB_EDIT_FRAME::locateItem( const wxPoint& aPosition, const KICAD_T aF
|
||||||
|
|
||||||
// Set to NULL in case user aborts the clarification context menu.
|
// Set to NULL in case user aborts the clarification context menu.
|
||||||
m_drawItem = NULL;
|
m_drawItem = NULL;
|
||||||
m_canvas->m_AbortRequest = true; // Changed to false if an item is selected
|
m_canvas->SetAbortRequest( true ); // Changed to false if an item is selected
|
||||||
PopupMenu( &selectMenu );
|
PopupMenu( &selectMenu );
|
||||||
m_canvas->MoveCursorToCrossHair();
|
m_canvas->MoveCursorToCrossHair();
|
||||||
item = m_drawItem;
|
item = m_drawItem;
|
||||||
|
@ -1250,7 +1250,7 @@ void LIB_EDIT_FRAME::deleteItem( wxDC* aDC )
|
||||||
{
|
{
|
||||||
if( m_canvas->IsMouseCaptured() )
|
if( m_canvas->IsMouseCaptured() )
|
||||||
{
|
{
|
||||||
m_canvas->m_endMouseCaptureCallback( m_canvas, aDC );
|
m_canvas->CallEndMouseCapture( aDC );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -1275,7 +1275,7 @@ void LIB_EDIT_FRAME::OnSelectItem( wxCommandEvent& aEvent )
|
||||||
&& (index >= 0 && index < m_collectedItems.GetCount()) )
|
&& (index >= 0 && index < m_collectedItems.GetCount()) )
|
||||||
{
|
{
|
||||||
LIB_ITEM* item = m_collectedItems[index];
|
LIB_ITEM* item = m_collectedItems[index];
|
||||||
m_canvas->m_AbortRequest = false;
|
m_canvas->SetAbortRequest( false );
|
||||||
m_drawItem = item;
|
m_drawItem = item;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -57,7 +57,7 @@ void SCH_EDIT_FRAME::OnLeftClick( wxDC* aDC, const wxPoint& aPosition )
|
||||||
|
|
||||||
if( ( GetToolId() == ID_NO_TOOL_SELECTED ) || ( item && item->GetFlags() ) )
|
if( ( GetToolId() == ID_NO_TOOL_SELECTED ) || ( item && item->GetFlags() ) )
|
||||||
{
|
{
|
||||||
m_canvas->m_AutoPAN_Request = false;
|
m_canvas->SetAutoPanRequest( false );
|
||||||
m_itemToRepeat = NULL;
|
m_itemToRepeat = NULL;
|
||||||
|
|
||||||
if( item && item->GetFlags() )
|
if( item && item->GetFlags() )
|
||||||
|
@ -76,10 +76,7 @@ void SCH_EDIT_FRAME::OnLeftClick( wxDC* aDC, const wxPoint& aPosition )
|
||||||
case SCH_FIELD_T:
|
case SCH_FIELD_T:
|
||||||
case SCH_BITMAP_T:
|
case SCH_BITMAP_T:
|
||||||
case SCH_NO_CONNECT_T:
|
case SCH_NO_CONNECT_T:
|
||||||
item->Place( this, aDC );
|
addCurrentItemToList( aDC );
|
||||||
GetScreen()->SetCurItem( NULL );
|
|
||||||
GetScreen()->TestDanglingEnds();
|
|
||||||
m_canvas->Refresh( true );
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
case SCH_LINE_T: // May already be drawing segment.
|
case SCH_LINE_T: // May already be drawing segment.
|
||||||
|
@ -129,16 +126,13 @@ void SCH_EDIT_FRAME::OnLeftClick( wxDC* aDC, const wxPoint& aPosition )
|
||||||
{
|
{
|
||||||
m_itemToRepeat = AddNoConnect( aDC, gridPosition );
|
m_itemToRepeat = AddNoConnect( aDC, gridPosition );
|
||||||
GetScreen()->SetCurItem( m_itemToRepeat );
|
GetScreen()->SetCurItem( m_itemToRepeat );
|
||||||
m_canvas->m_AutoPAN_Request = true;
|
m_canvas->SetAutoPanRequest( true );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
item->Place( this, aDC );
|
addCurrentItemToList( aDC );
|
||||||
m_canvas->m_AutoPAN_Request = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
GetScreen()->TestDanglingEnds();
|
|
||||||
m_canvas->Refresh( true );
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ID_JUNCTION_BUTT:
|
case ID_JUNCTION_BUTT:
|
||||||
|
@ -146,34 +140,26 @@ void SCH_EDIT_FRAME::OnLeftClick( wxDC* aDC, const wxPoint& aPosition )
|
||||||
{
|
{
|
||||||
m_itemToRepeat = AddJunction( aDC, gridPosition, true );
|
m_itemToRepeat = AddJunction( aDC, gridPosition, true );
|
||||||
GetScreen()->SetCurItem( m_itemToRepeat );
|
GetScreen()->SetCurItem( m_itemToRepeat );
|
||||||
m_canvas->m_AutoPAN_Request = true;
|
m_canvas->SetAutoPanRequest( true );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
item->Place( this, aDC );
|
addCurrentItemToList( aDC );
|
||||||
m_canvas->m_AutoPAN_Request = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
GetScreen()->TestDanglingEnds();
|
|
||||||
m_canvas->Refresh( true );
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ID_WIRETOBUS_ENTRY_BUTT:
|
case ID_WIRETOBUS_ENTRY_BUTT:
|
||||||
case ID_BUSTOBUS_ENTRY_BUTT:
|
case ID_BUSTOBUS_ENTRY_BUTT:
|
||||||
if( ( item == NULL ) || ( item->GetFlags() == 0 ) )
|
if( ( item == NULL ) || ( item->GetFlags() == 0 ) )
|
||||||
{
|
{
|
||||||
item = CreateBusEntry( aDC, ( GetToolId() == ID_WIRETOBUS_ENTRY_BUTT ) ?
|
CreateBusEntry( aDC, ( GetToolId() == ID_WIRETOBUS_ENTRY_BUTT ) ?
|
||||||
WIRE_TO_BUS : BUS_TO_BUS );
|
WIRE_TO_BUS : BUS_TO_BUS );
|
||||||
GetScreen()->SetCurItem( item );
|
m_canvas->SetAutoPanRequest( true );
|
||||||
m_canvas->m_AutoPAN_Request = true;
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
item->Place( this, aDC );
|
addCurrentItemToList( aDC );
|
||||||
GetScreen()->SetCurItem( NULL );
|
|
||||||
GetScreen()->TestDanglingEnds();
|
|
||||||
m_canvas->Refresh( true );
|
|
||||||
m_canvas->m_AutoPAN_Request = false;
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -183,58 +169,56 @@ void SCH_EDIT_FRAME::OnLeftClick( wxDC* aDC, const wxPoint& aPosition )
|
||||||
|
|
||||||
case ID_WIRE_BUTT:
|
case ID_WIRE_BUTT:
|
||||||
BeginSegment( aDC, LAYER_WIRE );
|
BeginSegment( aDC, LAYER_WIRE );
|
||||||
m_canvas->m_AutoPAN_Request = true;
|
m_canvas->SetAutoPanRequest( true );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ID_BUS_BUTT:
|
case ID_BUS_BUTT:
|
||||||
BeginSegment( aDC, LAYER_BUS );
|
BeginSegment( aDC, LAYER_BUS );
|
||||||
m_canvas->m_AutoPAN_Request = true;
|
m_canvas->SetAutoPanRequest( true );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ID_LINE_COMMENT_BUTT:
|
case ID_LINE_COMMENT_BUTT:
|
||||||
BeginSegment( aDC, LAYER_NOTES );
|
BeginSegment( aDC, LAYER_NOTES );
|
||||||
m_canvas->m_AutoPAN_Request = true;
|
m_canvas->SetAutoPanRequest( true );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ID_TEXT_COMMENT_BUTT:
|
case ID_TEXT_COMMENT_BUTT:
|
||||||
if( ( item == NULL ) || ( item->GetFlags() == 0 ) )
|
if( ( item == NULL ) || ( item->GetFlags() == 0 ) )
|
||||||
{
|
{
|
||||||
GetScreen()->SetCurItem( CreateNewText( aDC, LAYER_NOTES ) );
|
GetScreen()->SetCurItem( CreateNewText( aDC, LAYER_NOTES ) );
|
||||||
m_canvas->m_AutoPAN_Request = true;
|
m_canvas->SetAutoPanRequest( true );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
item->Place( this, aDC );
|
addCurrentItemToList( aDC );
|
||||||
m_canvas->m_AutoPAN_Request = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ID_ADD_IMAGE_BUTT:
|
case ID_ADD_IMAGE_BUTT:
|
||||||
if( ( item == NULL ) || ( item->GetFlags() == 0 ) )
|
if( ( item == NULL ) || ( item->GetFlags() == 0 ) )
|
||||||
{
|
{
|
||||||
GetScreen()->SetCurItem( CreateNewImage( aDC ) );
|
GetScreen()->SetCurItem( CreateNewImage( aDC ) );
|
||||||
m_canvas->m_AutoPAN_Request = true;
|
m_canvas->SetAutoPanRequest( true );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
item->Place( this, aDC );
|
addCurrentItemToList( aDC );
|
||||||
m_canvas->m_AutoPAN_Request = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ID_LABEL_BUTT:
|
case ID_LABEL_BUTT:
|
||||||
if( ( item == NULL ) || ( item->GetFlags() == 0 ) )
|
if( ( item == NULL ) || ( item->GetFlags() == 0 ) )
|
||||||
{
|
{
|
||||||
GetScreen()->SetCurItem( CreateNewText( aDC, LAYER_LOCLABEL ) );
|
GetScreen()->SetCurItem( CreateNewText( aDC, LAYER_LOCLABEL ) );
|
||||||
m_canvas->m_AutoPAN_Request = true;
|
m_canvas->SetAutoPanRequest( true );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
item->Place( this, aDC );
|
addCurrentItemToList( aDC );
|
||||||
m_canvas->m_AutoPAN_Request = false;
|
|
||||||
GetScreen()->TestDanglingEnds();
|
|
||||||
m_canvas->Refresh( true );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ID_GLABEL_BUTT:
|
case ID_GLABEL_BUTT:
|
||||||
|
@ -247,30 +231,31 @@ void SCH_EDIT_FRAME::OnLeftClick( wxDC* aDC, const wxPoint& aPosition )
|
||||||
if( GetToolId() == ID_HIERLABEL_BUTT )
|
if( GetToolId() == ID_HIERLABEL_BUTT )
|
||||||
GetScreen()->SetCurItem( CreateNewText( aDC, LAYER_HIERLABEL ) );
|
GetScreen()->SetCurItem( CreateNewText( aDC, LAYER_HIERLABEL ) );
|
||||||
|
|
||||||
m_canvas->m_AutoPAN_Request = true;
|
m_canvas->SetAutoPanRequest( true );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
item->Place( this, aDC );
|
addCurrentItemToList( aDC );
|
||||||
m_canvas->m_AutoPAN_Request = false;
|
|
||||||
GetScreen()->TestDanglingEnds();
|
|
||||||
m_canvas->Refresh( true );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ID_SHEET_SYMBOL_BUTT:
|
case ID_SHEET_SYMBOL_BUTT:
|
||||||
if( ( item == NULL ) || ( item->GetFlags() == 0 ) )
|
if( ( item == NULL ) || ( item->GetFlags() == 0 ) )
|
||||||
{
|
{
|
||||||
GetScreen()->SetCurItem( CreateSheet( aDC ) );
|
item = CreateSheet( aDC );
|
||||||
m_canvas->m_AutoPAN_Request = true;
|
|
||||||
|
if( item != NULL )
|
||||||
|
{
|
||||||
|
GetScreen()->SetCurItem( item );
|
||||||
|
m_canvas->SetAutoPanRequest( true );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
item->Place( this, aDC );
|
addCurrentItemToList( aDC );
|
||||||
m_canvas->m_AutoPAN_Request = false;
|
|
||||||
GetScreen()->TestDanglingEnds();
|
|
||||||
m_canvas->Refresh( true );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ID_IMPORT_HLABEL_BUTT:
|
case ID_IMPORT_HLABEL_BUTT:
|
||||||
|
@ -290,25 +275,22 @@ void SCH_EDIT_FRAME::OnLeftClick( wxDC* aDC, const wxPoint& aPosition )
|
||||||
}
|
}
|
||||||
else if( (item->Type() == SCH_SHEET_PIN_T) && (item->GetFlags() != 0) )
|
else if( (item->Type() == SCH_SHEET_PIN_T) && (item->GetFlags() != 0) )
|
||||||
{
|
{
|
||||||
item->Place( this, aDC );
|
addCurrentItemToList( aDC );
|
||||||
GetScreen()->TestDanglingEnds();
|
|
||||||
m_canvas->Refresh( true );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ID_SCH_PLACE_COMPONENT:
|
case ID_SCH_PLACE_COMPONENT:
|
||||||
if( (item == NULL) || (item->GetFlags() == 0) )
|
if( (item == NULL) || (item->GetFlags() == 0) )
|
||||||
{
|
{
|
||||||
GetScreen()->SetCurItem( Load_Component( aDC, wxEmptyString, s_CmpNameList, true ) );
|
GetScreen()->SetCurItem( Load_Component( aDC, wxEmptyString, s_CmpNameList, true ) );
|
||||||
m_canvas->m_AutoPAN_Request = true;
|
m_canvas->SetAutoPanRequest( true );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
item->Place( this, aDC );
|
addCurrentItemToList( aDC );
|
||||||
m_canvas->m_AutoPAN_Request = false;
|
|
||||||
GetScreen()->TestDanglingEnds();
|
|
||||||
m_canvas->Refresh( true );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ID_PLACE_POWER_BUTT:
|
case ID_PLACE_POWER_BUTT:
|
||||||
|
@ -316,15 +298,13 @@ void SCH_EDIT_FRAME::OnLeftClick( wxDC* aDC, const wxPoint& aPosition )
|
||||||
{
|
{
|
||||||
GetScreen()->SetCurItem( Load_Component( aDC, wxT( "power" ),
|
GetScreen()->SetCurItem( Load_Component( aDC, wxT( "power" ),
|
||||||
s_PowerNameList, false ) );
|
s_PowerNameList, false ) );
|
||||||
m_canvas->m_AutoPAN_Request = true;
|
m_canvas->SetAutoPanRequest( true );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
item->Place( this, aDC );
|
addCurrentItemToList( aDC );
|
||||||
m_canvas->m_AutoPAN_Request = false;
|
|
||||||
GetScreen()->TestDanglingEnds();
|
|
||||||
m_canvas->Refresh( true );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
|
|
@ -76,7 +76,7 @@ bool SCH_EDIT_FRAME::OnRightClick( const wxPoint& aPosition, wxMenu* PopMenu )
|
||||||
bool BlockActive = GetScreen()->IsBlockActive();
|
bool BlockActive = GetScreen()->IsBlockActive();
|
||||||
|
|
||||||
// Do not start a block command on context menu.
|
// Do not start a block command on context menu.
|
||||||
m_canvas->m_CanStartBlock = -1;
|
m_canvas->SetCanStartBlock( -1 );
|
||||||
|
|
||||||
if( BlockActive )
|
if( BlockActive )
|
||||||
{
|
{
|
||||||
|
@ -91,15 +91,15 @@ bool SCH_EDIT_FRAME::OnRightClick( const wxPoint& aPosition, wxMenu* PopMenu )
|
||||||
item = LocateAndShowItem( aPosition, SCH_COLLECTOR::AllItemsButPins );
|
item = LocateAndShowItem( aPosition, SCH_COLLECTOR::AllItemsButPins );
|
||||||
|
|
||||||
// If the clarify item selection context menu is aborted, don't show the context menu.
|
// If the clarify item selection context menu is aborted, don't show the context menu.
|
||||||
if( item == NULL && m_canvas->m_AbortRequest )
|
if( item == NULL && m_canvas->GetAbortRequest() )
|
||||||
{
|
{
|
||||||
m_canvas->m_AbortRequest = false;
|
m_canvas->SetAbortRequest( false );
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// If Command in progress: add "cancel" and "end tool" menu
|
// If Command in progress: add "cancel" and "end tool" menu
|
||||||
if( GetToolId() != ID_NO_TOOL_SELECTED )
|
if( GetToolId() != ID_NO_TOOL_SELECTED )
|
||||||
{
|
{
|
||||||
if( item && item->GetFlags() )
|
if( item && item->GetFlags() )
|
||||||
{
|
{
|
||||||
|
|
|
@ -220,12 +220,12 @@ void LIB_EDIT_FRAME::PlacePin( wxDC* DC )
|
||||||
|
|
||||||
if( ask_for_pin && SynchronizePins() )
|
if( ask_for_pin && SynchronizePins() )
|
||||||
{
|
{
|
||||||
m_canvas->m_IgnoreMouseEvents = true;
|
m_canvas->SetIgnoreMouseEvents( true );
|
||||||
status =
|
status =
|
||||||
IsOK( this, _( "This position is already occupied by \
|
IsOK( this, _( "This position is already occupied by \
|
||||||
another pin. Continue?" ) );
|
another pin. Continue?" ) );
|
||||||
m_canvas->MoveCursorToCrossHair();
|
m_canvas->MoveCursorToCrossHair();
|
||||||
m_canvas->m_IgnoreMouseEvents = false;
|
m_canvas->SetIgnoreMouseEvents( false );
|
||||||
|
|
||||||
if( !status )
|
if( !status )
|
||||||
return;
|
return;
|
||||||
|
@ -398,12 +398,12 @@ void LIB_EDIT_FRAME::CreatePin( wxDC* DC )
|
||||||
pin->SetUnit( LastPinCommonUnit ? 0 : m_unit );
|
pin->SetUnit( LastPinCommonUnit ? 0 : m_unit );
|
||||||
pin->SetVisible( LastPinVisible );
|
pin->SetVisible( LastPinVisible );
|
||||||
PinPreviousPos = pin->GetPosition();
|
PinPreviousPos = pin->GetPosition();
|
||||||
m_canvas->m_IgnoreMouseEvents = true;
|
m_canvas->SetIgnoreMouseEvents( true );
|
||||||
wxCommandEvent cmd( wxEVT_COMMAND_MENU_SELECTED );
|
wxCommandEvent cmd( wxEVT_COMMAND_MENU_SELECTED );
|
||||||
cmd.SetId( ID_LIBEDIT_EDIT_PIN );
|
cmd.SetId( ID_LIBEDIT_EDIT_PIN );
|
||||||
GetEventHandler()->ProcessEvent( cmd );
|
GetEventHandler()->ProcessEvent( cmd );
|
||||||
m_canvas->MoveCursorToCrossHair();
|
m_canvas->MoveCursorToCrossHair();
|
||||||
m_canvas->m_IgnoreMouseEvents = false;
|
m_canvas->SetIgnoreMouseEvents( false );
|
||||||
|
|
||||||
if( pin->GetFlags() & IS_CANCELLED )
|
if( pin->GetFlags() & IS_CANCELLED )
|
||||||
{
|
{
|
||||||
|
|
|
@ -190,7 +190,7 @@ void SCH_BITMAP::Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aOffset
|
||||||
wxSize size = m_Image->GetSize();
|
wxSize size = m_Image->GetSize();
|
||||||
pos.x -= size.x / 2;
|
pos.x -= size.x / 2;
|
||||||
pos.y -= size.y / 2;
|
pos.y -= size.y / 2;
|
||||||
GRRect( &aPanel->m_ClipBox, aDC, pos.x, pos.y,
|
GRRect( aPanel->GetClipBox(), aDC, pos.x, pos.y,
|
||||||
pos.x + size.x, pos.y + size.y, 0, aColor );
|
pos.x + size.x, pos.y + size.y, 0, aColor );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -199,7 +199,7 @@ void SCH_BUS_ENTRY::Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aOff
|
||||||
|
|
||||||
GRSetDrawMode( aDC, aDrawMode );
|
GRSetDrawMode( aDC, aDrawMode );
|
||||||
|
|
||||||
GRLine( &aPanel->m_ClipBox, aDC, m_pos.x + aOffset.x, m_pos.y + aOffset.y,
|
GRLine( aPanel->GetClipBox(), aDC, m_pos.x + aOffset.x, m_pos.y + aOffset.y,
|
||||||
m_End().x + aOffset.x, m_End().y + aOffset.y, GetPenSize(), color );
|
m_End().x + aOffset.x, m_End().y + aOffset.y, GetPenSize(), color );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -334,18 +334,18 @@ void SCH_COMPONENT::Draw( EDA_DRAW_PANEL* panel, wxDC* DC, const wxPoint& offset
|
||||||
{
|
{
|
||||||
EDA_RECT BoundaryBox;
|
EDA_RECT BoundaryBox;
|
||||||
BoundaryBox = GetBoundingBox();
|
BoundaryBox = GetBoundingBox();
|
||||||
GRRect( &panel->m_ClipBox, DC, BoundaryBox, 0, BROWN );
|
GRRect( panel->GetClipBox(), DC, BoundaryBox, 0, BROWN );
|
||||||
#if 1
|
#if 1
|
||||||
if( GetField( REFERENCE )->IsVisible() )
|
if( GetField( REFERENCE )->IsVisible() )
|
||||||
{
|
{
|
||||||
BoundaryBox = GetField( REFERENCE )->GetBoundingBox();
|
BoundaryBox = GetField( REFERENCE )->GetBoundingBox();
|
||||||
GRRect( &panel->m_ClipBox, DC, BoundaryBox, 0, BROWN );
|
GRRect( panel->GetClipBox(), DC, BoundaryBox, 0, BROWN );
|
||||||
}
|
}
|
||||||
|
|
||||||
if( GetField( VALUE )->IsVisible() )
|
if( GetField( VALUE )->IsVisible() )
|
||||||
{
|
{
|
||||||
BoundaryBox = GetField( VALUE )->GetBoundingBox();
|
BoundaryBox = GetField( VALUE )->GetBoundingBox();
|
||||||
GRRect( &panel->m_ClipBox, DC, BoundaryBox, 0, BROWN );
|
GRRect( panel->GetClipBox(), DC, BoundaryBox, 0, BROWN );
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
@ -1252,8 +1252,8 @@ bool SCH_COMPONENT::Load( LINE_READER& aLine, wxString& aErrorMsg )
|
||||||
int fieldNdx;
|
int fieldNdx;
|
||||||
|
|
||||||
wxString fieldText;
|
wxString fieldText;
|
||||||
GRTextHorizJustifyType hjustify = GR_TEXT_HJUSTIFY_CENTER;
|
EDA_TEXT_HJUSTIFY_T hjustify = GR_TEXT_HJUSTIFY_CENTER;
|
||||||
GRTextVertJustifyType vjustify = GR_TEXT_VJUSTIFY_CENTER;
|
EDA_TEXT_VJUSTIFY_T vjustify = GR_TEXT_VJUSTIFY_CENTER;
|
||||||
|
|
||||||
ptcar = (char*) aLine;
|
ptcar = (char*) aLine;
|
||||||
|
|
||||||
|
|
|
@ -201,7 +201,7 @@ void SCH_FIELD::Draw( EDA_DRAW_PANEL* panel, wxDC* DC,
|
||||||
#if 0
|
#if 0
|
||||||
|
|
||||||
// Draw boundary box:
|
// Draw boundary box:
|
||||||
GRRect( &panel->m_ClipBox, DC, boundaryBox, 0, BROWN );
|
GRRect( panel->GetClipBox(), DC, boundaryBox, 0, BROWN );
|
||||||
|
|
||||||
// Draw the text anchor point
|
// Draw the text anchor point
|
||||||
|
|
||||||
|
@ -211,9 +211,9 @@ void SCH_FIELD::Draw( EDA_DRAW_PANEL* panel, wxDC* DC,
|
||||||
textpos = parentComponent->GetScreenCoord( textpos );
|
textpos = parentComponent->GetScreenCoord( textpos );
|
||||||
textpos += parentComponent->GetPosition();
|
textpos += parentComponent->GetPosition();
|
||||||
const int len = 10;
|
const int len = 10;
|
||||||
GRLine( &panel->m_ClipBox, DC,
|
GRLine( panel->GetClipBox(), DC,
|
||||||
textpos.x - len, textpos.y, textpos.x + len, textpos.y, 0, BLUE );
|
textpos.x - len, textpos.y, textpos.x + len, textpos.y, 0, BLUE );
|
||||||
GRLine( &panel->m_ClipBox, DC,
|
GRLine( panel->GetClipBox(), DC,
|
||||||
textpos.x, textpos.y - len, textpos.x, textpos.y + len, 0, BLUE );
|
textpos.x, textpos.y - len, textpos.x, textpos.y + len, 0, BLUE );
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
@ -546,8 +546,8 @@ void SCH_FIELD::doPlot( PLOTTER* aPlotter )
|
||||||
* and use GetBoundaryBox to know the text coordinate considered as centered
|
* and use GetBoundaryBox to know the text coordinate considered as centered
|
||||||
*/
|
*/
|
||||||
EDA_RECT BoundaryBox = GetBoundingBox();
|
EDA_RECT BoundaryBox = GetBoundingBox();
|
||||||
GRTextHorizJustifyType hjustify = GR_TEXT_HJUSTIFY_CENTER;
|
EDA_TEXT_HJUSTIFY_T hjustify = GR_TEXT_HJUSTIFY_CENTER;
|
||||||
GRTextVertJustifyType vjustify = GR_TEXT_VJUSTIFY_CENTER;
|
EDA_TEXT_VJUSTIFY_T vjustify = GR_TEXT_VJUSTIFY_CENTER;
|
||||||
wxPoint textpos = BoundaryBox.Centre();
|
wxPoint textpos = BoundaryBox.Centre();
|
||||||
|
|
||||||
int thickness = GetPenSize();
|
int thickness = GetPenSize();
|
||||||
|
|
|
@ -134,7 +134,7 @@ void SCH_JUNCTION::Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aOffs
|
||||||
|
|
||||||
GRSetDrawMode( aDC, aDrawMode );
|
GRSetDrawMode( aDC, aDrawMode );
|
||||||
|
|
||||||
GRFilledCircle( &aPanel->m_ClipBox, aDC, m_pos.x + aOffset.x, m_pos.y + aOffset.y,
|
GRFilledCircle( aPanel->GetClipBox(), aDC, m_pos.x + aOffset.x, m_pos.y + aOffset.y,
|
||||||
( m_size.x / 2 ), 0, color, color );
|
( m_size.x / 2 ), 0, color, color );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -240,13 +240,14 @@ void SCH_LINE::Draw( EDA_DRAW_PANEL* panel, wxDC* DC, const wxPoint& offset,
|
||||||
|
|
||||||
if( ( m_Flags & STARTPOINT ) == 0 )
|
if( ( m_Flags & STARTPOINT ) == 0 )
|
||||||
start += offset;
|
start += offset;
|
||||||
|
|
||||||
if( ( m_Flags & ENDPOINT ) == 0 )
|
if( ( m_Flags & ENDPOINT ) == 0 )
|
||||||
end += offset;
|
end += offset;
|
||||||
|
|
||||||
if( m_Layer == LAYER_NOTES )
|
if( m_Layer == LAYER_NOTES )
|
||||||
GRDashedLine( &panel->m_ClipBox, DC, start.x, start.y, end.x, end.y, width, color );
|
GRDashedLine( panel->GetClipBox(), DC, start.x, start.y, end.x, end.y, width, color );
|
||||||
else
|
else
|
||||||
GRLine( &panel->m_ClipBox, DC, start, end, width, color );
|
GRLine( panel->GetClipBox(), DC, start, end, width, color );
|
||||||
|
|
||||||
if( m_startIsDangling )
|
if( m_startIsDangling )
|
||||||
DrawDanglingSymbol( panel, DC, start, color );
|
DrawDanglingSymbol( panel, DC, start, color );
|
||||||
|
|
|
@ -148,8 +148,10 @@ void SCH_NO_CONNECT::Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aOf
|
||||||
|
|
||||||
GRSetDrawMode( aDC, aDrawMode );
|
GRSetDrawMode( aDC, aDrawMode );
|
||||||
|
|
||||||
GRLine( &aPanel->m_ClipBox, aDC, pX - delta, pY - delta, pX + delta, pY + delta, width, color );
|
GRLine( aPanel->GetClipBox(), aDC, pX - delta, pY - delta, pX + delta, pY + delta,
|
||||||
GRLine( &aPanel->m_ClipBox, aDC, pX + delta, pY - delta, pX - delta, pY + delta, width, color );
|
width, color );
|
||||||
|
GRLine( aPanel->GetClipBox(), aDC, pX + delta, pY - delta, pX - delta, pY + delta,
|
||||||
|
width, color );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -187,13 +187,13 @@ void SCH_POLYLINE::Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC, const wxPoint& aOffs
|
||||||
if( m_Layer == LAYER_NOTES )
|
if( m_Layer == LAYER_NOTES )
|
||||||
{
|
{
|
||||||
for( unsigned i = 1; i < GetCornerCount(); i++ )
|
for( unsigned i = 1; i < GetCornerCount(); i++ )
|
||||||
GRDashedLineTo( &aPanel->m_ClipBox, aDC, m_points[i].x + aOffset.x,
|
GRDashedLineTo( aPanel->GetClipBox(), aDC, m_points[i].x + aOffset.x,
|
||||||
m_points[i].y + aOffset.y, width, color );
|
m_points[i].y + aOffset.y, width, color );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
for( unsigned i = 1; i < GetCornerCount(); i++ )
|
for( unsigned i = 1; i < GetCornerCount(); i++ )
|
||||||
GRLineTo( &aPanel->m_ClipBox, aDC, m_points[i].x + aOffset.x,
|
GRLineTo( aPanel->GetClipBox(), aDC, m_points[i].x + aOffset.x,
|
||||||
m_points[i].y + aOffset.y, width, color );
|
m_points[i].y + aOffset.y, width, color );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -612,7 +612,7 @@ void SCH_SCREEN::Draw( EDA_DRAW_PANEL* aCanvas, wxDC* aDC, int aDrawMode, int aC
|
||||||
|
|
||||||
// uncomment line below when there is a virtual
|
// uncomment line below when there is a virtual
|
||||||
// EDA_ITEM::GetBoundingBox()
|
// EDA_ITEM::GetBoundingBox()
|
||||||
// if( panel->m_ClipBox.Intersects( Structs->GetBoundingBox()
|
// if( panel->GetClipBox().Intersects( Structs->GetBoundingBox()
|
||||||
// ) )
|
// ) )
|
||||||
item->Draw( aCanvas, aDC, wxPoint( 0, 0 ), aDrawMode, aColor );
|
item->Draw( aCanvas, aDC, wxPoint( 0, 0 ), aDrawMode, aColor );
|
||||||
}
|
}
|
||||||
|
@ -974,8 +974,8 @@ bool SCH_SCREEN::BreakSegment( const wxPoint& aPoint )
|
||||||
|
|
||||||
// Break the segment at aPoint and create a new segment.
|
// Break the segment at aPoint and create a new segment.
|
||||||
newSegment = new SCH_LINE( *segment );
|
newSegment = new SCH_LINE( *segment );
|
||||||
newSegment->GetStartPoint() = aPoint;
|
newSegment->SetStartPoint( aPoint );
|
||||||
segment->GetEndPoint() = newSegment->GetStartPoint();
|
segment->SetEndPoint( aPoint );
|
||||||
newSegment->SetNext( segment->Next() );
|
newSegment->SetNext( segment->Next() );
|
||||||
segment->SetNext( newSegment );
|
segment->SetNext( newSegment );
|
||||||
item = newSegment;
|
item = newSegment;
|
||||||
|
|
|
@ -477,30 +477,6 @@ int SCH_SHEET::GetMinHeight() const
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void SCH_SHEET::Place( SCH_EDIT_FRAME* frame, wxDC* DC )
|
|
||||||
{
|
|
||||||
/* Place list structures for new sheet. */
|
|
||||||
if( IsNew() )
|
|
||||||
{
|
|
||||||
// fix size and position of the new sheet
|
|
||||||
// using the last values set by the m_mouseCaptureCallback function
|
|
||||||
frame->GetCanvas()->SetMouseCapture( NULL, NULL );
|
|
||||||
|
|
||||||
if( !frame->EditSheet( this, DC ) )
|
|
||||||
{
|
|
||||||
frame->GetScreen()->SetCurItem( NULL );
|
|
||||||
Draw( frame->GetCanvas(), DC, wxPoint( 0, 0 ), g_XorMode );
|
|
||||||
delete this;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
frame->SetSheetNumberAndCount();
|
|
||||||
}
|
|
||||||
|
|
||||||
SCH_ITEM::Place( frame, DC ); //puts it on the GetDrawItems().
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete sheet labels which do not have corresponding hierarchical label.
|
* Delete sheet labels which do not have corresponding hierarchical label.
|
||||||
*/
|
*/
|
||||||
|
@ -608,7 +584,7 @@ void SCH_SHEET::Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC,
|
||||||
|
|
||||||
GRSetDrawMode( aDC, aDrawMode );
|
GRSetDrawMode( aDC, aDrawMode );
|
||||||
|
|
||||||
GRRect( &aPanel->m_ClipBox, aDC, pos.x, pos.y,
|
GRRect( aPanel->GetClipBox(), aDC, pos.x, pos.y,
|
||||||
pos.x + m_size.x, pos.y + m_size.y, lineWidth, color );
|
pos.x + m_size.x, pos.y + m_size.y, lineWidth, color );
|
||||||
|
|
||||||
pos_sheetname = GetSheetNamePosition() + aOffset;
|
pos_sheetname = GetSheetNamePosition() + aOffset;
|
||||||
|
|
|
@ -148,8 +148,6 @@ public:
|
||||||
*/
|
*/
|
||||||
SCH_SHEET* GetParent() const { return (SCH_SHEET*) m_Parent; }
|
SCH_SHEET* GetParent() const { return (SCH_SHEET*) m_Parent; }
|
||||||
|
|
||||||
void Place( SCH_EDIT_FRAME* frame, wxDC* DC );
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function Save
|
* Function Save
|
||||||
* writes the data structures for this object out to a FILE in "*.sch"
|
* writes the data structures for this object out to a FILE in "*.sch"
|
||||||
|
@ -342,8 +340,6 @@ public:
|
||||||
*/
|
*/
|
||||||
virtual bool Load( LINE_READER& aLine, wxString& aErrorMsg );
|
virtual bool Load( LINE_READER& aLine, wxString& aErrorMsg );
|
||||||
|
|
||||||
void Place( SCH_EDIT_FRAME* frame, wxDC* DC );
|
|
||||||
|
|
||||||
void DisplayInfo( EDA_DRAW_FRAME* frame );
|
void DisplayInfo( EDA_DRAW_FRAME* frame );
|
||||||
|
|
||||||
/* there is no member for orientation in sch_sheet, to preserve file
|
/* there is no member for orientation in sch_sheet, to preserve file
|
||||||
|
|
|
@ -126,32 +126,6 @@ void SCH_SHEET_PIN::SetNumber( int aNumber )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void SCH_SHEET_PIN::Place( SCH_EDIT_FRAME* aFrame, wxDC* aDC )
|
|
||||||
{
|
|
||||||
SCH_SHEET* sheet = (SCH_SHEET*) GetParent();
|
|
||||||
|
|
||||||
wxCHECK_RET( (sheet != NULL) && (sheet->Type() == SCH_SHEET_T),
|
|
||||||
wxT( "Cannot place sheet pin in invalid schematic sheet object." ) );
|
|
||||||
|
|
||||||
if( IsNew() )
|
|
||||||
{
|
|
||||||
aFrame->SaveCopyInUndoList( sheet, UR_CHANGED );
|
|
||||||
sheet->AddPin( this );
|
|
||||||
}
|
|
||||||
else // Sheet pin already existed and was only moved.
|
|
||||||
{
|
|
||||||
aFrame->SaveUndoItemInUndoList( sheet );
|
|
||||||
}
|
|
||||||
|
|
||||||
ClearFlags();
|
|
||||||
sheet->Draw( aFrame->GetCanvas(), aDC, wxPoint( 0, 0 ), GR_DEFAULT_DRAWMODE );
|
|
||||||
|
|
||||||
// Make sure we don't call the abort move function.
|
|
||||||
aFrame->GetCanvas()->SetMouseCapture( NULL, NULL );
|
|
||||||
aFrame->GetCanvas()->EndMouseCapture();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void SCH_SHEET_PIN::SetEdge( int aEdge )
|
void SCH_SHEET_PIN::SetEdge( int aEdge )
|
||||||
{
|
{
|
||||||
SCH_SHEET* Sheet = (SCH_SHEET*) GetParent();
|
SCH_SHEET* Sheet = (SCH_SHEET*) GetParent();
|
||||||
|
|
|
@ -397,7 +397,7 @@ void SCH_TEXT::Draw( EDA_DRAW_PANEL* panel, wxDC* DC, const wxPoint& aOffset,
|
||||||
#if 0
|
#if 0
|
||||||
{
|
{
|
||||||
EDA_RECT BoundaryBox = GetBoundingBox();
|
EDA_RECT BoundaryBox = GetBoundingBox();
|
||||||
GRRect( &panel->m_ClipBox, DC, BoundaryBox, 0, BROWN );
|
GRRect( panel->GetClipBox(), DC, BoundaryBox, 0, BROWN );
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
@ -1225,7 +1225,7 @@ void SCH_GLOBALLABEL::Draw( EDA_DRAW_PANEL* panel,
|
||||||
EXCHG( linewidth, m_Thickness ); // set initial value
|
EXCHG( linewidth, m_Thickness ); // set initial value
|
||||||
|
|
||||||
CreateGraphicShape( Poly, m_Pos + aOffset );
|
CreateGraphicShape( Poly, m_Pos + aOffset );
|
||||||
GRPoly( &panel->m_ClipBox, DC, Poly.size(), &Poly[0], 0, linewidth, color, color );
|
GRPoly( panel->GetClipBox(), DC, Poly.size(), &Poly[0], 0, linewidth, color, color );
|
||||||
|
|
||||||
if( m_isDangling )
|
if( m_isDangling )
|
||||||
DrawDanglingSymbol( panel, DC, m_Pos + aOffset, color );
|
DrawDanglingSymbol( panel, DC, m_Pos + aOffset, color );
|
||||||
|
@ -1234,7 +1234,7 @@ void SCH_GLOBALLABEL::Draw( EDA_DRAW_PANEL* panel,
|
||||||
#if 0
|
#if 0
|
||||||
{
|
{
|
||||||
EDA_RECT BoundaryBox = GetBoundingBox();
|
EDA_RECT BoundaryBox = GetBoundingBox();
|
||||||
GRRect( &panel->m_ClipBox, DC, BoundaryBox, 0, BROWN );
|
GRRect( panel->GetClipBox(), DC, BoundaryBox, 0, BROWN );
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
@ -1562,7 +1562,7 @@ void SCH_HIERLABEL::Draw( EDA_DRAW_PANEL* panel,
|
||||||
EXCHG( linewidth, m_Thickness ); // set initial value
|
EXCHG( linewidth, m_Thickness ); // set initial value
|
||||||
|
|
||||||
CreateGraphicShape( Poly, m_Pos + offset );
|
CreateGraphicShape( Poly, m_Pos + offset );
|
||||||
GRPoly( &panel->m_ClipBox, DC, Poly.size(), &Poly[0], 0, linewidth, color, color );
|
GRPoly( panel->GetClipBox(), DC, Poly.size(), &Poly[0], 0, linewidth, color, color );
|
||||||
|
|
||||||
if( m_isDangling )
|
if( m_isDangling )
|
||||||
DrawDanglingSymbol( panel, DC, m_Pos + offset, color );
|
DrawDanglingSymbol( panel, DC, m_Pos + offset, color );
|
||||||
|
@ -1571,7 +1571,7 @@ void SCH_HIERLABEL::Draw( EDA_DRAW_PANEL* panel,
|
||||||
#if 0
|
#if 0
|
||||||
{
|
{
|
||||||
EDA_RECT BoundaryBox = GetBoundingBox();
|
EDA_RECT BoundaryBox = GetBoundingBox();
|
||||||
GRRect( &panel->m_ClipBox, DC, BoundaryBox, 0, BROWN );
|
GRRect( panel->GetClipBox(), DC, BoundaryBox, 0, BROWN );
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/*
|
/*
|
||||||
* 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, jaen-pierre.charras@gipsa-lab.inpg.com
|
||||||
|
@ -204,7 +204,7 @@ void SCH_EDIT_FRAME::Process_Special_Functions( wxCommandEvent& event )
|
||||||
|
|
||||||
case ID_POPUP_SCH_END_SHEET:
|
case ID_POPUP_SCH_END_SHEET:
|
||||||
m_canvas->MoveCursorToCrossHair();
|
m_canvas->MoveCursorToCrossHair();
|
||||||
item->Place( this, &dc );
|
addCurrentItemToList( &dc );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ID_POPUP_SCH_RESIZE_SHEET:
|
case ID_POPUP_SCH_RESIZE_SHEET:
|
||||||
|
@ -291,7 +291,7 @@ void SCH_EDIT_FRAME::Process_Special_Functions( wxCommandEvent& event )
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ID_POPUP_PLACE_BLOCK:
|
case ID_POPUP_PLACE_BLOCK:
|
||||||
m_canvas->m_AutoPAN_Request = false;
|
m_canvas->SetAutoPanRequest( false );
|
||||||
m_canvas->MoveCursorToCrossHair();
|
m_canvas->MoveCursorToCrossHair();
|
||||||
HandleBlockPlace( &dc );
|
HandleBlockPlace( &dc );
|
||||||
break;
|
break;
|
||||||
|
@ -330,11 +330,7 @@ void SCH_EDIT_FRAME::Process_Special_Functions( wxCommandEvent& event )
|
||||||
item = screen->GetCurItem();
|
item = screen->GetCurItem();
|
||||||
|
|
||||||
if( item )
|
if( item )
|
||||||
{
|
addCurrentItemToList( &dc );
|
||||||
item->Place( this, &dc );
|
|
||||||
screen->TestDanglingEnds( m_canvas, &dc );
|
|
||||||
screen->SetCurItem( NULL );
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
|
@ -225,7 +225,7 @@ SCH_EDIT_FRAME::SCH_EDIT_FRAME( wxWindow* father,
|
||||||
SetSize( m_FramePos.x, m_FramePos.y, m_FrameSize.x, m_FrameSize.y );
|
SetSize( m_FramePos.x, m_FramePos.y, m_FrameSize.x, m_FrameSize.y );
|
||||||
|
|
||||||
if( m_canvas )
|
if( m_canvas )
|
||||||
m_canvas->m_Block_Enable = true;
|
m_canvas->SetEnableBlockCommands( true );
|
||||||
|
|
||||||
ReCreateMenuBar();
|
ReCreateMenuBar();
|
||||||
ReCreateHToolbar();
|
ReCreateHToolbar();
|
||||||
|
@ -686,7 +686,7 @@ void SCH_EDIT_FRAME::OnFindItems( wxCommandEvent& aEvent )
|
||||||
wxCHECK_RET( m_findReplaceData != NULL,
|
wxCHECK_RET( m_findReplaceData != NULL,
|
||||||
wxT( "Forgot to create find/replace data. Bad Programmer!" ) );
|
wxT( "Forgot to create find/replace data. Bad Programmer!" ) );
|
||||||
|
|
||||||
this->GetCanvas()->m_IgnoreMouseEvents = true;
|
this->GetCanvas()->SetIgnoreMouseEvents( true );
|
||||||
|
|
||||||
if( m_dlgFindReplace )
|
if( m_dlgFindReplace )
|
||||||
{
|
{
|
||||||
|
@ -737,7 +737,7 @@ void SCH_EDIT_FRAME::OnFindDialogClose( wxFindDialogEvent& event )
|
||||||
m_dlgFindReplace = NULL;
|
m_dlgFindReplace = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_canvas->m_IgnoreMouseEvents = false;
|
m_canvas->SetIgnoreMouseEvents( false );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -923,7 +923,7 @@ void SCH_EDIT_FRAME::OnSelectItem( wxCommandEvent& aEvent )
|
||||||
&& (index >= 0 && index < m_collectedItems.GetCount()) )
|
&& (index >= 0 && index < m_collectedItems.GetCount()) )
|
||||||
{
|
{
|
||||||
SCH_ITEM* item = m_collectedItems[index];
|
SCH_ITEM* item = m_collectedItems[index];
|
||||||
m_canvas->m_AbortRequest = false;
|
m_canvas->SetAbortRequest( false );
|
||||||
GetScreen()->SetCurItem( item );
|
GetScreen()->SetCurItem( item );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -935,3 +935,80 @@ bool SCH_EDIT_FRAME::isAutoSaveRequired() const
|
||||||
|
|
||||||
return SheetList.IsAutoSaveRequired();
|
return SheetList.IsAutoSaveRequired();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void SCH_EDIT_FRAME::addCurrentItemToList( wxDC* aDC )
|
||||||
|
{
|
||||||
|
SCH_SCREEN* screen = GetScreen();
|
||||||
|
SCH_ITEM* item = screen->GetCurItem();
|
||||||
|
|
||||||
|
wxCHECK_RET( item != NULL, wxT( "Cannot add current item to list." ) );
|
||||||
|
|
||||||
|
m_canvas->SetAutoPanRequest( false );
|
||||||
|
|
||||||
|
SCH_ITEM* undoItem = item;
|
||||||
|
|
||||||
|
if( item->Type() == SCH_SHEET_PIN_T )
|
||||||
|
{
|
||||||
|
SCH_SHEET* sheet = (SCH_SHEET*) item->GetParent();
|
||||||
|
|
||||||
|
wxCHECK_RET( (sheet != NULL) && (sheet->Type() == SCH_SHEET_T),
|
||||||
|
wxT( "Cannot place sheet pin in invalid schematic sheet object." ) );
|
||||||
|
|
||||||
|
undoItem = sheet;
|
||||||
|
}
|
||||||
|
|
||||||
|
if( item->IsNew() )
|
||||||
|
{
|
||||||
|
if( item->Type() == SCH_SHEET_T )
|
||||||
|
{
|
||||||
|
// Fix the size and position of the new sheet using the last values set by
|
||||||
|
// the m_mouseCaptureCallback function.
|
||||||
|
m_canvas->SetMouseCapture( NULL, NULL );
|
||||||
|
|
||||||
|
if( !EditSheet( (SCH_SHEET*)item, aDC ) )
|
||||||
|
{
|
||||||
|
screen->SetCurItem( NULL );
|
||||||
|
item->Draw( m_canvas, aDC, wxPoint( 0, 0 ), g_XorMode );
|
||||||
|
delete item;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
SetSheetNumberAndCount();
|
||||||
|
}
|
||||||
|
|
||||||
|
if( undoItem == item )
|
||||||
|
{
|
||||||
|
if( !screen->CheckIfOnDrawList( item ) ) // don't want a loop!
|
||||||
|
screen->AddToDrawList( item );
|
||||||
|
|
||||||
|
SetRepeatItem( item );
|
||||||
|
|
||||||
|
SaveCopyInUndoList( undoItem, UR_NEW );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SaveCopyInUndoList( undoItem, UR_CHANGED );
|
||||||
|
( (SCH_SHEET*)undoItem )->AddPin( (SCH_SHEET_PIN*) item );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SaveUndoItemInUndoList( undoItem );
|
||||||
|
}
|
||||||
|
|
||||||
|
item->ClearFlags();
|
||||||
|
screen->SetModify();
|
||||||
|
screen->SetCurItem( NULL );
|
||||||
|
m_canvas->SetMouseCapture( NULL, NULL );
|
||||||
|
m_canvas->EndMouseCapture();
|
||||||
|
|
||||||
|
if( item->IsConnectable() )
|
||||||
|
screen->TestDanglingEnds();
|
||||||
|
|
||||||
|
if( aDC )
|
||||||
|
{
|
||||||
|
EDA_CROSS_HAIR_MANAGER( m_canvas, aDC ); // Erase schematic cursor
|
||||||
|
undoItem->Draw( m_canvas, aDC, wxPoint( 0, 0 ), GR_DEFAULT_DRAWMODE );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -164,7 +164,7 @@ bool SCH_EDIT_FRAME::EditSheet( SCH_SHEET* aSheet, wxDC* aDC )
|
||||||
}
|
}
|
||||||
|
|
||||||
aSheet->Draw( m_canvas, aDC, wxPoint( 0, 0 ), g_XorMode );
|
aSheet->Draw( m_canvas, aDC, wxPoint( 0, 0 ), g_XorMode );
|
||||||
m_canvas->m_IgnoreMouseEvents = true;
|
m_canvas->SetIgnoreMouseEvents( true );
|
||||||
|
|
||||||
if( isUndoable )
|
if( isUndoable )
|
||||||
SaveCopyInUndoList( aSheet, UR_CHANGED );
|
SaveCopyInUndoList( aSheet, UR_CHANGED );
|
||||||
|
@ -204,7 +204,7 @@ bool SCH_EDIT_FRAME::EditSheet( SCH_SHEET* aSheet, wxDC* aDC )
|
||||||
aSheet->SetName( wxString::Format( wxT( "Sheet%8.8lX" ), aSheet->GetTimeStamp() ) );
|
aSheet->SetName( wxString::Format( wxT( "Sheet%8.8lX" ), aSheet->GetTimeStamp() ) );
|
||||||
|
|
||||||
m_canvas->MoveCursorToCrossHair();
|
m_canvas->MoveCursorToCrossHair();
|
||||||
m_canvas->m_IgnoreMouseEvents = false;
|
m_canvas->SetIgnoreMouseEvents( false );
|
||||||
aSheet->Draw( m_canvas, aDC, wxPoint( 0, 0 ), GR_DEFAULT_DRAWMODE );
|
aSheet->Draw( m_canvas, aDC, wxPoint( 0, 0 ), GR_DEFAULT_DRAWMODE );
|
||||||
OnModify();
|
OnModify();
|
||||||
|
|
||||||
|
@ -321,7 +321,7 @@ SCH_SHEET* SCH_EDIT_FRAME::CreateSheet( wxDC* aDC )
|
||||||
// a sheet to a screen that already has multiple instances (!)
|
// a sheet to a screen that already has multiple instances (!)
|
||||||
GetScreen()->SetCurItem( sheet );
|
GetScreen()->SetCurItem( sheet );
|
||||||
m_canvas->SetMouseCapture( MoveOrResizeSheet, ExitSheet );
|
m_canvas->SetMouseCapture( MoveOrResizeSheet, ExitSheet );
|
||||||
m_canvas->m_mouseCaptureCallback( m_canvas, aDC, wxDefaultPosition, false );
|
m_canvas->CallMouseCapture( aDC, wxDefaultPosition, false );
|
||||||
m_canvas->CrossHairOff( aDC );
|
m_canvas->CrossHairOff( aDC );
|
||||||
GetScreen()->SetCrossHairPosition( sheet->GetResizePosition() );
|
GetScreen()->SetCrossHairPosition( sheet->GetResizePosition() );
|
||||||
m_canvas->MoveCursorToCrossHair();
|
m_canvas->MoveCursorToCrossHair();
|
||||||
|
@ -349,7 +349,7 @@ void SCH_EDIT_FRAME::ReSizeSheet( SCH_SHEET* aSheet, wxDC* aDC )
|
||||||
aSheet->SetFlags( IS_RESIZED );
|
aSheet->SetFlags( IS_RESIZED );
|
||||||
|
|
||||||
m_canvas->SetMouseCapture( MoveOrResizeSheet, ExitSheet );
|
m_canvas->SetMouseCapture( MoveOrResizeSheet, ExitSheet );
|
||||||
m_canvas->m_mouseCaptureCallback( m_canvas, aDC, wxDefaultPosition, true );
|
m_canvas->CallMouseCapture( aDC, wxDefaultPosition, true );
|
||||||
|
|
||||||
if( aSheet->IsNew() ) // not already in edit, save a copy for undo/redo
|
if( aSheet->IsNew() ) // not already in edit, save a copy for undo/redo
|
||||||
SetUndoItem( aSheet );
|
SetUndoItem( aSheet );
|
||||||
|
@ -370,6 +370,6 @@ void SCH_EDIT_FRAME::StartMoveSheet( SCH_SHEET* aSheet, wxDC* aDC )
|
||||||
|
|
||||||
aSheet->SetFlags( IS_MOVED );
|
aSheet->SetFlags( IS_MOVED );
|
||||||
m_canvas->SetMouseCapture( MoveOrResizeSheet, ExitSheet );
|
m_canvas->SetMouseCapture( MoveOrResizeSheet, ExitSheet );
|
||||||
m_canvas->m_mouseCaptureCallback( m_canvas, aDC, wxDefaultPosition, true );
|
m_canvas->CallMouseCapture( aDC, wxDefaultPosition, true );
|
||||||
m_canvas->CrossHairOn( aDC );
|
m_canvas->CrossHairOn( aDC );
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +1,28 @@
|
||||||
|
/*
|
||||||
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2006 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
||||||
|
* Copyright (C) 2009-2011 Wayne Stambaugh <stambaughw@verizon.net>
|
||||||
|
* Copyright (C) 2004-2011 KiCad Developers, see change_log.txt for contributors.
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
* of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, you may find one here:
|
||||||
|
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||||
|
* or you may search the http://www.gnu.org website for the version 2 license,
|
||||||
|
* or you may write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @file symbdraw.cpp
|
* @file symbdraw.cpp
|
||||||
* @brief Create, move .. graphic shapes used to build and draw a component (lines, arcs ..)
|
* @brief Create, move .. graphic shapes used to build and draw a component (lines, arcs ..)
|
||||||
|
@ -155,9 +180,9 @@ LIB_ITEM* LIB_EDIT_FRAME::CreateGraphicItem( LIB_COMPONENT* LibEntry, wxDC* DC )
|
||||||
Text->m_Orient = m_textOrientation;
|
Text->m_Orient = m_textOrientation;
|
||||||
|
|
||||||
// Enter the graphic text info
|
// Enter the graphic text info
|
||||||
m_canvas->m_IgnoreMouseEvents = true;
|
m_canvas->SetIgnoreMouseEvents( true );
|
||||||
EditSymbolText( NULL, Text );
|
EditSymbolText( NULL, Text );
|
||||||
m_canvas->m_IgnoreMouseEvents = false;
|
m_canvas->SetIgnoreMouseEvents( false );
|
||||||
m_canvas->MoveCursorToCrossHair();
|
m_canvas->MoveCursorToCrossHair();
|
||||||
|
|
||||||
if( Text->m_Text.IsEmpty() )
|
if( Text->m_Text.IsEmpty() )
|
||||||
|
@ -188,7 +213,7 @@ LIB_ITEM* LIB_EDIT_FRAME::CreateGraphicItem( LIB_COMPONENT* LibEntry, wxDC* DC )
|
||||||
m_drawItem->SetConvert( m_convert );
|
m_drawItem->SetConvert( m_convert );
|
||||||
|
|
||||||
// Draw initial symbol:
|
// Draw initial symbol:
|
||||||
m_canvas->m_mouseCaptureCallback( m_canvas, DC, wxDefaultPosition, false );
|
m_canvas->CallMouseCapture( DC, wxDefaultPosition, false );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -197,7 +222,7 @@ LIB_ITEM* LIB_EDIT_FRAME::CreateGraphicItem( LIB_COMPONENT* LibEntry, wxDC* DC )
|
||||||
}
|
}
|
||||||
|
|
||||||
m_canvas->MoveCursorToCrossHair();
|
m_canvas->MoveCursorToCrossHair();
|
||||||
m_canvas->m_IgnoreMouseEvents = FALSE;
|
m_canvas->SetIgnoreMouseEvents( false );
|
||||||
|
|
||||||
return m_drawItem;
|
return m_drawItem;
|
||||||
}
|
}
|
||||||
|
@ -263,7 +288,7 @@ void LIB_EDIT_FRAME::StartMoveDrawSymbol( wxDC* DC )
|
||||||
TempCopyComponent();
|
TempCopyComponent();
|
||||||
m_drawItem->BeginEdit( IS_MOVED, GetScreen()->GetCrossHairPosition( true ) );
|
m_drawItem->BeginEdit( IS_MOVED, GetScreen()->GetCrossHairPosition( true ) );
|
||||||
m_canvas->SetMouseCapture( RedrawWhileMovingCursor, AbortSymbolTraceOn );
|
m_canvas->SetMouseCapture( RedrawWhileMovingCursor, AbortSymbolTraceOn );
|
||||||
m_canvas->m_mouseCaptureCallback( m_canvas, DC, wxDefaultPosition, true );
|
m_canvas->CallMouseCapture( DC, wxDefaultPosition, true );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -276,7 +301,7 @@ void LIB_EDIT_FRAME::StartModifyDrawSymbol( wxDC* DC )
|
||||||
TempCopyComponent();
|
TempCopyComponent();
|
||||||
m_drawItem->BeginEdit( IS_RESIZED, GetScreen()->GetCrossHairPosition( true ) );
|
m_drawItem->BeginEdit( IS_RESIZED, GetScreen()->GetCrossHairPosition( true ) );
|
||||||
m_canvas->SetMouseCapture( SymbolDisplayDraw, AbortSymbolTraceOn );
|
m_canvas->SetMouseCapture( SymbolDisplayDraw, AbortSymbolTraceOn );
|
||||||
m_canvas->m_mouseCaptureCallback( m_canvas, DC, wxDefaultPosition, true );
|
m_canvas->CallMouseCapture( DC, wxDefaultPosition, true );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -57,7 +57,7 @@ void LIB_EDIT_FRAME::LoadOneSymbol()
|
||||||
if( m_component == NULL || ( m_drawItem && m_drawItem->GetFlags() ) )
|
if( m_component == NULL || ( m_drawItem && m_drawItem->GetFlags() ) )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
m_canvas->m_IgnoreMouseEvents = true;
|
m_canvas->SetIgnoreMouseEvents( true );
|
||||||
|
|
||||||
wxString default_path = wxGetApp().ReturnLastVisitedLibraryPath();
|
wxString default_path = wxGetApp().ReturnLastVisitedLibraryPath();
|
||||||
|
|
||||||
|
@ -70,7 +70,7 @@ void LIB_EDIT_FRAME::LoadOneSymbol()
|
||||||
|
|
||||||
GetScreen()->SetCrossHairPosition( wxPoint( 0, 0 ) );
|
GetScreen()->SetCrossHairPosition( wxPoint( 0, 0 ) );
|
||||||
m_canvas->MoveCursorToCrossHair();
|
m_canvas->MoveCursorToCrossHair();
|
||||||
m_canvas->m_IgnoreMouseEvents = FALSE;
|
m_canvas->SetIgnoreMouseEvents( false );
|
||||||
|
|
||||||
wxFileName fn = dlg.GetPath();
|
wxFileName fn = dlg.GetPath();
|
||||||
wxGetApp().SaveLastVisitedLibraryPath( fn.GetPath() );
|
wxGetApp().SaveLastVisitedLibraryPath( fn.GetPath() );
|
||||||
|
|
|
@ -85,7 +85,7 @@ void GERBVIEW_FRAME::HandleBlockPlace( wxDC* DC )
|
||||||
{
|
{
|
||||||
case BLOCK_MOVE: /* Move */
|
case BLOCK_MOVE: /* Move */
|
||||||
if( m_canvas->IsMouseCaptured() )
|
if( m_canvas->IsMouseCaptured() )
|
||||||
m_canvas->m_mouseCaptureCallback( m_canvas, DC, wxDefaultPosition, false );
|
m_canvas->CallMouseCapture( DC, wxDefaultPosition, false );
|
||||||
|
|
||||||
Block_Move( DC );
|
Block_Move( DC );
|
||||||
GetScreen()->m_BlockLocate.ClearItemsList();
|
GetScreen()->m_BlockLocate.ClearItemsList();
|
||||||
|
@ -93,7 +93,7 @@ void GERBVIEW_FRAME::HandleBlockPlace( wxDC* DC )
|
||||||
|
|
||||||
case BLOCK_COPY: /* Copy */
|
case BLOCK_COPY: /* Copy */
|
||||||
if( m_canvas->IsMouseCaptured() )
|
if( m_canvas->IsMouseCaptured() )
|
||||||
m_canvas->m_mouseCaptureCallback( m_canvas, DC, wxDefaultPosition, false );
|
m_canvas->CallMouseCapture( DC, wxDefaultPosition, false );
|
||||||
|
|
||||||
Block_Duplicate( DC );
|
Block_Duplicate( DC );
|
||||||
GetScreen()->m_BlockLocate.ClearItemsList();
|
GetScreen()->m_BlockLocate.ClearItemsList();
|
||||||
|
@ -139,14 +139,14 @@ bool GERBVIEW_FRAME::HandleBlockEnd( wxDC* DC )
|
||||||
case BLOCK_COPY: /* Copy */
|
case BLOCK_COPY: /* Copy */
|
||||||
GetScreen()->m_BlockLocate.m_State = STATE_BLOCK_MOVE;
|
GetScreen()->m_BlockLocate.m_State = STATE_BLOCK_MOVE;
|
||||||
nextcmd = true;
|
nextcmd = true;
|
||||||
m_canvas->m_mouseCaptureCallback( m_canvas, DC, wxDefaultPosition, false );
|
m_canvas->CallMouseCapture( DC, wxDefaultPosition, false );
|
||||||
m_canvas->m_mouseCaptureCallback = DrawMovingBlockOutlines;
|
m_canvas->SetMouseCaptureCallback( DrawMovingBlockOutlines );
|
||||||
m_canvas->m_mouseCaptureCallback( m_canvas, DC, wxDefaultPosition, false );
|
m_canvas->CallMouseCapture( DC, wxDefaultPosition, false );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case BLOCK_DELETE: /* Delete */
|
case BLOCK_DELETE: /* Delete */
|
||||||
GetScreen()->m_BlockLocate.m_State = STATE_BLOCK_STOP;
|
GetScreen()->m_BlockLocate.m_State = STATE_BLOCK_STOP;
|
||||||
m_canvas->m_mouseCaptureCallback( m_canvas, DC, wxDefaultPosition, false );
|
m_canvas->CallMouseCapture( DC, wxDefaultPosition, false );
|
||||||
Block_Delete( DC );
|
Block_Delete( DC );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -257,7 +257,7 @@ void GERBVIEW_FRAME::Block_Move( wxDC* DC )
|
||||||
wxPoint oldpos;
|
wxPoint oldpos;
|
||||||
|
|
||||||
oldpos = GetScreen()->GetCrossHairPosition();
|
oldpos = GetScreen()->GetCrossHairPosition();
|
||||||
m_canvas->m_mouseCaptureCallback = NULL;
|
m_canvas->SetMouseCaptureCallback( NULL );
|
||||||
|
|
||||||
GetScreen()->SetCrossHairPosition( oldpos );
|
GetScreen()->SetCrossHairPosition( oldpos );
|
||||||
m_canvas->MoveCursorToCrossHair();
|
m_canvas->MoveCursorToCrossHair();
|
||||||
|
@ -286,7 +286,7 @@ void GERBVIEW_FRAME::Block_Duplicate( wxDC* DC )
|
||||||
wxPoint oldpos;
|
wxPoint oldpos;
|
||||||
|
|
||||||
oldpos = GetScreen()->GetCrossHairPosition();
|
oldpos = GetScreen()->GetCrossHairPosition();
|
||||||
m_canvas->m_mouseCaptureCallback = NULL;
|
m_canvas->SetMouseCaptureCallback( NULL );
|
||||||
|
|
||||||
GetScreen()->SetCrossHairPosition( oldpos );
|
GetScreen()->SetCrossHairPosition( oldpos );
|
||||||
m_canvas->MoveCursorToCrossHair();
|
m_canvas->MoveCursorToCrossHair();
|
||||||
|
|
|
@ -364,7 +364,7 @@ void GERBER_DRAW_ITEM::Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC, int aDrawMode,
|
||||||
if( !isDark )
|
if( !isDark )
|
||||||
isFilled = true;
|
isFilled = true;
|
||||||
|
|
||||||
DrawGbrPoly( &aPanel->m_ClipBox, aDC, color, aOffset, isFilled );
|
DrawGbrPoly( aPanel->GetClipBox(), aDC, color, aOffset, isFilled );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case GBR_CIRCLE:
|
case GBR_CIRCLE:
|
||||||
|
@ -376,14 +376,14 @@ void GERBER_DRAW_ITEM::Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC, int aDrawMode,
|
||||||
if( !isFilled )
|
if( !isFilled )
|
||||||
{
|
{
|
||||||
// draw the border of the pen's path using two circles, each as narrow as possible
|
// draw the border of the pen's path using two circles, each as narrow as possible
|
||||||
GRCircle( &aPanel->m_ClipBox, aDC, GetABPosition( m_Start ),
|
GRCircle( aPanel->GetClipBox(), aDC, GetABPosition( m_Start ),
|
||||||
radius - halfPenWidth, 0, color );
|
radius - halfPenWidth, 0, color );
|
||||||
GRCircle( &aPanel->m_ClipBox, aDC, GetABPosition( m_Start ),
|
GRCircle( aPanel->GetClipBox(), aDC, GetABPosition( m_Start ),
|
||||||
radius + halfPenWidth, 0, color );
|
radius + halfPenWidth, 0, color );
|
||||||
}
|
}
|
||||||
else // Filled mode
|
else // Filled mode
|
||||||
{
|
{
|
||||||
GRCircle( &aPanel->m_ClipBox, aDC, GetABPosition( m_Start ),
|
GRCircle( aPanel->GetClipBox(), aDC, GetABPosition( m_Start ),
|
||||||
radius, m_Size.x, color );
|
radius, m_Size.x, color );
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -393,21 +393,21 @@ void GERBER_DRAW_ITEM::Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC, int aDrawMode,
|
||||||
// a round pen only is expected.
|
// a round pen only is expected.
|
||||||
|
|
||||||
#if 0 // for arc debug only
|
#if 0 // for arc debug only
|
||||||
GRLine( &aPanel->m_ClipBox, aDC, GetABPosition( m_Start ),
|
GRLine( aPanel->GetClipBox(), aDC, GetABPosition( m_Start ),
|
||||||
GetABPosition( m_ArcCentre ), 0, color );
|
GetABPosition( m_ArcCentre ), 0, color );
|
||||||
GRLine( &aPanel->m_ClipBox, aDC, GetABPosition( m_End ),
|
GRLine( aPanel->GetClipBox(), aDC, GetABPosition( m_End ),
|
||||||
GetABPosition( m_ArcCentre ), 0, color );
|
GetABPosition( m_ArcCentre ), 0, color );
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if( !isFilled )
|
if( !isFilled )
|
||||||
{
|
{
|
||||||
GRArc1( &aPanel->m_ClipBox, aDC, GetABPosition( m_Start ),
|
GRArc1( aPanel->GetClipBox(), aDC, GetABPosition( m_Start ),
|
||||||
GetABPosition( m_End ), GetABPosition( m_ArcCentre ),
|
GetABPosition( m_End ), GetABPosition( m_ArcCentre ),
|
||||||
0, color );
|
0, color );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
GRArc1( &aPanel->m_ClipBox, aDC, GetABPosition( m_Start ),
|
GRArc1( aPanel->GetClipBox(), aDC, GetABPosition( m_Start ),
|
||||||
GetABPosition( m_End ), GetABPosition( m_ArcCentre ),
|
GetABPosition( m_End ), GetABPosition( m_ArcCentre ),
|
||||||
m_Size.x, color );
|
m_Size.x, color );
|
||||||
}
|
}
|
||||||
|
@ -420,7 +420,7 @@ void GERBER_DRAW_ITEM::Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC, int aDrawMode,
|
||||||
case GBR_SPOT_POLY:
|
case GBR_SPOT_POLY:
|
||||||
case GBR_SPOT_MACRO:
|
case GBR_SPOT_MACRO:
|
||||||
isFilled = DisplayOpt.DisplayPadFill ? true : false;
|
isFilled = DisplayOpt.DisplayPadFill ? true : false;
|
||||||
d_codeDescr->DrawFlashedShape( this, &aPanel->m_ClipBox, aDC, color, alt_color,
|
d_codeDescr->DrawFlashedShape( this, aPanel->GetClipBox(), aDC, color, alt_color,
|
||||||
m_Start, isFilled );
|
m_Start, isFilled );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -435,18 +435,18 @@ void GERBER_DRAW_ITEM::Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC, int aDrawMode,
|
||||||
if( m_PolyCorners.size() == 0 )
|
if( m_PolyCorners.size() == 0 )
|
||||||
ConvertSegmentToPolygon( );
|
ConvertSegmentToPolygon( );
|
||||||
|
|
||||||
DrawGbrPoly( &aPanel->m_ClipBox, aDC, color, aOffset, isFilled );
|
DrawGbrPoly( aPanel->GetClipBox(), aDC, color, aOffset, isFilled );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if( !isFilled )
|
if( !isFilled )
|
||||||
{
|
{
|
||||||
GRCSegm( &aPanel->m_ClipBox, aDC, GetABPosition( m_Start ),
|
GRCSegm( aPanel->GetClipBox(), aDC, GetABPosition( m_Start ),
|
||||||
GetABPosition( m_End ), m_Size.x, color );
|
GetABPosition( m_End ), m_Size.x, color );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
GRFilledSegment( &aPanel->m_ClipBox, aDC, GetABPosition( m_Start ),
|
GRFilledSegment( aPanel->GetClipBox(), aDC, GetABPosition( m_Start ),
|
||||||
GetABPosition( m_End ), m_Size.x, color );
|
GetABPosition( m_End ), m_Size.x, color );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,30 @@
|
||||||
/****************/
|
/*
|
||||||
/* controle.cpp */
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
/****************/
|
*
|
||||||
|
* Copyright (C) 1992-2010 <Jean-Pierre Charras>
|
||||||
|
* Copyright (C) 1992-2010 KiCad Developers, see change_log.txt for contributors.
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
* of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, you may find one here:
|
||||||
|
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
||||||
|
* or you may search the http://www.gnu.org website for the version 2 license,
|
||||||
|
* or you may write to the Free Software Foundation, Inc.,
|
||||||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @file gerbview/controle.cpp
|
||||||
|
*/
|
||||||
|
|
||||||
#include "fctsys.h"
|
#include "fctsys.h"
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
|
@ -61,7 +85,7 @@ void GERBVIEW_FRAME::GeneralControl( wxDC* aDC, const wxPoint& aPosition, int aH
|
||||||
|
|
||||||
if( m_canvas->IsMouseCaptured() )
|
if( m_canvas->IsMouseCaptured() )
|
||||||
{
|
{
|
||||||
m_canvas->m_mouseCaptureCallback( m_canvas, aDC, aPosition, true );
|
m_canvas->CallMouseCapture( aDC, aPosition, true );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -56,11 +56,11 @@ void GERBVIEW_FRAME::PrintPage( wxDC* aDC, int aPrintMasklayer,
|
||||||
DisplayOpt.DisplayZonesMode = 0;
|
DisplayOpt.DisplayZonesMode = 0;
|
||||||
g_DisplayPolygonsModeSketch = 0;
|
g_DisplayPolygonsModeSketch = 0;
|
||||||
|
|
||||||
m_canvas->m_PrintIsMirrored = aPrintMirrorMode;
|
m_canvas->SetPrintMirrored( aPrintMirrorMode );
|
||||||
|
|
||||||
GetBoard()->Draw( m_canvas, aDC, -1, wxPoint( 0, 0 ) );
|
GetBoard()->Draw( m_canvas, aDC, -1, wxPoint( 0, 0 ) );
|
||||||
|
|
||||||
m_canvas->m_PrintIsMirrored = false;
|
m_canvas->SetPrintMirrored( false );
|
||||||
|
|
||||||
// Restore draw options:
|
// Restore draw options:
|
||||||
GetBoard()->SetVisibleLayers( visiblemask );
|
GetBoard()->SetVisibleLayers( visiblemask );
|
||||||
|
@ -109,7 +109,7 @@ void GERBVIEW_FRAME::RedrawActiveWindow( wxDC* DC, bool EraseBg )
|
||||||
TraceWorkSheet( DC, screen, 0 );
|
TraceWorkSheet( DC, screen, 0 );
|
||||||
|
|
||||||
if( m_canvas->IsMouseCaptured() )
|
if( m_canvas->IsMouseCaptured() )
|
||||||
m_canvas->m_mouseCaptureCallback( m_canvas, DC, wxDefaultPosition, false );
|
m_canvas->CallMouseCapture( DC, wxDefaultPosition, false );
|
||||||
|
|
||||||
m_canvas->DrawCrossHair( DC );
|
m_canvas->DrawCrossHair( DC );
|
||||||
|
|
||||||
|
@ -158,7 +158,7 @@ void BOARD::Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC, int aDrawMode, const wxPoin
|
||||||
|
|
||||||
// these parameters are saved here, because they are modified
|
// these parameters are saved here, because they are modified
|
||||||
// and restored later
|
// and restored later
|
||||||
EDA_RECT drawBox = aPanel->m_ClipBox;
|
EDA_RECT drawBox = *aPanel->GetClipBox();
|
||||||
double scale;
|
double scale;
|
||||||
aDC->GetUserScale(&scale, &scale);
|
aDC->GetUserScale(&scale, &scale);
|
||||||
wxPoint dev_org = aDC->GetDeviceOrigin();
|
wxPoint dev_org = aDC->GetDeviceOrigin();
|
||||||
|
@ -171,7 +171,7 @@ void BOARD::Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC, int aDrawMode, const wxPoin
|
||||||
screenBitmap = new wxBitmap( bitmapWidth, bitmapHeight );
|
screenBitmap = new wxBitmap( bitmapWidth, bitmapHeight );
|
||||||
layerDC.SelectObject( *layerBitmap );
|
layerDC.SelectObject( *layerBitmap );
|
||||||
aPanel->DoPrepareDC( layerDC );
|
aPanel->DoPrepareDC( layerDC );
|
||||||
aPanel->m_ClipBox = drawBox;
|
aPanel->SetClipBox( drawBox );
|
||||||
layerDC.SetBackground( bgBrush );
|
layerDC.SetBackground( bgBrush );
|
||||||
layerDC.SetBackgroundMode( wxSOLID );
|
layerDC.SetBackgroundMode( wxSOLID );
|
||||||
layerDC.Clear();
|
layerDC.Clear();
|
||||||
|
|
|
@ -183,7 +183,7 @@ void GERBVIEW_FRAME::Process_Special_Functions( wxCommandEvent& event )
|
||||||
|
|
||||||
case ID_POPUP_PLACE_BLOCK:
|
case ID_POPUP_PLACE_BLOCK:
|
||||||
GetScreen()->m_BlockLocate.m_Command = BLOCK_MOVE;
|
GetScreen()->m_BlockLocate.m_Command = BLOCK_MOVE;
|
||||||
m_canvas->m_AutoPAN_Request = FALSE;
|
m_canvas->SetAutoPanRequest( false );
|
||||||
HandleBlockPlace( &dc );
|
HandleBlockPlace( &dc );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
|
@ -77,7 +77,7 @@ GERBVIEW_FRAME::GERBVIEW_FRAME( wxWindow* father,
|
||||||
m_drillFileHistory.SetBaseId( ID_GERBVIEW_DRILL_FILE1 );
|
m_drillFileHistory.SetBaseId( ID_GERBVIEW_DRILL_FILE1 );
|
||||||
|
|
||||||
if( m_canvas )
|
if( m_canvas )
|
||||||
m_canvas->m_Block_Enable = true;
|
m_canvas->SetEnableBlockCommands( true );
|
||||||
|
|
||||||
// Give an icon
|
// Give an icon
|
||||||
wxIcon icon;
|
wxIcon icon;
|
||||||
|
|
|
@ -459,12 +459,12 @@ public: GERBVIEW_FRAME( wxWindow* father, const wxString& title,
|
||||||
void Genere_GERBER( const wxString& FullFileName, int Layers );
|
void Genere_GERBER( const wxString& FullFileName, int Layers );
|
||||||
void Genere_PS( const wxString& FullFileName, int Layers );
|
void Genere_PS( const wxString& FullFileName, int Layers );
|
||||||
void Plot_Layer_HPGL( FILE* File, int masque_layer,int garde, bool trace_via,
|
void Plot_Layer_HPGL( FILE* File, int masque_layer,int garde, bool trace_via,
|
||||||
GRTraceMode trace_mode );
|
EDA_DRAW_MODE_T trace_mode );
|
||||||
void Plot_Layer_GERBER( FILE* File, int masque_layer, int garde, bool trace_via,
|
void Plot_Layer_GERBER( FILE* File, int masque_layer, int garde, bool trace_via,
|
||||||
GRTraceMode trace_mode );
|
EDA_DRAW_MODE_T trace_mode );
|
||||||
int Gen_D_CODE_File( const wxString& Name_File );
|
int Gen_D_CODE_File( const wxString& Name_File );
|
||||||
void Plot_Layer_PS( FILE* File, int masque_layer, int garde, bool trace_via,
|
void Plot_Layer_PS( FILE* File, int masque_layer, int garde, bool trace_via,
|
||||||
GRTraceMode trace_mode );
|
EDA_DRAW_MODE_T trace_mode );
|
||||||
|
|
||||||
void Files_io( wxCommandEvent& event );
|
void Files_io( wxCommandEvent& event );
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,7 @@ bool GERBVIEW_FRAME::OnRightClick( const wxPoint& aPosition, wxMenu* PopMenu )
|
||||||
bool BlockActive = (GetScreen()->m_BlockLocate.m_Command != BLOCK_IDLE);
|
bool BlockActive = (GetScreen()->m_BlockLocate.m_Command != BLOCK_IDLE);
|
||||||
|
|
||||||
// Do not initiate a start block validation on menu.
|
// Do not initiate a start block validation on menu.
|
||||||
m_canvas->m_CanStartBlock = -1;
|
m_canvas->SetCanStartBlock( -1 );
|
||||||
|
|
||||||
// Simple location of elements where possible.
|
// Simple location of elements where possible.
|
||||||
if( ( DrawStruct == NULL ) || ( DrawStruct->GetFlags() == 0 ) )
|
if( ( DrawStruct == NULL ) || ( DrawStruct->GetFlags() == 0 ) )
|
||||||
|
|
|
@ -746,25 +746,24 @@ typedef std::vector< EDA_ITEM* > EDA_ITEMS;
|
||||||
|
|
||||||
// Graphic Text justify:
|
// Graphic Text justify:
|
||||||
// Values -1,0,1 are used in computations, do not change them
|
// Values -1,0,1 are used in computations, do not change them
|
||||||
enum GRTextHorizJustifyType {
|
enum EDA_TEXT_HJUSTIFY_T {
|
||||||
GR_TEXT_HJUSTIFY_LEFT = -1,
|
GR_TEXT_HJUSTIFY_LEFT = -1,
|
||||||
GR_TEXT_HJUSTIFY_CENTER = 0,
|
GR_TEXT_HJUSTIFY_CENTER = 0,
|
||||||
GR_TEXT_HJUSTIFY_RIGHT = 1
|
GR_TEXT_HJUSTIFY_RIGHT = 1
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
enum GRTextVertJustifyType {
|
enum EDA_TEXT_VJUSTIFY_T {
|
||||||
GR_TEXT_VJUSTIFY_TOP = -1,
|
GR_TEXT_VJUSTIFY_TOP = -1,
|
||||||
GR_TEXT_VJUSTIFY_CENTER = 0,
|
GR_TEXT_VJUSTIFY_CENTER = 0,
|
||||||
GR_TEXT_VJUSTIFY_BOTTOM = 1
|
GR_TEXT_VJUSTIFY_BOTTOM = 1
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Options to show solid segments (segments, texts...) */
|
/* Options to show solid segments (segments, texts...) */
|
||||||
enum GRTraceMode {
|
enum EDA_DRAW_MODE_T {
|
||||||
FILAIRE = 0, // segments are drawn as lines
|
LINE = 0, // segments are drawn as lines
|
||||||
FILLED, // normal mode: segments have thickness
|
FILLED, // normal mode: segments have thickness
|
||||||
SKETCH // sketch mode: segments have thickness, but are not
|
SKETCH // sketch mode: segments have thickness, but are not filled
|
||||||
// filled
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -803,8 +802,8 @@ public:
|
||||||
int m_Attributs; ///< bit flags such as visible, etc.
|
int m_Attributs; ///< bit flags such as visible, etc.
|
||||||
bool m_Italic; ///< should be italic font (if available)
|
bool m_Italic; ///< should be italic font (if available)
|
||||||
bool m_Bold; ///< should be bold font (if available)
|
bool m_Bold; ///< should be bold font (if available)
|
||||||
GRTextHorizJustifyType m_HJustify; ///< horizontal justification
|
EDA_TEXT_HJUSTIFY_T m_HJustify; ///< horizontal justification
|
||||||
GRTextVertJustifyType m_VJustify; ///< vertical justification
|
EDA_TEXT_VJUSTIFY_T m_VJustify; ///< vertical justification
|
||||||
|
|
||||||
bool m_MultilineAllowed; /**< true to use multiline option, false
|
bool m_MultilineAllowed; /**< true to use multiline option, false
|
||||||
* to use only single line text
|
* to use only single line text
|
||||||
|
@ -866,12 +865,12 @@ public:
|
||||||
* @param aOffset = draw offset (usually (0,0))
|
* @param aOffset = draw offset (usually (0,0))
|
||||||
* @param aColor = text color
|
* @param aColor = text color
|
||||||
* @param aDrawMode = GR_OR, GR_XOR.., -1 to use the current mode.
|
* @param aDrawMode = GR_OR, GR_XOR.., -1 to use the current mode.
|
||||||
* @param aDisplay_mode = FILAIRE, FILLED or SKETCH
|
* @param aDisplay_mode = LINE, FILLED or SKETCH
|
||||||
* @param aAnchor_color = anchor color ( UNSPECIFIED_COLOR = do not draw anchor ).
|
* @param aAnchor_color = anchor color ( UNSPECIFIED_COLOR = do not draw anchor ).
|
||||||
*/
|
*/
|
||||||
void Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC,
|
void Draw( EDA_DRAW_PANEL* aPanel, wxDC* aDC,
|
||||||
const wxPoint& aOffset, EDA_Colors aColor,
|
const wxPoint& aOffset, EDA_Colors aColor,
|
||||||
int aDrawMode, GRTraceMode aDisplay_mode = FILAIRE,
|
int aDrawMode, EDA_DRAW_MODE_T aDisplay_mode = LINE,
|
||||||
EDA_Colors aAnchor_color = UNSPECIFIED_COLOR );
|
EDA_Colors aAnchor_color = UNSPECIFIED_COLOR );
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@ -885,14 +884,14 @@ private:
|
||||||
* @param aOffset = draw offset (usually (0,0))
|
* @param aOffset = draw offset (usually (0,0))
|
||||||
* @param aColor = text color
|
* @param aColor = text color
|
||||||
* @param aDrawMode = GR_OR, GR_XOR.., -1 to use the current mode.
|
* @param aDrawMode = GR_OR, GR_XOR.., -1 to use the current mode.
|
||||||
* @param aFillMode = FILAIRE, FILLED or SKETCH
|
* @param aFillMode = LINE, FILLED or SKETCH
|
||||||
* @param aAnchor_color = anchor color ( UNSPECIFIED_COLOR = do not draw anchor ).
|
* @param aAnchor_color = anchor color ( UNSPECIFIED_COLOR = do not draw anchor ).
|
||||||
* @param aText = the single line of text to draw.
|
* @param aText = the single line of text to draw.
|
||||||
* @param aPos = the position of this line ).
|
* @param aPos = the position of this line ).
|
||||||
*/
|
*/
|
||||||
void DrawOneLineOfText( EDA_DRAW_PANEL* aPanel, wxDC* aDC,
|
void DrawOneLineOfText( EDA_DRAW_PANEL* aPanel, wxDC* aDC,
|
||||||
const wxPoint& aOffset, EDA_Colors aColor,
|
const wxPoint& aOffset, EDA_Colors aColor,
|
||||||
int aDrawMode, GRTraceMode aFillMode,
|
int aDrawMode, EDA_DRAW_MODE_T aFillMode,
|
||||||
EDA_Colors aAnchor_color, wxString& aText,
|
EDA_Colors aAnchor_color, wxString& aText,
|
||||||
wxPoint aPos );
|
wxPoint aPos );
|
||||||
|
|
||||||
|
@ -972,10 +971,10 @@ public:
|
||||||
*/
|
*/
|
||||||
virtual const wxString GetText() const { return m_Text; }
|
virtual const wxString GetText() const { return m_Text; }
|
||||||
|
|
||||||
GRTextHorizJustifyType GetHorizJustify() const { return m_HJustify; };
|
EDA_TEXT_HJUSTIFY_T GetHorizJustify() const { return m_HJustify; };
|
||||||
GRTextVertJustifyType GetVertJustify() const { return m_VJustify; };
|
EDA_TEXT_VJUSTIFY_T GetVertJustify() const { return m_VJustify; };
|
||||||
void SetHorizJustify( GRTextHorizJustifyType aType ) { m_HJustify = aType; };
|
void SetHorizJustify( EDA_TEXT_HJUSTIFY_T aType ) { m_HJustify = aType; };
|
||||||
void SetVertJustify( GRTextVertJustifyType aType ) { m_VJustify = aType; };
|
void SetVertJustify( EDA_TEXT_VJUSTIFY_T aType ) { m_VJustify = aType; };
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // BASE_STRUCT_H_
|
#endif // BASE_STRUCT_H_
|
||||||
|
|
|
@ -74,7 +74,6 @@ typedef std::vector< GRID_TYPE > GRIDS;
|
||||||
*/
|
*/
|
||||||
class BASE_SCREEN : public EDA_ITEM
|
class BASE_SCREEN : public EDA_ITEM
|
||||||
{
|
{
|
||||||
EDA_ITEMS m_items; ///< The drawing items associated with this screen.
|
|
||||||
GRIDS m_grids; ///< List of valid grid sizes.
|
GRIDS m_grids; ///< List of valid grid sizes.
|
||||||
wxString m_fileName; ///< File used to load the screen.
|
wxString m_fileName; ///< File used to load the screen.
|
||||||
char m_FlagRefreshReq; ///< Indicates that the screen should be redrawn.
|
char m_FlagRefreshReq; ///< Indicates that the screen should be redrawn.
|
||||||
|
@ -432,18 +431,6 @@ public:
|
||||||
return wxT( "BASE_SCREEN" );
|
return wxT( "BASE_SCREEN" );
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Helpers for accessing the draw item list.
|
|
||||||
*/
|
|
||||||
EDA_ITEMS::iterator Begin() { return m_items.begin(); }
|
|
||||||
EDA_ITEMS::iterator End() { return m_items.end(); }
|
|
||||||
virtual void AddItem( EDA_ITEM* aItem );
|
|
||||||
virtual void InsertItem( EDA_ITEMS::iterator aIter, EDA_ITEM* aItem );
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Function IsBlockActive
|
|
||||||
* returns true if a block command is in progress.
|
|
||||||
*/
|
|
||||||
inline bool IsBlockActive() const { return !m_BlockLocate.IsIdle(); }
|
inline bool IsBlockActive() const { return !m_BlockLocate.IsIdle(); }
|
||||||
|
|
||||||
void ClearBlockCommand() { m_BlockLocate.Clear(); }
|
void ClearBlockCommand() { m_BlockLocate.Clear(); }
|
||||||
|
@ -455,7 +442,7 @@ public:
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(DEBUG)
|
#if defined(DEBUG)
|
||||||
void Show( int nestLevel, std::ostream& os ) const { ShowDummy( os ); } // override
|
void Show( int nestLevel, std::ostream& os ) const; // overload
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -63,37 +63,34 @@ private:
|
||||||
int m_scrollIncrementY; ///< Y axis scroll increment in pixels per unit.
|
int m_scrollIncrementY; ///< Y axis scroll increment in pixels per unit.
|
||||||
wxPoint m_CursorStartPos; ///< Used for testing the cursor movement.
|
wxPoint m_CursorStartPos; ///< Used for testing the cursor movement.
|
||||||
|
|
||||||
public:
|
/// The drawing area used to redraw the screen which is usually the visible area
|
||||||
EDA_RECT m_ClipBox; // the clipbox used in screen redraw (usually gives the
|
/// of the drawing in internal units.
|
||||||
// visible area in internal units)
|
EDA_RECT m_ClipBox;
|
||||||
bool m_AbortRequest; // Flag to abort long commands
|
|
||||||
bool m_AbortEnable; // true if abort button or menu to be displayed
|
|
||||||
|
|
||||||
bool m_AutoPAN_Enable; // true to allow auto pan
|
bool m_abortRequest; ///< Flag used to abort long commands.
|
||||||
bool m_AutoPAN_Request; // true to request an auto pan (will be made only if
|
|
||||||
// m_AutoPAN_Enable = true)
|
bool m_enableAutoPan; ///< True to enable automatic panning.
|
||||||
int m_IgnoreMouseEvents; // when non-zero (true), then ignore mouse events
|
|
||||||
bool m_Block_Enable; // true to accept Block Commands
|
/// true to request an auto pan. Valid only when m_enableAutoPan = true.
|
||||||
|
bool m_requestAutoPan;
|
||||||
|
|
||||||
|
bool m_ignoreMouseEvents; ///< Ignore mouse events when true.
|
||||||
|
|
||||||
|
bool m_enableBlockCommands; ///< True enables block commands.
|
||||||
|
|
||||||
|
/// True when drawing in mirror mode. Used by the draw arc function, because arcs
|
||||||
|
/// are oriented, and in mirror mode, orientations are reversed.
|
||||||
|
bool m_PrintIsMirrored;
|
||||||
|
|
||||||
|
/// Mouse capture move callback function.
|
||||||
|
MOUSE_CAPTURE_CALLBACK m_mouseCaptureCallback;
|
||||||
|
|
||||||
|
/// Abort mouse capture callback function.
|
||||||
|
END_MOUSE_CAPTURE_CALLBACK m_endMouseCaptureCallback;
|
||||||
|
|
||||||
// useful to avoid false start block in certain cases
|
// useful to avoid false start block in certain cases
|
||||||
// (like switch from a sheet to an other sheet
|
// (like switch from a sheet to an other sheet
|
||||||
int m_CanStartBlock; // >= 0 (or >= n) if a block can start
|
int m_canStartBlock; // >= 0 (or >= n) if a block can start
|
||||||
bool m_PrintIsMirrored; // True when drawing in mirror mode. Used in draw arc function,
|
|
||||||
// because arcs are oriented, and in mirror mode, orientations
|
|
||||||
// are reversed
|
|
||||||
|
|
||||||
#ifdef USE_WX_OVERLAY
|
|
||||||
// MAC Uses overlay to workaround the wxINVERT and wxXOR miss
|
|
||||||
wxOverlay m_overlay;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Cursor management (used in editing functions) */
|
|
||||||
|
|
||||||
/* Mouse capture move callback function. */
|
|
||||||
MOUSE_CAPTURE_CALLBACK m_mouseCaptureCallback;
|
|
||||||
|
|
||||||
/* Abort mouse capture callback function. */
|
|
||||||
END_MOUSE_CAPTURE_CALLBACK m_endMouseCaptureCallback;
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
@ -106,6 +103,29 @@ public:
|
||||||
|
|
||||||
void OnPaint( wxPaintEvent& event );
|
void OnPaint( wxPaintEvent& event );
|
||||||
|
|
||||||
|
EDA_RECT* GetClipBox() { return &m_ClipBox; }
|
||||||
|
|
||||||
|
void SetClipBox( const EDA_RECT& aRect ) { m_ClipBox = aRect; }
|
||||||
|
|
||||||
|
bool GetAbortRequest() const { return m_abortRequest; }
|
||||||
|
|
||||||
|
void SetAbortRequest( bool aAbortRequest ) { m_abortRequest = aAbortRequest; }
|
||||||
|
|
||||||
|
bool GetEnableAutoPan() const { return m_enableAutoPan; }
|
||||||
|
|
||||||
|
void SetEnableAutoPan( bool aEnable ) { m_enableAutoPan = aEnable; }
|
||||||
|
|
||||||
|
void SetAutoPanRequest( bool aEnable ) { m_requestAutoPan = aEnable; }
|
||||||
|
|
||||||
|
void SetIgnoreMouseEvents( bool aIgnore ) { m_ignoreMouseEvents = aIgnore; }
|
||||||
|
|
||||||
|
void SetEnableBlockCommands( bool aEnable ) { m_enableBlockCommands = aEnable; }
|
||||||
|
|
||||||
|
bool GetPrintMirrored() const { return m_PrintIsMirrored; }
|
||||||
|
|
||||||
|
void SetPrintMirrored( bool aMirror ) { m_PrintIsMirrored = aMirror; }
|
||||||
|
|
||||||
|
void SetCanStartBlock( int aStartBlock ) { m_canStartBlock = aStartBlock; }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function DrawBackGround
|
* Function DrawBackGround
|
||||||
|
@ -151,7 +171,7 @@ public:
|
||||||
* Function OnActivate
|
* Function OnActivate
|
||||||
* handles window activation events.
|
* handles window activation events.
|
||||||
* <p>
|
* <p>
|
||||||
* The member m_CanStartBlock is initialize to avoid a block start command on activation
|
* The member m_canStartBlock is initialize to avoid a block start command on activation
|
||||||
* (because a left mouse button can be pressed and no block command wanted. This happens
|
* (because a left mouse button can be pressed and no block command wanted. This happens
|
||||||
* when enter on a hierarchy sheet on double click.
|
* when enter on a hierarchy sheet on double click.
|
||||||
*</p>
|
*</p>
|
||||||
|
@ -310,6 +330,13 @@ public:
|
||||||
m_endMouseCaptureCallback = aEndMouseCaptureCallback;
|
m_endMouseCaptureCallback = aEndMouseCaptureCallback;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void SetMouseCaptureCallback( MOUSE_CAPTURE_CALLBACK aMouseCaptureCallback )
|
||||||
|
{
|
||||||
|
m_mouseCaptureCallback = aMouseCaptureCallback;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function EndMouseCapture
|
* Function EndMouseCapture
|
||||||
* ends mouse a capture.
|
* ends mouse a capture.
|
||||||
|
@ -328,6 +355,26 @@ public:
|
||||||
|
|
||||||
inline bool IsMouseCaptured() const { return m_mouseCaptureCallback != NULL; }
|
inline bool IsMouseCaptured() const { return m_mouseCaptureCallback != NULL; }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Function CallMouseCapture
|
||||||
|
* calls the mouse capture callback.
|
||||||
|
*
|
||||||
|
* @param aDC A point to a wxDC object to perform any drawing upon.
|
||||||
|
* @param aPosition A referecnce to a wxPoint object containing the current cursor
|
||||||
|
* position.
|
||||||
|
* @param aErase True indicates the item being drawn should be erase before drawing
|
||||||
|
* it a \a aPosition.
|
||||||
|
*/
|
||||||
|
void CallMouseCapture( wxDC* aDC, const wxPoint& aPosition, bool aErase );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Function CallEndMouseCapture
|
||||||
|
* calls the end mouse capture callback.
|
||||||
|
*
|
||||||
|
* @param aDC A point to a wxDC object to perform any drawing upon.
|
||||||
|
*/
|
||||||
|
void CallEndMouseCapture( wxDC* aDC );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function SetCurrentCursor
|
* Function SetCurrentCursor
|
||||||
* Set the current cursor shape for drawpanel
|
* Set the current cursor shape for drawpanel
|
||||||
|
|
|
@ -468,13 +468,6 @@ public:
|
||||||
*/
|
*/
|
||||||
int UpdatePickList();
|
int UpdatePickList();
|
||||||
|
|
||||||
virtual void AddItem( SCH_ITEM* aItem ) { BASE_SCREEN::AddItem( (EDA_ITEM*) aItem ); }
|
|
||||||
|
|
||||||
virtual void InsertItem( EDA_ITEMS::iterator aIter, SCH_ITEM* aItem )
|
|
||||||
{
|
|
||||||
BASE_SCREEN::InsertItem( aIter, (EDA_ITEM*) aItem );
|
|
||||||
}
|
|
||||||
|
|
||||||
#if defined(DEBUG)
|
#if defined(DEBUG)
|
||||||
void Show( int nestLevel, std::ostream& os ) const; // overload
|
void Show( int nestLevel, std::ostream& os ) const; // overload
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -40,9 +40,6 @@
|
||||||
|
|
||||||
|
|
||||||
class wxAboutDialogInfo;
|
class wxAboutDialogInfo;
|
||||||
class BASE_SCREEN;
|
|
||||||
class EDA_DRAW_FRAME;
|
|
||||||
class EDA_DRAW_PANEL;
|
|
||||||
|
|
||||||
// Flag for special keys
|
// Flag for special keys
|
||||||
#define GR_KB_RIGHTSHIFT 0x10000000 /* Keybd states: right
|
#define GR_KB_RIGHTSHIFT 0x10000000 /* Keybd states: right
|
||||||
|
|
|
@ -11,6 +11,10 @@
|
||||||
#include "common.h" // EDA_UNITS_T
|
#include "common.h" // EDA_UNITS_T
|
||||||
|
|
||||||
|
|
||||||
|
class EDA_DRAW_FRAME;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* class EDA_LIST_DIALOG
|
* class EDA_LIST_DIALOG
|
||||||
*
|
*
|
||||||
|
|
|
@ -75,8 +75,8 @@ void DrawGraphicText( EDA_DRAW_PANEL * aPanel,
|
||||||
const wxString &aText,
|
const wxString &aText,
|
||||||
int aOrient,
|
int aOrient,
|
||||||
const wxSize &aSize,
|
const wxSize &aSize,
|
||||||
enum GRTextHorizJustifyType aH_justify,
|
enum EDA_TEXT_HJUSTIFY_T aH_justify,
|
||||||
enum GRTextVertJustifyType aV_justify,
|
enum EDA_TEXT_VJUSTIFY_T aV_justify,
|
||||||
int aWidth,
|
int aWidth,
|
||||||
bool aItalic,
|
bool aItalic,
|
||||||
bool aBold,
|
bool aBold,
|
||||||
|
|
|
@ -114,22 +114,22 @@ public:
|
||||||
virtual void PlotImage( wxImage & aImage, wxPoint aPos, double aScaleFactor ) = 0;
|
virtual void PlotImage( wxImage & aImage, wxPoint aPos, double aScaleFactor ) = 0;
|
||||||
|
|
||||||
virtual void thick_segment( wxPoint start, wxPoint end, int width,
|
virtual void thick_segment( wxPoint start, wxPoint end, int width,
|
||||||
GRTraceMode tracemode );
|
EDA_DRAW_MODE_T tracemode );
|
||||||
virtual void thick_arc( wxPoint centre, int StAngle, int EndAngle, int rayon,
|
virtual void thick_arc( wxPoint centre, int StAngle, int EndAngle, int rayon,
|
||||||
int width, GRTraceMode tracemode );
|
int width, EDA_DRAW_MODE_T tracemode );
|
||||||
virtual void thick_rect( wxPoint p1, wxPoint p2, int width,
|
virtual void thick_rect( wxPoint p1, wxPoint p2, int width,
|
||||||
GRTraceMode tracemode );
|
EDA_DRAW_MODE_T tracemode );
|
||||||
virtual void thick_circle( wxPoint pos, int diametre, int width,
|
virtual void thick_circle( wxPoint pos, int diametre, int width,
|
||||||
GRTraceMode tracemode );
|
EDA_DRAW_MODE_T tracemode );
|
||||||
virtual void pen_to( wxPoint pos, char plume ) = 0;
|
virtual void pen_to( wxPoint pos, char plume ) = 0;
|
||||||
|
|
||||||
// Flash primitives
|
// Flash primitives
|
||||||
virtual void flash_pad_circle( wxPoint pos, int diametre,
|
virtual void flash_pad_circle( wxPoint pos, int diametre,
|
||||||
GRTraceMode trace_mode ) = 0;
|
EDA_DRAW_MODE_T trace_mode ) = 0;
|
||||||
virtual void flash_pad_oval( wxPoint pos, wxSize size, int orient,
|
virtual void flash_pad_oval( wxPoint pos, wxSize size, int orient,
|
||||||
GRTraceMode trace_mode ) = 0;
|
EDA_DRAW_MODE_T trace_mode ) = 0;
|
||||||
virtual void flash_pad_rect( wxPoint pos, wxSize size,
|
virtual void flash_pad_rect( wxPoint pos, wxSize size,
|
||||||
int orient, GRTraceMode trace_mode ) = 0;
|
int orient, EDA_DRAW_MODE_T trace_mode ) = 0;
|
||||||
|
|
||||||
/** virtual function flash_pad_trapez
|
/** virtual function flash_pad_trapez
|
||||||
* flash a trapezoidal pad
|
* flash a trapezoidal pad
|
||||||
|
@ -139,7 +139,7 @@ public:
|
||||||
* @param aTrace_Mode = FILLED or SKETCH
|
* @param aTrace_Mode = FILLED or SKETCH
|
||||||
*/
|
*/
|
||||||
virtual void flash_pad_trapez( wxPoint aPadPos, wxPoint aCorners[4],
|
virtual void flash_pad_trapez( wxPoint aPadPos, wxPoint aCorners[4],
|
||||||
int aPadOrient, GRTraceMode aTrace_Mode ) = 0;
|
int aPadOrient, EDA_DRAW_MODE_T aTrace_Mode ) = 0;
|
||||||
|
|
||||||
// Convenience functions
|
// Convenience functions
|
||||||
void move_to( wxPoint pos )
|
void move_to( wxPoint pos )
|
||||||
|
@ -169,8 +169,8 @@ public:
|
||||||
const wxString& aText,
|
const wxString& aText,
|
||||||
int aOrient,
|
int aOrient,
|
||||||
const wxSize& aSize,
|
const wxSize& aSize,
|
||||||
enum GRTextHorizJustifyType aH_justify,
|
enum EDA_TEXT_HJUSTIFY_T aH_justify,
|
||||||
enum GRTextVertJustifyType aV_justify,
|
enum EDA_TEXT_VJUSTIFY_T aV_justify,
|
||||||
int aWidth,
|
int aWidth,
|
||||||
bool aItalic,
|
bool aItalic,
|
||||||
bool aBold );
|
bool aBold );
|
||||||
|
@ -192,7 +192,7 @@ protected:
|
||||||
|
|
||||||
// Helper function for sketched filler segment
|
// Helper function for sketched filler segment
|
||||||
void segment_as_oval( wxPoint start, wxPoint end, int width,
|
void segment_as_oval( wxPoint start, wxPoint end, int width,
|
||||||
GRTraceMode tracemode );
|
EDA_DRAW_MODE_T tracemode );
|
||||||
void sketch_oval( wxPoint pos, wxSize size, int orient, int width );
|
void sketch_oval( wxPoint pos, wxSize size, int orient, int width );
|
||||||
|
|
||||||
virtual void user_to_device_coordinates( wxPoint& pos );
|
virtual void user_to_device_coordinates( wxPoint& pos );
|
||||||
|
@ -300,19 +300,19 @@ public:
|
||||||
virtual void PlotImage( wxImage & aImage, wxPoint aPos, double aScaleFactor );
|
virtual void PlotImage( wxImage & aImage, wxPoint aPos, double aScaleFactor );
|
||||||
|
|
||||||
virtual void thick_segment( wxPoint start, wxPoint end, int width,
|
virtual void thick_segment( wxPoint start, wxPoint end, int width,
|
||||||
GRTraceMode tracemode );
|
EDA_DRAW_MODE_T tracemode );
|
||||||
virtual void arc( wxPoint centre, int StAngle, int EndAngle, int rayon,
|
virtual void arc( wxPoint centre, int StAngle, int EndAngle, int rayon,
|
||||||
FILL_T fill, int width = -1 );
|
FILL_T fill, int width = -1 );
|
||||||
virtual void pen_to( wxPoint pos, char plume );
|
virtual void pen_to( wxPoint pos, char plume );
|
||||||
virtual void flash_pad_circle( wxPoint pos, int diametre,
|
virtual void flash_pad_circle( wxPoint pos, int diametre,
|
||||||
GRTraceMode trace_mode );
|
EDA_DRAW_MODE_T trace_mode );
|
||||||
virtual void flash_pad_oval( wxPoint pos, wxSize size, int orient,
|
virtual void flash_pad_oval( wxPoint pos, wxSize size, int orient,
|
||||||
GRTraceMode trace_mode );
|
EDA_DRAW_MODE_T trace_mode );
|
||||||
virtual void flash_pad_rect( wxPoint pos, wxSize size,
|
virtual void flash_pad_rect( wxPoint pos, wxSize size,
|
||||||
int orient, GRTraceMode trace_mode );
|
int orient, EDA_DRAW_MODE_T trace_mode );
|
||||||
|
|
||||||
virtual void flash_pad_trapez( wxPoint aPadPos, wxPoint aCorners[4],
|
virtual void flash_pad_trapez( wxPoint aPadPos, wxPoint aCorners[4],
|
||||||
int aPadOrient, GRTraceMode aTrace_Mode );
|
int aPadOrient, EDA_DRAW_MODE_T aTrace_Mode );
|
||||||
|
|
||||||
virtual void SetLayerPolarity( bool aPositive ) {}
|
virtual void SetLayerPolarity( bool aPositive ) {}
|
||||||
|
|
||||||
|
@ -377,14 +377,14 @@ public:
|
||||||
|
|
||||||
virtual void pen_to( wxPoint pos, char plume );
|
virtual void pen_to( wxPoint pos, char plume );
|
||||||
virtual void flash_pad_circle( wxPoint pos, int diametre,
|
virtual void flash_pad_circle( wxPoint pos, int diametre,
|
||||||
GRTraceMode trace_mode );
|
EDA_DRAW_MODE_T trace_mode );
|
||||||
virtual void flash_pad_oval( wxPoint pos, wxSize size, int orient,
|
virtual void flash_pad_oval( wxPoint pos, wxSize size, int orient,
|
||||||
GRTraceMode trace_mode );
|
EDA_DRAW_MODE_T trace_mode );
|
||||||
virtual void flash_pad_rect( wxPoint pos, wxSize size,
|
virtual void flash_pad_rect( wxPoint pos, wxSize size,
|
||||||
int orient, GRTraceMode trace_mode );
|
int orient, EDA_DRAW_MODE_T trace_mode );
|
||||||
|
|
||||||
virtual void flash_pad_trapez( wxPoint aPadPos, wxPoint aCorners[4],
|
virtual void flash_pad_trapez( wxPoint aPadPos, wxPoint aCorners[4],
|
||||||
int aPadOrient, GRTraceMode aTrace_Mode );
|
int aPadOrient, EDA_DRAW_MODE_T aTrace_Mode );
|
||||||
|
|
||||||
virtual void SetLayerPolarity( bool aPositive ) {}
|
virtual void SetLayerPolarity( bool aPositive ) {}
|
||||||
|
|
||||||
|
@ -458,14 +458,14 @@ public:
|
||||||
|
|
||||||
virtual void pen_to( wxPoint pos, char plume );
|
virtual void pen_to( wxPoint pos, char plume );
|
||||||
virtual void flash_pad_circle( wxPoint pos, int diametre,
|
virtual void flash_pad_circle( wxPoint pos, int diametre,
|
||||||
GRTraceMode trace_mode );
|
EDA_DRAW_MODE_T trace_mode );
|
||||||
virtual void flash_pad_oval( wxPoint pos, wxSize size, int orient,
|
virtual void flash_pad_oval( wxPoint pos, wxSize size, int orient,
|
||||||
GRTraceMode trace_mode );
|
EDA_DRAW_MODE_T trace_mode );
|
||||||
virtual void flash_pad_rect( wxPoint pos, wxSize size,
|
virtual void flash_pad_rect( wxPoint pos, wxSize size,
|
||||||
int orient, GRTraceMode trace_mode );
|
int orient, EDA_DRAW_MODE_T trace_mode );
|
||||||
|
|
||||||
virtual void flash_pad_trapez( wxPoint aPadPos, wxPoint aCorners[4],
|
virtual void flash_pad_trapez( wxPoint aPadPos, wxPoint aCorners[4],
|
||||||
int aPadOrient, GRTraceMode aTrace_Mode );
|
int aPadOrient, EDA_DRAW_MODE_T aTrace_Mode );
|
||||||
|
|
||||||
virtual void SetLayerPolarity( bool aPositive );
|
virtual void SetLayerPolarity( bool aPositive );
|
||||||
|
|
||||||
|
@ -539,19 +539,19 @@ public:
|
||||||
virtual void PlotImage( wxImage & aImage, wxPoint aPos, double aScaleFactor );
|
virtual void PlotImage( wxImage & aImage, wxPoint aPos, double aScaleFactor );
|
||||||
|
|
||||||
virtual void thick_segment( wxPoint start, wxPoint end, int width,
|
virtual void thick_segment( wxPoint start, wxPoint end, int width,
|
||||||
GRTraceMode tracemode );
|
EDA_DRAW_MODE_T tracemode );
|
||||||
virtual void arc( wxPoint centre, int StAngle, int EndAngle, int rayon,
|
virtual void arc( wxPoint centre, int StAngle, int EndAngle, int rayon,
|
||||||
FILL_T fill, int width = -1 );
|
FILL_T fill, int width = -1 );
|
||||||
virtual void pen_to( wxPoint pos, char plume );
|
virtual void pen_to( wxPoint pos, char plume );
|
||||||
virtual void flash_pad_circle( wxPoint pos, int diametre,
|
virtual void flash_pad_circle( wxPoint pos, int diametre,
|
||||||
GRTraceMode trace_mode );
|
EDA_DRAW_MODE_T trace_mode );
|
||||||
virtual void flash_pad_oval( wxPoint pos, wxSize size, int orient,
|
virtual void flash_pad_oval( wxPoint pos, wxSize size, int orient,
|
||||||
GRTraceMode trace_mode );
|
EDA_DRAW_MODE_T trace_mode );
|
||||||
virtual void flash_pad_rect( wxPoint pos, wxSize size,
|
virtual void flash_pad_rect( wxPoint pos, wxSize size,
|
||||||
int orient, GRTraceMode trace_mode );
|
int orient, EDA_DRAW_MODE_T trace_mode );
|
||||||
|
|
||||||
virtual void flash_pad_trapez( wxPoint aPadPos, wxPoint aCorners[4],
|
virtual void flash_pad_trapez( wxPoint aPadPos, wxPoint aCorners[4],
|
||||||
int aPadOrient, GRTraceMode aTrace_Mode );
|
int aPadOrient, EDA_DRAW_MODE_T aTrace_Mode );
|
||||||
|
|
||||||
virtual void SetLayerPolarity( bool aPositive ) {}
|
virtual void SetLayerPolarity( bool aPositive ) {}
|
||||||
|
|
||||||
|
|
|
@ -179,15 +179,6 @@ public:
|
||||||
int aDrawMode,
|
int aDrawMode,
|
||||||
int aColor = -1 ) = 0;
|
int aColor = -1 ) = 0;
|
||||||
|
|
||||||
/**
|
|
||||||
* Function Place
|
|
||||||
* place the schematic item into the draw list.
|
|
||||||
* <p>
|
|
||||||
* If the schematic item is a new item or is modified, it is added to undo list.
|
|
||||||
* </p>
|
|
||||||
*/
|
|
||||||
virtual void Place( SCH_EDIT_FRAME* aFrame, wxDC* aDC );
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function Move
|
* Function Move
|
||||||
* moves the item by \a aMoveVector to a new position.
|
* moves the item by \a aMoveVector to a new position.
|
||||||
|
|
|
@ -327,7 +327,26 @@ public:
|
||||||
void PlacePad( D_PAD* Pad, wxDC* DC );
|
void PlacePad( D_PAD* Pad, wxDC* DC );
|
||||||
void Export_Pad_Settings( D_PAD* aPad );
|
void Export_Pad_Settings( D_PAD* aPad );
|
||||||
void Import_Pad_Settings( D_PAD* aPad, bool aDraw );
|
void Import_Pad_Settings( D_PAD* aPad, bool aDraw );
|
||||||
void Global_Import_Pad_Settings( D_PAD* aPad, bool aDraw );
|
|
||||||
|
/**
|
||||||
|
* Function GlobalChange_PadSettings
|
||||||
|
* Function to change pad caracteristics for the given footprint
|
||||||
|
* or all footprints which look like the given footprint
|
||||||
|
* @param aPad is the pattern. The given footprint is the parent of this pad
|
||||||
|
* @param aSameFootprints: if true, make changes on all identical footprints
|
||||||
|
* @param aPadShapeFilter: if true, make changes only on pads having the same shape as aPad
|
||||||
|
* @param aPadOrientFilter: if true, make changes only on pads having the same orientation as aPad
|
||||||
|
* @param aPadLayerFilter: if true, make changes only on pads having the same layers as aPad
|
||||||
|
* @param aRedraw: if true: redraws the footprint
|
||||||
|
* @param aSaveForUndo: if true: create an entry in the Undo/Redo list
|
||||||
|
* (usually: true in Schematic editor, false in Module editor)
|
||||||
|
*/
|
||||||
|
void GlobalChange_PadSettings( D_PAD* aPad,
|
||||||
|
bool aSameFootprints,
|
||||||
|
bool aPadShapeFilter,
|
||||||
|
bool aPadOrientFilter,
|
||||||
|
bool aPadLayerFilter,
|
||||||
|
bool aRedraw, bool aSaveForUndo );
|
||||||
|
|
||||||
// loading footprints
|
// loading footprints
|
||||||
|
|
||||||
|
@ -490,24 +509,24 @@ public:
|
||||||
bool ExportToGerberFile( const wxString& aFullFileName,
|
bool ExportToGerberFile( const wxString& aFullFileName,
|
||||||
int aLayer,
|
int aLayer,
|
||||||
bool aPlotOriginIsAuxAxis,
|
bool aPlotOriginIsAuxAxis,
|
||||||
GRTraceMode aTraceMode );
|
EDA_DRAW_MODE_T aTraceMode );
|
||||||
|
|
||||||
bool ExportToHpglFile( const wxString& aFullFileName,
|
bool ExportToHpglFile( const wxString& aFullFileName,
|
||||||
int aLayer,
|
int aLayer,
|
||||||
GRTraceMode aTraceMode );
|
EDA_DRAW_MODE_T aTraceMode );
|
||||||
|
|
||||||
bool ExportToPostScriptFile( const wxString& aFullFileName,
|
bool ExportToPostScriptFile( const wxString& aFullFileName,
|
||||||
int aLayer,
|
int aLayer,
|
||||||
bool aUseA4,
|
bool aUseA4,
|
||||||
GRTraceMode aTraceMode );
|
EDA_DRAW_MODE_T aTraceMode );
|
||||||
|
|
||||||
bool ExportToDxfFile( const wxString& aFullFileName,
|
bool ExportToDxfFile( const wxString& aFullFileName,
|
||||||
int aLayer,
|
int aLayer,
|
||||||
GRTraceMode aTraceMode );
|
EDA_DRAW_MODE_T aTraceMode );
|
||||||
|
|
||||||
void Plot_Layer( PLOTTER* plotter,
|
void Plot_Layer( PLOTTER* plotter,
|
||||||
int Layer,
|
int Layer,
|
||||||
GRTraceMode trace_mode );
|
EDA_DRAW_MODE_T trace_mode );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function Plot_Standard_Layer
|
* Function Plot_Standard_Layer
|
||||||
|
@ -523,10 +542,10 @@ public:
|
||||||
* have the same size. Used in GERBER format only.
|
* have the same size. Used in GERBER format only.
|
||||||
*/
|
*/
|
||||||
void Plot_Standard_Layer( PLOTTER* aPlotter, int aLayerMask,
|
void Plot_Standard_Layer( PLOTTER* aPlotter, int aLayerMask,
|
||||||
bool aPlotVia, GRTraceMode aPlotMode,
|
bool aPlotVia, EDA_DRAW_MODE_T aPlotMode,
|
||||||
bool aSkipNPTH_Pads = false );
|
bool aSkipNPTH_Pads = false );
|
||||||
|
|
||||||
void PlotSilkScreen( PLOTTER* plotter, int masque_layer, GRTraceMode trace_mode );
|
void PlotSilkScreen( PLOTTER* plotter, int masque_layer, EDA_DRAW_MODE_T trace_mode );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function PlotDrillMark
|
* Function PlotDrillMark
|
||||||
|
@ -539,7 +558,7 @@ public:
|
||||||
* @param aSmallDrillShape = true to plot a small drill shape, false to
|
* @param aSmallDrillShape = true to plot a small drill shape, false to
|
||||||
* plot the actual drill shape
|
* plot the actual drill shape
|
||||||
*/
|
*/
|
||||||
void PlotDrillMark( PLOTTER* aPlotter, GRTraceMode aTraceMode, bool aSmallDrillShape );
|
void PlotDrillMark( PLOTTER* aPlotter, EDA_DRAW_MODE_T aTraceMode, bool aSmallDrillShape );
|
||||||
|
|
||||||
/* Functions relative to Undo/redo commands:
|
/* Functions relative to Undo/redo commands:
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -181,6 +181,14 @@ protected:
|
||||||
*/
|
*/
|
||||||
virtual bool isAutoSaveRequired() const;
|
virtual bool isAutoSaveRequired() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Function addCurrentItemToList
|
||||||
|
* adds the item currently being edited to the schematic and adds the changes to
|
||||||
|
* the undo/redo container.
|
||||||
|
*
|
||||||
|
* @param aDC A pointer the device context to draw on when not NULL.
|
||||||
|
*/
|
||||||
|
void addCurrentItemToList( wxDC* aDC );
|
||||||
|
|
||||||
public:
|
public:
|
||||||
SCH_EDIT_FRAME( wxWindow* father,
|
SCH_EDIT_FRAME( wxWindow* father,
|
||||||
|
|
|
@ -877,6 +877,16 @@ public:
|
||||||
void InstallModuleOptionsFrame( MODULE* Module, wxDC* DC );
|
void InstallModuleOptionsFrame( MODULE* Module, wxDC* DC );
|
||||||
void StartMove_Module( MODULE* module, wxDC* DC );
|
void StartMove_Module( MODULE* module, wxDC* DC );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Function DlgGlobalChange_PadSettings
|
||||||
|
* Function to change pad caracteristics for the given footprint
|
||||||
|
* or all footprints which look like the given footprint
|
||||||
|
* Options are set by the opened dialog.
|
||||||
|
* @param aPad is the pattern. The given footprint is the parent of this pad
|
||||||
|
* @param aRedraw: if true: redraws the footprint
|
||||||
|
*/
|
||||||
|
void DlgGlobalChange_PadSettings( D_PAD* aPad, bool aRedraw );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function Delete Module
|
* Function Delete Module
|
||||||
* Remove a footprint from m_Modules linked list and put it in undelete buffer
|
* Remove a footprint from m_Modules linked list and put it in undelete buffer
|
||||||
|
|
|
@ -370,6 +370,9 @@ class EDA_DRAW_FRAME : public EDA_BASE_FRAME
|
||||||
///< Id of active button on the vertical toolbar.
|
///< Id of active button on the vertical toolbar.
|
||||||
int m_toolId;
|
int m_toolId;
|
||||||
|
|
||||||
|
BASE_SCREEN* m_currentScreen; ///< current used SCREEN
|
||||||
|
bool m_snapToGrid; ///< Indicates if cursor should be snapped to grid.
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
EDA_HOTKEY_CONFIG* m_HotkeysZoomAndGridList;
|
EDA_HOTKEY_CONFIG* m_HotkeysZoomAndGridList;
|
||||||
int m_LastGridSizeId;
|
int m_LastGridSizeId;
|
||||||
|
@ -420,9 +423,10 @@ protected:
|
||||||
/// Panel used to display information at the bottom of the main window.
|
/// Panel used to display information at the bottom of the main window.
|
||||||
EDA_MSG_PANEL* m_messagePanel;
|
EDA_MSG_PANEL* m_messagePanel;
|
||||||
|
|
||||||
private:
|
#ifdef USE_WX_OVERLAY
|
||||||
BASE_SCREEN* m_currentScreen; ///< current used SCREEN
|
// MAC Uses overlay to workaround the wxINVERT and wxXOR miss
|
||||||
bool m_snapToGrid; ///< Indicates if cursor should be snapped to grid.
|
wxOverlay m_overlay;
|
||||||
|
#endif
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
|
|
|
@ -95,7 +95,7 @@ void PCB_EDIT_FRAME::AutoPlace( wxCommandEvent& event )
|
||||||
case ID_POPUP_CANCEL_CURRENT_COMMAND:
|
case ID_POPUP_CANCEL_CURRENT_COMMAND:
|
||||||
if( m_canvas->IsMouseCaptured() )
|
if( m_canvas->IsMouseCaptured() )
|
||||||
{
|
{
|
||||||
m_canvas->m_endMouseCaptureCallback( m_canvas, &dc );
|
m_canvas->CallEndMouseCapture( &dc );
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -117,8 +117,7 @@ void PCB_EDIT_FRAME::AutoPlaceModule( MODULE* Module, int place_mode, wxDC* DC )
|
||||||
if( GetBoard()->m_Modules == NULL )
|
if( GetBoard()->m_Modules == NULL )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
m_canvas->m_AbortRequest = false;
|
m_canvas->SetAbortRequest( false );
|
||||||
m_canvas->m_AbortEnable = true;
|
|
||||||
|
|
||||||
switch( place_mode )
|
switch( place_mode )
|
||||||
{
|
{
|
||||||
|
@ -391,7 +390,6 @@ end_of_tst:
|
||||||
GetBoard()->m_Status_Pcb = 0;
|
GetBoard()->m_Status_Pcb = 0;
|
||||||
Compile_Ratsnest( DC, true );
|
Compile_Ratsnest( DC, true );
|
||||||
m_canvas->ReDraw( DC, true );
|
m_canvas->ReDraw( DC, true );
|
||||||
m_canvas->m_AbortEnable = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -431,7 +429,7 @@ void PCB_EDIT_FRAME::DrawInfoPlace( wxDC* DC )
|
||||||
color = DARKGRAY;
|
color = DARKGRAY;
|
||||||
}
|
}
|
||||||
|
|
||||||
GRPutPixel( &m_canvas->m_ClipBox, DC, ox, oy, color );
|
GRPutPixel( m_canvas->GetClipBox(), DC, ox, oy, color );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -690,12 +688,12 @@ int PCB_EDIT_FRAME::GetOptimalModulePlacement( MODULE* aModule, wxDC* aDC )
|
||||||
{
|
{
|
||||||
wxYield();
|
wxYield();
|
||||||
|
|
||||||
if( m_canvas->m_AbortRequest )
|
if( m_canvas->GetAbortRequest() )
|
||||||
{
|
{
|
||||||
if( IsOK( this, _( "Ok to abort?" ) ) )
|
if( IsOK( this, _( "Ok to abort?" ) ) )
|
||||||
return ESC;
|
return ESC;
|
||||||
else
|
else
|
||||||
m_canvas->m_AbortRequest = false;
|
m_canvas->SetAbortRequest( false );
|
||||||
}
|
}
|
||||||
|
|
||||||
cx = aModule->m_Pos.x; cy = aModule->m_Pos.y;
|
cx = aModule->m_Pos.x; cy = aModule->m_Pos.y;
|
||||||
|
@ -956,7 +954,7 @@ float PCB_EDIT_FRAME::Compute_Ratsnest_PlaceModule( wxDC* DC )
|
||||||
|
|
||||||
if( AutoPlaceShowAll )
|
if( AutoPlaceShowAll )
|
||||||
{
|
{
|
||||||
GRLine( &m_canvas->m_ClipBox, DC, ox, oy, fx, fy, 0, color );
|
GRLine( m_canvas->GetClipBox(), DC, ox, oy, fx, fy, 0, color );
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Cost of the ratsnest. */
|
/* Cost of the ratsnest. */
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue