Commit 3b381cf8 authored by jean-pierre charras's avatar jean-pierre charras

Remove *.ico files and used only xpm or new pgn bitmaps for icons under Window.

Fix minor other issues.
Remove unused files.
parent eae7f37b
...@@ -36,7 +36,9 @@ ...@@ -36,7 +36,9 @@
#include "potracelib.h" #include "potracelib.h"
#include "bitmap_io.h" #include "bitmap_io.h"
#include "bitmap2component.xpm" #ifndef USE_PNG_BITMAPS
#include "icon_bitmap2component.xpm"
#endif
#include "colors_selection.h" #include "colors_selection.h"
#include "build_version.h" #include "build_version.h"
...@@ -98,11 +100,10 @@ BM2CMP_FRAME::BM2CMP_FRAME() : BM2CMP_FRAME_BASE( NULL ) ...@@ -98,11 +100,10 @@ BM2CMP_FRAME::BM2CMP_FRAME() : BM2CMP_FRAME_BASE( NULL )
m_Config->Read( KEYWORD_LAST_INPUT_FILE, &m_BitmapFileName ); m_Config->Read( KEYWORD_LAST_INPUT_FILE, &m_BitmapFileName );
m_Config->Read( KEYWORD_LAST_OUTPUT_FILE, &m_ConvertedFileName ); m_Config->Read( KEYWORD_LAST_OUTPUT_FILE, &m_ConvertedFileName );
#ifdef __WINDOWS__ // Give an icon
SetIcon( wxICON( bitmap2component_icon ) ); wxIcon icon;
#else icon.CopyFromBitmap( KiBitmap( icon_bitmap2component_xpm ) );
SetIcon( wxICON( bitmap2component ) ); SetIcon( icon );
#endif
GetSizer()->SetSizeHints( this ); GetSizer()->SetSizeHints( this );
......
bitmap2component_icon ICON bitmap2component.ico
#include "wx/msw/wx.rc" #include "wx/msw/wx.rc"
/* XPM */
const char *bitmap2component_xpm[] = {
/* columns rows colors chars-per-pixel */
"32 32 16 1",
"@ c #592904",
"# c #974704",
"$ c #5455D0",
"o c #090915",
"- c #2E1604",
"+ c #4B4BB5",
"* c #222352",
"X c #0F1128",
": c #BE5904",
" c #0CFA0C",
"% c #FC7A04",
"= c #323378",
"; c #753704",
"O c #3C3B8F",
"& c #DF6904",
". c #050204",
/* pixels */
" . ..",
" .",
" ",
"........................ .. ",
"........................ .. ",
" X.oO ... ",
"+++X@#.X+ $ ... .",
"...o@%&@.*$$X.o= ... ..",
"....@%%%#-..-#;.... ........",
"....@%%&%&-.#%%-.... .......",
"....@%%%%;..;%&......====O+$ ",
"....@%%:-....o..............= ",
"....@&@.... +*O ......%%%%&#.X ",
"....-..... .....%%&%%%:...",
"OO O=+ . *.%%%%%&%@X ",
" ... =.%%%%%%%#..",
" . O.%%%%&%%;.=",
".......... .....%%%%%%%-..",
"....@@..... ......%%%%%%;...",
"....@%:-....X.........###;;-.= ",
"....@%%&#...-#@...........o*$ ",
"....@%%%%&-.#%%...... $ ",
"....@%%%%#..;%%..... .......",
"....@%%&-....-..... ........",
"XXXo@%;.X+ +*=$ ... ..",
" X-.oO ... .",
" X.= ... ",
"........................ .. ",
"........................ .. ",
" ",
" .",
" . .."
};
/* XPM */
const char *bitmap2component_16x16_xpm[] = {
/* columns rows colors chars-per-pixel */
"16 16 16 1",
"& c #128B26",
" c #0CFA0C",
"# c #A75104",
"@ c #22204C",
"O c #050304",
"; c #191327",
"X c #054306",
"* c #F27504",
"o c #0C7E0C",
": c #1ACC2E",
"$ c #51280C",
"- c #391E07",
". c #0CBE0C",
"% c #289F55",
"= c #703505",
"+ c #1C563C",
/* pixels */
" . X",
"oooooooooooo .. ",
"oXO+ooooooXO .. ",
"@@#$+%+& XX X",
"OO#*#O#=OX XOOO",
"OO#*=O$-OO;@@@: ",
"OO=OO.%:XOO***$o",
"%:% X. ;***#X",
"ooooo . .o;***#;",
"OO=$OXooOOO###;o",
"OO#*#O#$OOX+o&: ",
"OO#*=O=-OX XOOO",
"&X=;& %% XX X",
"oX;oooooooXO .. ",
"oooooooooooo .. ",
" . X"
};
/* XPM */
const char *icon_bitmap2component_xpm[] = {
/* columns rows colors chars-per-pixel */
"32 32 427 2",
"^X c #DDDDDC",
"qX c #70726F",
"_X c Black",
"5 c #DDDDDD",
"#. c #E0E1E1",
"e c #E6E6E6",
"cO c #7C7F7D",
"- c #7C7C7C",
"G c #EFEFEF",
"mX c #828482",
"dO c #828483",
"u. c #858585",
"8X c #888988",
"#o c #8B8D8C",
"g. c #8B9090",
"EX c #A0A3A0",
"K c #A0A0A0",
"OO c #A3A4A2",
"Lo c #36393A",
"So c #ACADAB",
"-O c #ACADAC",
"M. c #A9ACAC",
"!X c #B2B2B0",
"d. c #ACADAF",
";o c #AFB1B1",
"b. c #ACADB0",
"Z c #B2B2B2",
":o c #B5B6B5",
"{X c #B5B6B6",
" o c #BBBBBA",
"A c #BBBBBB",
"dX c #BBBEBD",
"jo c #BEBFBD",
"*X c #C4C4C0",
"fX c #C1C3C2",
"]X c #C4C4C3",
"+o c #515757",
"-X c #C4C4C4",
"2. c #5A5A5A",
"GX c #CACCCA",
"[. c #D0D1D0",
"w. c #5D6162",
"4o c #D6D6D4",
"XX c #D6D6D5",
"b c #D6D6D6",
"8o c #452358",
"). c #E2E3DC",
";. c #D9DADA",
"% c #6C6C6C",
")o c #DFDFDE",
"D. c #E2E3E0",
"a c #DFDFDF",
"B. c #6C7272",
"xX c #727473",
"$. c #E2E3E3",
"S. c #E8E8E6",
"bO c #7B7D7B",
"t c #E8E8E8",
"jO c #7E817F",
"I. c #7E7E7E",
"|. c #7E8181",
"iO c #848684",
"E c #F1F1F1",
"> c #878787",
"]o c #878A89",
"0. c #878A8B",
"<O c #999C99",
"~ c #999999",
"4O c #A5A6A3",
"u c #A2A2A2",
"$o c #A5A6A5",
"tO c #383838",
"oO c #ABABA9",
"^o c #AEAFAC",
"9O c #AEAFAD",
"a. c #A8AAAC",
"!o c #AEAFAE",
"{. c #ABAEAE",
"l. c #AEAFB1",
">X c #B1B3B3",
"n c #B4B4B4",
"6o c #B7B8B6",
". c #4A4A4A",
"@X c #BABCB9",
"@O c #BDBDBB",
"V c #BDBDBD",
"%o c #C3C5C1",
"/. c #C6C6C4",
"6. c #505556",
"L c #C6C6C6",
",o c #C9CAC8",
":X c #C9CAC9",
"+ c #5C5C5C",
"7. c #595E5F",
"QX c #5F6361",
"Zo c #5C6262",
"B c #CFCFCF",
"Y. c #D2D3D2",
"yO c #656867",
"_. c #DEE0D8",
"<. c #D8D8D9",
"wX c #717271",
"K. c #E1E1DF",
"Fo c #E1E1E0",
"8 c #E1E1E1",
"Yo c #EAEAE8",
"xO c #7D7F7D",
"m. c #777A7C",
"c c #EAEAEA",
"<X c #7A7E7E",
"fO c #808381",
"; c #808080",
"sO c #838483",
"{o c #F3F3F1",
"f c #F3F3F3",
"1. c #898989",
"Io c #8C908E",
"_o c #9B9E9B",
".o c #A1A3A2",
"Go c #A7A8A4",
"@o c #A4A7A4",
"1O c #A7A8A5",
"Qo c #A4A7A5",
"D c #A4A4A4",
"mo c #ADB0AC",
"Co c #AAACAC",
"W c #ADADAD",
"Eo c #B0B1AF",
"f. c #AAACAE",
"Ho c #B3B5B3",
"OX c #B3B5B4",
"KX c #B3B5B5",
"( c #B6B6B6",
"'o c #464A4B",
"} c #BFBFBF",
",O c #4F5656",
"=. c #C2C3C3",
"+X c #C5C7C6",
"o. c #4C4C55",
" O c #525A5A",
"4X c #CBCCCB",
"7X c #D1D1CF",
"t. c #5B6061",
"/ c #D1D1D1",
"V. c #D4D5D4",
"2 c #676767",
"x c #DADADA",
"& c #707070",
"*. c #DDDEDE",
"0 c #E3E3E3",
"mO c #797C7A",
"A. c #ECECEA",
"s c #ECECEC",
".. c #F5F5F5",
", c #8B8B8B",
"5o c #979894",
"~X c #9A9C98",
"zX c #979897",
"$X c #9A9C9A",
"3O c #A6A6A4",
"|o c #A3A5A4",
"Ko c #2A3036",
"/o c #A9AAA7",
"d c #A6A6A6",
"UX c #A9AAA8",
"po c #ACAEAD",
"Oo c #302F3E",
"^. c #B2B3B1",
"HX c #B5B7B6",
"VX c #BEC0BF",
"%X c #C1C1C0",
"&X c #C4C5C2",
"_ c #C1C1C1",
"5. c #4E5455",
"1X c #C4C5C4",
"~. c #515557",
"bX c #5A5B5B",
"[X c #CACAC9",
"kX c #CDCECB",
"S c #CACACA",
"@ c #606060",
"Q. c #D3D3D1",
"to c #D6D7D4",
"! c #D3D3D3",
".X c #D6D7D5",
"i. c #636769",
",. c #D6D7D7",
"(. c #DCDCD9",
"0X c #6C706E",
"4 c #DCDCDC",
"`X c #6C7070",
"%. c #DFE0E0",
"w c #E5E5E5",
"U. c #727878",
"vO c #7B7E7C",
"p. c #75797B",
"C. c #EEEEEC",
"F c #EEEEEE",
"Xo c #848786",
"W. c #8A8C8A",
"X. c #F7F7F7",
"|X c #939590",
"/X c #999A99",
"5O c #9F9F9D",
".O c #9FA2A0",
"3o c #9F9F9F",
"CO c #2C2F32",
"6O c #A2A3A1",
"1o c #A2A3A2",
"0O c #A5A7A4",
"XO c #ABACA9",
"l c #A8A8A8",
"P. c #A8ABAB",
"n. c #ABACAD",
"yo c #AEB0AF",
"s. c #ABACAE",
"ro c #B4B5B2",
"C c #B1B1B1",
"ao c #B4B5B3",
"(X c #B1B4B3",
"z. c #AEB0B2",
"<o c #B4B5B4",
"bo c #444648",
"9o c #6F178A",
"DX c #B7B9B8",
"v c #BABABA",
"Uo c #BDBEBC",
"X c #505050",
"pX c #C0C2C1",
"Mo c #C6C7C3",
"` c #C3C3C3",
"=X c #C6C7C5",
"`o c #595C5D",
"h c #CCCCCC",
"Po c #5C6060",
"MO c #5F6161",
"q. c #5C6061",
"co c #352050",
"NX c #D5D5D3",
"Q c #D5D5D5",
":. c #D8D9D9",
"T c #6B6B6B",
"*O c #DEDEDC",
"6 c #DEDEDE",
"T. c #E1E2E0",
"y. c #6E7272",
"@. c #E1E2E2",
"* c #747474",
"NO c #0A0A0A",
"r c #E7E7E7",
"sX c #747A7A",
"zO c #7D807D",
"lO c #7D807E",
"aO c #838583",
"P c #F0F0F0",
"pO c #838584",
"TX c #838586",
"< c #8F8F8F",
"Do c #989898",
">O c #9EA09E",
"BO c #2E3131",
"eO c #A4A5A2",
"VO c #2E3134",
"wO c #A4A5A3",
";O c #A7A9A6",
"x. c #A7A9A8",
"7O c #ADAEAC",
"v. c #ADAEB0",
"vo c #28263C",
"*o c #B0B2B2",
"'X c #B6B7B6",
"7o c #B9BBB9",
"jX c #B9BBBA",
"rX c #BFC0BC",
"U c #BCBCBC",
"oo c #3D3349",
"so c #C2C4C0",
"4. c #4F5455",
"%O c #C8C9C6",
"{ c #C5C5C5",
"3. c #555959",
"iX c #C8C9C9",
"6X c #CECECB",
" X c #CBCDCB",
"3X c #CBCDCC",
"xo c #372851",
"tX c #D1D2CF",
"L. c #D1D2D0",
"# c #646464",
"`. c #DDDFD7",
"G. c #676B6A",
")X c #646769",
"R. c #E0E0DE",
"7 c #E0E0E0",
"eX c #737574",
",X c #767676",
"YX c #767977",
"AX c #707476",
"g c #E9E9E9",
"hO c #7F8280",
"uO c #858785",
"p c #F2F2F2",
"zo c #8B8F8D",
" . c #919191",
"k. c #8E9091",
"lX c #949593",
"8. c #919494",
"rO c #979997",
"IX c #A0A29B",
"go c #A0A29F",
"BX c #A0A2A1",
"}X c #A3A3A2",
"2O c #A6A7A4",
"JX c #A6A7A5",
":O c #A9ABA8",
"Ao c #A9ABAA",
"5X c #ACACAC",
"yX c #AFB0AF",
"fo c #B2B4B1",
"aX c #B2B4B4",
"8O c #B8B9B7",
"[o c #B8BCB8",
"H. c #BBBDBB",
"O. c #485050",
"#O c #C1C2BF",
"j c #BEBEBE",
"$O c #C4C6C3",
"o c #545454",
"FX c #C4C6C4",
"R c #C7C7C7",
"=O c #CACBC9",
"=o c #575B5B",
"PX c #CDCFCE",
") c #D0D0D0",
";X c #D3D4D3",
"0o c #392455",
"-o c #666C6C",
"y c #D9D9D9",
"ZX c #6F6F6F",
"9 c #E2E2E2",
"= c #787878",
"z c #EBEBEB",
"kO c #7E807F",
"N. c #818181",
"N c #F4F4F4",
"h. c #818486",
"1 c #939393",
"(o c #A5A5A3",
"LX c #A2A4A4",
"~o c #AEAEAD",
"I c #AEAEAE",
"ho c #B1B2B0",
"2o c #B1B2B1",
"#X c #B4B6B4",
"SX c #B4B6B5",
"^ c #C0C0C0",
">o c #C3C4C2",
"cX c #505454",
"uX c #C3C4C3",
"' c #C9C9C9",
"2X c #CCCDCB",
"r. c #5C6162",
"3 c #D2D2D2",
"+. c #656767",
"$ c #686868",
"io c #626668",
"H c #DBDBDB",
"&. c #DEDFDF",
"J. c #E4E4E1",
"q c #E4E4E4",
"CX c #747878",
"nO c #7A7D7B",
"}. c #7A7A7A",
"Z. c #EDEDEB",
"No c #EDEDEC",
"gO c #808280",
"M c #EDEDED",
": c #838383",
"[ c #F6F6F6",
"!. c #8C8F8E",
"j. c #898B8D",
"WX c #8F9391",
" c #FFFFFF",
"nX c #959594",
"F. c #959895",
"] c #959595",
"E. c #9B9D9A",
"eo c #9B9D9B",
"+O c #9E9E9D",
"Y c #9E9E9E",
"Jo c #282D32",
"Bo c #A1A2A1",
"ko c #A4A6A2",
"qO c #A4A6A3",
"&o c #A1A2A2",
"}o c #AAABA8",
"RX c #AAABA9",
"qo c #2E353B",
"Ro c #ADAFAC",
"MX c #B3B4B1",
"9. c #B0B0B0",
"Vo c #B3B4B2",
"c. c #ADAFB1",
"k c #B9B9B9",
"lo c #BCBDBC",
"vX c #494D4E",
"hX c #BFC1C0",
"no c #4C5152",
"To c #C2C2C1",
"| c #C2C2C2",
"O c #585858",
"do c #C8CAC7",
"gX c #C8CAC9",
"Wo c #585E5E",
"J c #CBCBCB",
"&O c #CECFCE",
"e. c #5B5F60",
"-. c #CECFCF",
"uo c #5E6363",
"'. c #DADCD4",
"]. c #D7D8D3",
"oX c #D4D4D3",
"m c #D4D4D4",
"wo c #676C6A",
">. c #D7D8D8",
"i c #6A6A6A",
"9X c #6D6E6C",
/* pixels */
" . X o O O + @ # $ % & * * = - ; : > > , < < 1 1 1 ",
" 2 3 4 4 5 6 7 7 8 8 9 0 0 q q w e e e r r r t t t y u ",
" i p t t t t t w 0 t r r e e w w q q 0 9 8 8 7 a 6 s d ",
" i f g g g g g y h g 6 j t r r e w w q k 7 8 8 7 a s l ",
" i f z z z z z x h c v v g t t r e e b n m 9 8 8 7 M l ",
" i N s s s s s 4 B z z 8 c g g t r e e 4 q 0 9 8 7 M d ",
" i N M M m V C V V Z A S z c c g t r r e w q 0 9 8 M D ",
" i F 3 G G H J F F b B M s z z c g t r e w w q 0 9 M K ",
" i c L P 6 I q P G F U z M s s z c g t r e w q 0 9 s Y ",
" T c R E S W c E E P Q 3 F M M t Q m ! 3 3 7 w q 0 s ~ ",
" T M ^ / ( w f p p E G U ) J h _ ` 3 / / R v ' 4 0 z ] ",
" T [ w a g N N f f p p z 4 { / J V R R L } | m 7 q c . ",
" T [ N ..........N f p p E 3 8 F 9 7 a 6 5 w e w q c < ",
" T X...[ [ X.[ [ ..N f p E 3 8 F M s z c g r e w q c , ",
" o.O.+.@.#.@.$.$.@.@.#.%.&.&.*.=.-.;.:.>.>.,.<.t r w q g 1. ",
"2.3.4.5.6.7.8.9.Z 0.q.w.w.w.w.w.w.e.q.r.r.t.t.t.w.y.6 w q g u. ",
"i.p.a.s.d.f.g.h.j.k.l.z.z.z.z.d.x.c.v.v.b.d.d.n.a.m.M.w q t N. ",
"B.V.C.C.C.C.Z.A.Z.Z.Z.Z.Z.S.D.F.G.H.J.K.5 a H x ! L.P.w q t I. ",
"U.Y.T.T.K.K.K.K.R.R.R.R.E.W.Q.!.~.^./.(.)._.`.'.].[.{.w q r }. ",
"|. X.X.X.X.X.XXXXXXXXXoXOX+X@XJ #X$X%X&X*X=X-X;X;X:X>Xw q r ,X ",
"<X1X2X2X2X3X3X3X3X4X4X5X6X7X8X9X0XqXwXeXrXtXyXuXiXpXaXs z J & ",
"sXdXfXfXfX+XgXpXhXpXjX^.kXlXzXxXcXvXbXnXmXMXNXBXVXjXCX* * ZX ",
"AXSXDXDXDXFXGXHXJXKXLXPXIXUXYXTXRXEXWXQX!X~X^X/XHX(X)X_X_X_X_X ",
"`X>X'X'XHX]X[X{X}X^./X^X|X o.oXoooOo+o@o#o$o%o&oHX*o=o_X_X_X_X ",
"-o;o:o:o:o>o,o<o1o2o3o4o5o6o7o8o9o0oqowoeoroto1oSXyouo_X_X_X ",
"iopoaoaoaosodofogohoRXjokolozoxocovobonomoMoNoBoVoCoio ",
"ZoAo2o2o2olo-XhoSo2o9.DoFoGoHoJoKoLoPoIoUoYoToRoEox.Zo ",
"WoQo!o!o!oI I ~o~o^o^o/o(o)oMX_o`o'o]o[o{o(.}oRoRo|oWo ",
" O.OXOXOXOXOoOoO}oRXRXRXOO+O@O#O$O%O&O*O=O-O;O:O:O>O O ",
",O<O1O2O2O2O2O3O4O2O2O2O2O2O5O6O7O o8O9O0OqOwOeO4OrO,O ",
"tOyOuOiOiOpOaOsOdOfOgOhOhOhOjOkOlOzOxOcOvObOnOnOmOMOtO ",
"_XNOBOVOVOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOVOVOBONO_X "
};
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -339,9 +339,11 @@ void DisplayHotkeyList( EDA_DRAW_FRAME* aFrame, ...@@ -339,9 +339,11 @@ void DisplayHotkeyList( EDA_DRAW_FRAME* aFrame,
wxString keyname; wxString keyname;
Ki_HotkeyInfo** List; Ki_HotkeyInfo** List;
wxString msg = _( "<html><body>" ); wxString msg = wxT( "<html><body>" );
msg += wxT( "<H3>");
msg += _("Hotkeys List") + wxT("</H3> <table cellpadding=\"0\">");
msg += _( "<H3>Hotkeys List</H3> <table cellpadding=\"0\">");
for( ; aDescList->m_HK_InfoList != NULL; aDescList++ ) for( ; aDescList->m_HK_InfoList != NULL; aDescList++ )
{ {
List = aDescList->m_HK_InfoList; List = aDescList->m_HK_InfoList;
......
...@@ -100,11 +100,9 @@ CVPCB_MAINFRAME::CVPCB_MAINFRAME( const wxString& title, long style ) : ...@@ -100,11 +100,9 @@ CVPCB_MAINFRAME::CVPCB_MAINFRAME( const wxString& title, long style ) :
m_DocModulesFileName = DEFAULT_FOOTPRINTS_LIST_FILENAME; m_DocModulesFileName = DEFAULT_FOOTPRINTS_LIST_FILENAME;
// Give an icon // Give an icon
#ifdef __WINDOWS__ wxIcon icon;
SetIcon( wxICON( a_icon_cvpcb ) ); icon.CopyFromBitmap( KiBitmap( icon_cvpcb_xpm ) );
#else SetIcon( icon );
SetIcon( wxICON( icon_cvpcb ) );
#endif
SetAutoLayout( true ); SetAutoLayout( true );
......
a_icon_cvpcb ICON "cvpcb.ico"
#include "wx/msw/wx.rc" #include "wx/msw/wx.rc"
a_icon_eeschema ICON eeschema.ico
libsch ICON libedit_icon.ico
viewlibs ICON viewlibs_icon.ico
#include "wx/msw/wx.rc" #include "wx/msw/wx.rc"
...@@ -184,7 +184,7 @@ LIB_EDIT_FRAME::LIB_EDIT_FRAME( SCH_EDIT_FRAME* aParent, ...@@ -184,7 +184,7 @@ LIB_EDIT_FRAME::LIB_EDIT_FRAME( SCH_EDIT_FRAME* aParent,
wxIcon icon; wxIcon icon;
icon.CopyFromBitmap( KiBitmap( libedit_xpm ) ); icon.CopyFromBitmap( KiBitmap( libedit_icon_xpm ) );
SetIcon( icon ); SetIcon( icon );
......
...@@ -179,18 +179,16 @@ SCH_EDIT_FRAME::SCH_EDIT_FRAME( wxWindow* father, ...@@ -179,18 +179,16 @@ SCH_EDIT_FRAME::SCH_EDIT_FRAME( wxWindow* father,
CreateScreens(); CreateScreens();
// Give an icon // Give an icon
#ifdef __WINDOWS__ wxIcon icon;
SetIcon( wxICON( a_icon_eeschema ) ); icon.CopyFromBitmap( KiBitmap( icon_eeschema_xpm ) );
#else SetIcon( icon );
SetIcon( wxICON( icon_eeschema ) );
#endif
m_itemToRepeat = NULL; m_itemToRepeat = NULL;
/* Get config */ /* Get config */
LoadSettings(); LoadSettings();
// Internalize grid id to a default value if not found in config or bad: // Initialize grid id to a default value if not found in config or bad:
if( (m_LastGridSizeId <= 0) if( (m_LastGridSizeId <= 0)
|| ( m_LastGridSizeId < (ID_POPUP_GRID_USER - ID_POPUP_GRID_LEVEL_1000) ) ) || ( m_LastGridSizeId < (ID_POPUP_GRID_USER - ID_POPUP_GRID_LEVEL_1000) ) )
m_LastGridSizeId = ID_POPUP_GRID_LEVEL_50 - ID_POPUP_GRID_LEVEL_1000; m_LastGridSizeId = ID_POPUP_GRID_LEVEL_50 - ID_POPUP_GRID_LEVEL_1000;
......
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
#include "common.h" #include "common.h"
#include "class_drawpanel.h" #include "class_drawpanel.h"
#include "confirm.h" #include "confirm.h"
#include "macros.h"
#include "kicad_string.h" #include "kicad_string.h"
#include "gestfich.h" #include "gestfich.h"
#include "trigo.h" #include "trigo.h"
...@@ -57,6 +58,7 @@ GBR_TO_PCB_EXPORTER::~GBR_TO_PCB_EXPORTER() ...@@ -57,6 +58,7 @@ GBR_TO_PCB_EXPORTER::~GBR_TO_PCB_EXPORTER()
/* Export data in pcbnew format /* Export data in pcbnew format
* remember Pcbnew uses a Y reversed axis, so we must negate all Y coordinates
*/ */
void GERBVIEW_FRAME::ExportDataInPcbnewFormat( wxCommandEvent& event ) void GERBVIEW_FRAME::ExportDataInPcbnewFormat( wxCommandEvent& event )
{ {
...@@ -260,6 +262,10 @@ void GBR_TO_PCB_EXPORTER::export_non_copper_item( GERBER_DRAW_ITEM* aGbrItem, in ...@@ -260,6 +262,10 @@ void GBR_TO_PCB_EXPORTER::export_non_copper_item( GERBER_DRAW_ITEM* aGbrItem, in
} }
} }
// Reverse Y axis:
NEGATE( drawitem->m_Start.y );
NEGATE( drawitem->m_End.y );
m_pcb->Add( drawitem ); m_pcb->Add( drawitem );
} }
...@@ -291,6 +297,11 @@ void GBR_TO_PCB_EXPORTER::export_segline_copper_item( GERBER_DRAW_ITEM* aGbrItem ...@@ -291,6 +297,11 @@ void GBR_TO_PCB_EXPORTER::export_segline_copper_item( GERBER_DRAW_ITEM* aGbrItem
newtrack->m_Start = aGbrItem->m_Start; newtrack->m_Start = aGbrItem->m_Start;
newtrack->m_End = aGbrItem->m_End; newtrack->m_End = aGbrItem->m_End;
newtrack->m_Width = aGbrItem->m_Size.x; newtrack->m_Width = aGbrItem->m_Size.x;
// Reverse Y axis:
NEGATE( newtrack->m_Start.y );
NEGATE( newtrack->m_End.y );
m_pcb->Add( newtrack ); m_pcb->Add( newtrack );
} }
...@@ -323,6 +334,9 @@ void GBR_TO_PCB_EXPORTER::export_segarc_copper_item( GERBER_DRAW_ITEM* aGbrItem, ...@@ -323,6 +334,9 @@ void GBR_TO_PCB_EXPORTER::export_segarc_copper_item( GERBER_DRAW_ITEM* aGbrItem,
RotatePoint( &curr_end, aGbrItem->m_ArcCentre, rot ); RotatePoint( &curr_end, aGbrItem->m_ArcCentre, rot );
newtrack->m_End = curr_end; newtrack->m_End = curr_end;
newtrack->m_Width = aGbrItem->m_Size.x; newtrack->m_Width = aGbrItem->m_Size.x;
// Reverse Y axis:
NEGATE( newtrack->m_Start.y );
NEGATE( newtrack->m_End.y );
m_pcb->Add( newtrack ); m_pcb->Add( newtrack );
curr_start = curr_end; curr_start = curr_end;
} }
...@@ -333,6 +347,9 @@ void GBR_TO_PCB_EXPORTER::export_segarc_copper_item( GERBER_DRAW_ITEM* aGbrItem, ...@@ -333,6 +347,9 @@ void GBR_TO_PCB_EXPORTER::export_segarc_copper_item( GERBER_DRAW_ITEM* aGbrItem,
newtrack->m_Start = curr_start; newtrack->m_Start = curr_start;
newtrack->m_End = end; newtrack->m_End = end;
newtrack->m_Width = aGbrItem->m_Size.x; newtrack->m_Width = aGbrItem->m_Size.x;
// Reverse Y axis:
NEGATE( newtrack->m_Start.y );
NEGATE( newtrack->m_End.y );
m_pcb->Add( newtrack ); m_pcb->Add( newtrack );
} }
} }
...@@ -352,5 +369,8 @@ void GBR_TO_PCB_EXPORTER::export_flashed_copper_item( GERBER_DRAW_ITEM* aGbrItem ...@@ -352,5 +369,8 @@ void GBR_TO_PCB_EXPORTER::export_flashed_copper_item( GERBER_DRAW_ITEM* aGbrItem
newtrack->SetDrillDefault(); newtrack->SetDrillDefault();
newtrack->m_Start = newtrack->m_End = aGbrItem->m_Start; newtrack->m_Start = newtrack->m_End = aGbrItem->m_Start;
newtrack->m_Width = (aGbrItem->m_Size.x + aGbrItem->m_Size.y) / 2; newtrack->m_Width = (aGbrItem->m_Size.x + aGbrItem->m_Size.y) / 2;
// Reverse Y axis:
NEGATE( newtrack->m_Start.y );
NEGATE( newtrack->m_End.y );
m_pcb->Add( newtrack ); m_pcb->Add( newtrack );
} }
a_icon_gerbview ICON "gerbview.ico"
#include "wx/msw/wx.rc" #include "wx/msw/wx.rc"
...@@ -50,11 +50,9 @@ GERBVIEW_FRAME::GERBVIEW_FRAME( wxWindow* father, ...@@ -50,11 +50,9 @@ GERBVIEW_FRAME::GERBVIEW_FRAME( wxWindow* father,
DrawPanel->m_Block_Enable = true; DrawPanel->m_Block_Enable = true;
// Give an icon // Give an icon
#ifdef __WINDOWS__ wxIcon icon;
SetIcon( wxICON( a_icon_gerbview ) ); icon.CopyFromBitmap( KiBitmap( icon_gerbview_xpm ) );
#else SetIcon( icon );
SetIcon( wxICON( icon_gerbview ) );
#endif
SetScreen( ScreenPcb ); SetScreen( ScreenPcb );
......
...@@ -2,7 +2,11 @@ ...@@ -2,7 +2,11 @@
#ifndef BITMAPS_H_ #ifndef BITMAPS_H_
#define BITMAPS_H_ #define BITMAPS_H_
#include <wx/bitmap.h> //FIXME: cannot include only this file in wxWidgets 2.9.3
// test if it works under stable release
// #include <wx/bitmap.h> // only to define wxBitmap
class wxBitmap; // only to define wxBitmap
#include "config.h" #include "config.h"
......
...@@ -7,45 +7,51 @@ ...@@ -7,45 +7,51 @@
#include "kicad.h" #include "kicad.h"
#include "../bitmap2component/bitmap2component.xpm" #ifndef USE_PNG_BITMAPS
#include "../pcb_calculator/bitmaps/pcb_calculator.xpm" #include "../bitmap2component/icon_bitmap2component.xpm"
#include "../pcb_calculator/bitmaps/icon_pcbcalculator.xpm"
#endif
RIGHT_KM_FRAME::RIGHT_KM_FRAME( KICAD_MANAGER_FRAME* parent ) : RIGHT_KM_FRAME::RIGHT_KM_FRAME( KICAD_MANAGER_FRAME* parent ) :
wxSashLayoutWindow( parent, wxID_ANY ) wxSashLayoutWindow( parent, wxID_ANY )
{ {
#define BUTTON_HEIGHT 32
m_Parent = parent; m_Parent = parent;
m_DialogWin = NULL; m_MessagesBox = NULL;
m_ButtPanel = new wxPanel( this, wxID_ANY ); m_ButtPanel = new wxPanel( this, wxID_ANY );
m_ButtonSeparation = 10; // control of command buttons position m_bitmapButtons_maxHeigth = 0;
m_ButtonsListPosition.x = 10; m_ButtonSeparation = 10; // control of command buttons position
m_ButtonsListPosition.y = 35 + BUTTON_HEIGHT; m_ButtonsListPosition.x = m_ButtonSeparation;
m_ButtonLastPosition = m_ButtonsListPosition; m_ButtonsListPosition.y = m_ButtonSeparation;
m_ButtonsPanelHeight = m_ButtonsListPosition.y + 10; m_ButtonLastPosition = m_ButtonsListPosition;
// Add bitmap buttons to launch Kicad utilities:
CreateCommandToolbar(); CreateCommandToolbar();
m_DialogWin = new wxTextCtrl( this, wxID_ANY, wxEmptyString, m_ButtonsPanelHeight = m_ButtonsListPosition.y + m_bitmapButtons_maxHeigth + 10;
// Add the wxTextCtrl showaing all messages from Kicad:
m_MessagesBox = new wxTextCtrl( this, wxID_ANY, wxEmptyString,
wxDefaultPosition, wxDefaultSize, wxDefaultPosition, wxDefaultSize,
wxTE_MULTILINE | wxSUNKEN_BORDER | wxTE_READONLY ); wxTE_MULTILINE | wxSUNKEN_BORDER | wxTE_READONLY );
} }
void RIGHT_KM_FRAME::OnSize( wxSizeEvent& event ) void RIGHT_KM_FRAME::OnSize( wxSizeEvent& event )
{ {
#define EXTRA_MARGE 4 #define EXTRA_MARGE 4
wxSize wsize = GetClientSize(); wxSize wsize = GetClientSize();
wsize.x -= EXTRA_MARGE; wsize.x -= EXTRA_MARGE;
wsize.y -= m_ButtonsPanelHeight + EXTRA_MARGE; wsize.y -= m_ButtonsPanelHeight + EXTRA_MARGE;
wxPoint wpos; wxPoint wpos;
wpos.x = EXTRA_MARGE/2; wpos.x = EXTRA_MARGE / 2;
wpos.y = m_ButtonsPanelHeight + (EXTRA_MARGE/2); wpos.y = m_ButtonsPanelHeight + (EXTRA_MARGE / 2);
if( m_DialogWin ) if( m_MessagesBox )
{ {
m_DialogWin->SetSize( wsize ); m_MessagesBox->SetSize( wsize );
m_DialogWin->SetPosition(wpos ); m_MessagesBox->SetPosition( wpos );
} }
wpos.y = EXTRA_MARGE/2; wpos.y = EXTRA_MARGE / 2;
m_ButtPanel->SetPosition(wpos ); m_ButtPanel->SetPosition( wpos );
wsize.y -= m_ButtonsPanelHeight - EXTRA_MARGE; wsize.y -= m_ButtonsPanelHeight - EXTRA_MARGE;
m_ButtPanel->SetSize( wsize ); m_ButtPanel->SetSize( wsize );
m_ButtPanel->Refresh(); m_ButtPanel->Refresh();
...@@ -59,14 +65,11 @@ EVT_SIZE( RIGHT_KM_FRAME::OnSize ) ...@@ -59,14 +65,11 @@ EVT_SIZE( RIGHT_KM_FRAME::OnSize )
END_EVENT_TABLE() END_EVENT_TABLE()
/*************************************************/
void RIGHT_KM_FRAME::CreateCommandToolbar( void )
/*************************************************/
/** /**
* Function CreateCommandToolbar * Function CreateCommandToolbar
* create the buttons to call eescheman cvpcb, pcbnew and gerbview * create the buttons to call eescheman cvpcb, pcbnew and gerbview
*/ */
void RIGHT_KM_FRAME::CreateCommandToolbar( void )
{ {
wxBitmapButton* btn; wxBitmapButton* btn;
...@@ -83,8 +86,9 @@ void RIGHT_KM_FRAME::CreateCommandToolbar( void ) ...@@ -83,8 +86,9 @@ void RIGHT_KM_FRAME::CreateCommandToolbar( void )
btn->SetToolTip( _( "GerbView (Gerber viewer)" ) ); btn->SetToolTip( _( "GerbView (Gerber viewer)" ) );
btn = AddBitmapButton( ID_TO_BITMAP_CONVERTER, KiBitmap( icon_bitmap2component_xpm ) ); btn = AddBitmapButton( ID_TO_BITMAP_CONVERTER, KiBitmap( icon_bitmap2component_xpm ) );
btn->SetToolTip( _( "Bitmap2Component (a tool to build a logo from a bitmap)\n\ btn->SetToolTip( _(
Creates a component (for Eeschema) or a footprint (for Pcbnew) that shows a B&W picture" ) ); "Bitmap2Component (a tool to build a logo from a bitmap)\n\
Creates a component (for Eeschema) or a footprint (for Pcbnew) that shows a B&W picture" ) );
btn = AddBitmapButton( ID_TO_PCB_CALCULATOR, KiBitmap( icon_pcbcalculator_xpm ) ); btn = AddBitmapButton( ID_TO_PCB_CALCULATOR, KiBitmap( icon_pcbcalculator_xpm ) );
btn->SetToolTip( _( "Pcb calculator" ) ); btn->SetToolTip( _( "Pcb calculator" ) );
...@@ -97,15 +101,19 @@ Creates a component (for Eeschema) or a footprint (for Pcbnew) that shows a B&W ...@@ -97,15 +101,19 @@ Creates a component (for Eeschema) or a footprint (for Pcbnew) that shows a B&W
* @param aId = the button id * @param aId = the button id
* @param aBitmap = the wxBitmap used to create the button * @param aBitmap = the wxBitmap used to create the button
*/ */
wxBitmapButton* RIGHT_KM_FRAME::AddBitmapButton( wxWindowID aId, const wxBitmap & aBitmap ) wxBitmapButton* RIGHT_KM_FRAME::AddBitmapButton( wxWindowID aId, const wxBitmap& aBitmap )
{ {
wxPoint buttPos = m_ButtonLastPosition; wxPoint buttPos = m_ButtonLastPosition;
wxSize buttSize; wxSize buttSize;
int btn_margin = 10; int btn_margin = 0; // extra margin around the bitmap.
buttSize.x = aBitmap.GetWidth() + btn_margin; buttSize.x = aBitmap.GetWidth() + btn_margin;
buttSize.y = aBitmap.GetHeight() + btn_margin; buttSize.y = aBitmap.GetHeight() + btn_margin;
buttPos.y -= buttSize.y;
wxBitmapButton* btn = new wxBitmapButton( m_ButtPanel, aId, aBitmap, buttPos, buttSize); if( m_bitmapButtons_maxHeigth < buttSize.y )
m_bitmapButtons_maxHeigth = buttSize.y;
wxBitmapButton* btn = new wxBitmapButton( m_ButtPanel, aId, aBitmap, buttPos, buttSize );
m_ButtonLastPosition.x += buttSize.x + m_ButtonSeparation; m_ButtonLastPosition.x += buttSize.x + m_ButtonSeparation;
return btn; return btn;
......
...@@ -71,10 +71,8 @@ public: ...@@ -71,10 +71,8 @@ public:
private: private:
int m_LeftWin_Width; int m_LeftWin_Width;
public: public: KICAD_MANAGER_FRAME( wxWindow* parent, const wxString& title,
const wxPoint& pos, const wxSize& size );
KICAD_MANAGER_FRAME( wxWindow* parent, const wxString& title,
const wxPoint& pos, const wxSize& size );
~KICAD_MANAGER_FRAME(); ~KICAD_MANAGER_FRAME();
...@@ -174,30 +172,32 @@ enum TreeFileType { ...@@ -174,30 +172,32 @@ enum TreeFileType {
class RIGHT_KM_FRAME : public wxSashLayoutWindow class RIGHT_KM_FRAME : public wxSashLayoutWindow
{ {
public: public:
wxTextCtrl* m_DialogWin; wxTextCtrl* m_MessagesBox;
private: private:
KICAD_MANAGER_FRAME* m_Parent; KICAD_MANAGER_FRAME* m_Parent; // a wxTextCtrl to displays messages frm Kicad
int m_ButtonsPanelHeight; int m_ButtonsPanelHeight;
wxPanel* m_ButtPanel; wxPanel* m_ButtPanel;
int m_ButtonSeparation; // button distance in pixels int m_ButtonSeparation; // button distance in pixels
wxPoint m_ButtonsListPosition; /* position of the left bottom corner wxPoint m_ButtonsListPosition; /* position of the left bottom corner
* of the first bitmap button * of the first bitmap button
*/ */
wxPoint m_ButtonLastPosition; // position of the last button in the window wxPoint m_ButtonLastPosition; // position of the last button in the window
int m_bitmapButtons_maxHeigth; // height of bigger bitmap buttons
public: // Used to calculate the height of the panel.
RIGHT_KM_FRAME( KICAD_MANAGER_FRAME* parent );
public: RIGHT_KM_FRAME( KICAD_MANAGER_FRAME* parent );
~RIGHT_KM_FRAME() { }; ~RIGHT_KM_FRAME() { };
void OnSize( wxSizeEvent& event ); void OnSize( wxSizeEvent& event );
private: private:
/** /**
* Function CreateCommandToolbar * Function CreateCommandToolbar
* creates the main tool bar buttons (fast launch buttons) * creates the main tool bar buttons (fast launch buttons)
*/ */
void CreateCommandToolbar( void ); void CreateCommandToolbar( void );
wxBitmapButton* AddBitmapButton( wxWindowID aId, const wxBitmap & aBitmap ); wxBitmapButton* AddBitmapButton( wxWindowID aId, const wxBitmap& aBitmap );
DECLARE_EVENT_TABLE() DECLARE_EVENT_TABLE()
}; };
......
a_kicad_icon ICON kicad.ico
#include "wx/msw/wx.rc" #include "wx/msw/wx.rc"
...@@ -48,11 +48,9 @@ KICAD_MANAGER_FRAME::KICAD_MANAGER_FRAME( wxWindow* parent, ...@@ -48,11 +48,9 @@ KICAD_MANAGER_FRAME::KICAD_MANAGER_FRAME( wxWindow* parent,
SetStatusWidths( 3, dims ); SetStatusWidths( 3, dims );
// Give an icon // Give an icon
#ifdef __WINDOWS__ wxIcon icon;
SetIcon( wxICON( a_kicad_icon ) ); icon.CopyFromBitmap( KiBitmap( icon_kicad_xpm ) );
#else SetIcon( icon );
SetIcon( wxICON( icon_kicad ) );
#endif
clientsize = GetClientSize(); clientsize = GetClientSize();
...@@ -105,7 +103,7 @@ KICAD_MANAGER_FRAME::~KICAD_MANAGER_FRAME() ...@@ -105,7 +103,7 @@ KICAD_MANAGER_FRAME::~KICAD_MANAGER_FRAME()
void KICAD_MANAGER_FRAME::PrintMsg( const wxString& aText ) void KICAD_MANAGER_FRAME::PrintMsg( const wxString& aText )
{ {
m_RightWin->m_DialogWin->AppendText( aText ); m_RightWin->m_MessagesBox->AppendText( aText );
} }
...@@ -256,7 +254,7 @@ void KICAD_MANAGER_FRAME::OnRefresh( wxCommandEvent& event ) ...@@ -256,7 +254,7 @@ void KICAD_MANAGER_FRAME::OnRefresh( wxCommandEvent& event )
void KICAD_MANAGER_FRAME::ClearMsg() void KICAD_MANAGER_FRAME::ClearMsg()
{ {
m_RightWin->m_DialogWin->Clear(); m_RightWin->m_MessagesBox->Clear();
} }
......
/* XPM */
const char *icon_pcbcalculator_xpm[] = {
/* columns rows colors chars-per-pixel */
"32 32 16 1",
"+ c #F2F3F2",
". c #BEBCBB",
": c #E49E64",
"X c #E6E5E5",
"; c #B07038",
"@ c #978E74",
"# c #A0A97C",
"* c #95918D",
"$ c #7F7B78",
"= c #8C524C",
" c None",
"% c #686361",
"o c #A9A6A2",
"O c #BAC096",
"& c #494949",
"- c #887A64",
/* pixels */
" ",
" ",
" .XXXXXXXXXXXXXXXX. ",
" .........oX OOOOOOOOOOOO Xo ",
" .+X++XXXXX.X OOOOOOOOO@@O Xo ",
" XXXXXXXXX.X OOOOOOOOO##O Xo ",
" XXXXXXXXX. OOOOOOOOO@## o ",
" XXXXXXXXX. o ",
" XXXXXXXXXo .. .. .. .. o ",
" XXXXXXXXXo $%& &$%*%&.=-= o ",
" XXXXXXX Xo o%% %%*o%% -%$ * ",
" XXXXXX .Xo o%% %%*o%%.$%* * ",
" X XXXX. Xo $$&.&$%$%&.%$- * ",
" X.XXXX. Xo..*o.o*o.**.ooo.* ",
" .XXXXXX. Xo.$%&.&%%*&&.%$%.* ",
" .XXXXXX. Xo.$%&.&%-*%%.--$.* ",
" .+XXXXX .Xo.o$$.*$oo$@.*@*.* ",
" .+XXXXXX.X*.%$&.%-%$**o;:;.* ",
" .+XX+X+X X*.o%-.@$*o$$.@-*.$ ",
" .+ XXX+X + *ooooooooooooo*** ",
" .X.XX X++X..........$oooo ",
" .+XXX.X+++++++++++++++* ",
" .+X ++++++++++++++++* ",
" .+XX ++++++++++++++++* ",
" .+XXX. X++++ ++ ++* ",
" .+XXX .oX+++ X+ ++* ",
" .o+XX+++X ++++++ ++++++*. ",
" .o+XX++X .X+++++X++++++*. ",
" .*XXXXXXXXX++++++++++++$. ",
" .o$$$$$$$$$$$$$$$$$$$$$o. ",
" ..................... ",
" "
};
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
inkscape:export-ydpi="89.996193"
inkscape:export-xdpi="89.996193"
inkscape:export-filename="F:\kicad-launchpad\mytesting\pcb_calculator\bitmaps\sources\pcb_calculator.png"
width="32"
height="32"
id="svg11300"
sodipodi:version="0.32"
inkscape:version="0.48.1 "
sodipodi:docname="pcb_calculator_.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
version="1.1">
<title
id="title2867">fabrication.svg</title>
<defs
id="defs3">
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 8 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="16 : 8 : 1"
inkscape:persp3d-origin="8 : 5.3333333 : 1"
id="perspective62" />
<linearGradient
inkscape:collect="always"
id="linearGradient2265">
<stop
style="stop-color:#000000;stop-opacity:1;"
offset="0"
id="stop2267" />
<stop
style="stop-color:#000000;stop-opacity:0;"
offset="1"
id="stop2269" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient2257">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop2259" />
<stop
style="stop-color:#ffffff;stop-opacity:0;"
offset="1"
id="stop2261" />
</linearGradient>
<linearGradient
id="linearGradient3087">
<stop
style="stop-color:#3465a4;stop-opacity:1;"
offset="0"
id="stop3089" />
<stop
id="stop3095"
offset="0"
style="stop-color:#9fbce1;stop-opacity:1;" />
<stop
style="stop-color:#6b95ca;stop-opacity:1;"
offset="0"
id="stop2242" />
<stop
id="stop2244"
offset="0.75"
style="stop-color:#3d6aa5;stop-opacity:1;" />
<stop
style="stop-color:#386eb4;stop-opacity:1;"
offset="1"
id="stop3091" />
</linearGradient>
<linearGradient
id="linearGradient3077">
<stop
style="stop-color:#98a0a9;stop-opacity:1;"
offset="0"
id="stop3079" />
<stop
style="stop-color:#c3d0dd;stop-opacity:1;"
offset="1"
id="stop3081" />
</linearGradient>
<linearGradient
id="linearGradient3061">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop3063" />
<stop
style="stop-color:#000000;stop-opacity:1;"
offset="1"
id="stop3065" />
</linearGradient>
<linearGradient
id="linearGradient3049">
<stop
style="stop-color:#b6b6b6;stop-opacity:1;"
offset="0"
id="stop3051" />
<stop
id="stop2262"
offset="0.5"
style="stop-color:#f2f2f2;stop-opacity:1;" />
<stop
style="stop-color:#fafafa;stop-opacity:1;"
offset="0.67612958"
id="stop2264" />
<stop
id="stop2268"
offset="0.84051722"
style="stop-color:#d8d8d8;stop-opacity:1;" />
<stop
id="stop2266"
offset="0.875"
style="stop-color:#f2f2f2;stop-opacity:1;" />
<stop
style="stop-color:#dbdbdb;stop-opacity:1;"
offset="1"
id="stop3053" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient3041">
<stop
style="stop-color:#000000;stop-opacity:1;"
offset="0"
id="stop3043" />
<stop
style="stop-color:#000000;stop-opacity:0;"
offset="1"
id="stop3045" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3041"
id="radialGradient3047"
cx="24.8125"
cy="39.125"
fx="24.8125"
fy="39.125"
r="17.6875"
gradientTransform="matrix(1,0,0,0.374558,0,24.47041)"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3061"
id="linearGradient3067"
x1="50.152931"
y1="-3.6324477"
x2="25.291086"
y2="-4.3002653"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.34034962,0,0,0.34062279,22.978872,22.901528)" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2257"
id="linearGradient2263"
x1="12.004697"
y1="35.688461"
x2="10.650805"
y2="33.194965"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.79090438,-0.02085853,0.02070221,0.79687482,-1.4455806,12.169915)" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2265"
id="linearGradient2271"
x1="14.017542"
y1="36.942543"
x2="15.415793"
y2="38.268368"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.34567937,-0.00661064,0.00681979,0.33507805,-0.50264035,31.588139)" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient3041"
id="radialGradient2260"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1,0,0,0.374558,0,24.47041)"
cx="24.8125"
cy="39.125"
fx="24.8125"
fy="39.125"
r="17.6875" />
<linearGradient
y2="342.7312"
x2="-233.62198"
y1="267.00223"
x1="-117.82109"
gradientTransform="matrix(1.143762,0,0,0.682685,-595.7796,98.99065)"
gradientUnits="userSpaceOnUse"
id="linearGradient6654"
xlink:href="#linearGradient4319"
inkscape:collect="always" />
<linearGradient
id="linearGradient4319">
<stop
id="stop4321"
offset="0.00000000"
style="stop-color:#03030a;stop-opacity:1.0000000;" />
<stop
id="stop4323"
offset="1.0000000"
style="stop-color:#4e4ddd;stop-opacity:0.83333331;" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4319"
id="linearGradient15712"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.05587774,0,0,0.03443996,27.500592,25.382015)"
x1="-117.82109"
y1="267.00223"
x2="-233.62198"
y2="342.7312" />
</defs>
<sodipodi:namedview
stroke="#204a87"
fill="#3465a4"
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="0.25490196"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="24.15625"
inkscape:cx="16"
inkscape:cy="21.220902"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:grid-bbox="true"
inkscape:document-units="px"
inkscape:showpageshadow="true"
inkscape:window-width="1280"
inkscape:window-height="968"
inkscape:window-x="-4"
inkscape:window-y="-4"
inkscape:window-maximized="1">
<inkscape:grid
type="xygrid"
id="grid2865"
empspacing="5"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true"
empcolor="#0000ff"
empopacity="0.1372549"
dotted="true" />
</sodipodi:namedview>
<metadata
id="metadata4">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:creator>
<cc:Agent>
<dc:title>Jakub Steiner</dc:title>
</cc:Agent>
</dc:creator>
<dc:source />
<cc:license
rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
<dc:title>fabrication.svg</dc:title>
<dc:subject>
<rdf:Bag />
</dc:subject>
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/licenses/publicdomain/">
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
</cc:License>
</rdf:RDF>
</metadata>
<g
id="layer1"
inkscape:label="Layer 1"
inkscape:groupmode="layer"
transform="translate(0,-16)">
<g
id="g15659"
transform="matrix(1.9908799,0,0,2.0608187,33.224303,-55.79117)"
inkscape:export-filename="F:\kicad-launchpad\mytesting\pcb_calculator\bitmaps\sources\pcb_calculator.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<path
inkscape:connector-curvature="0"
style="fill:none;stroke:#000000;stroke-width:0.69463098;stroke-miterlimit:4;stroke-opacity:1"
d="m -7.4668838,36.00552 -8.5995982,3.053989 -0.267924,1.714714 0.419668,1.779391 0.278562,0.167944 0.01829,0.674416 0.247329,0.189497 0.590887,-0.230768 0.0079,-0.14456 4.750158,2.583602 1.9845206,-0.806089 0.0901,0.197184 -0.024896,1.982884 0.2418385,0.216114 0.6140891,-0.279213 0.035567,-2.033363 0.1090661,-0.520567 1.7237108,-0.706708 0.068759,0.151438 -0.024896,1.981307 0.2418434,0.217691 0.6140842,-0.28079 0.035567,-2.031787 0.096025,-0.459044 1.6940737,-0.694089 0.08417,0.182987 -0.024892,1.982885 0.2418385,0.216113 0.6152742,-0.279212 0.034377,-2.033364 0.1043257,-0.501637 0.46708596,-2.107505 -0.58445246,-1.896123 -5.8824315,-2.287337 z"
id="path5491"
sodipodi:nodetypes="cccccccccccccccccccccccccccccccccc" />
<g
transform="matrix(0.04876858,0,0,0.05047916,-52.404941,33.200651)"
id="g5515">
<g
id="g5517"
transform="matrix(0.777876,0,0,1,605.1556,-104.7584)">
<path
inkscape:connector-curvature="0"
style="fill:#d1d1d1;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.26249999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.5999999;stroke-opacity:1"
d="m 441.90521,281.05437 33.78433,-9.71878 21.28876,4.62799 -36.56113,10.64438 -18.51196,-5.55359 z"
id="path5519"
sodipodi:nodetypes="ccccc" />
<path
inkscape:connector-curvature="0"
style="fill:#979797;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.26249999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.5999999;stroke-opacity:1"
d="m 460.41717,286.14516 36.09833,-10.18158 -0.4628,15.27237 -6.94198,24.99114 -0.9256,40.26352 -16.19797,5.55359 0.4628,-42.57751 -12.03278,-18.04916 0,-15.27237 z"
id="path5521"
sodipodi:nodetypes="ccccccccc" />
<path
inkscape:connector-curvature="0"
style="fill:#d1d1d1;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.26249999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.5999999;stroke-opacity:1"
d="m 442.70546,281.16222 17.67141,5.23597 0,14.39893 11.78094,17.67141 0,42.54228 -6.54496,-3.27248 0.65449,-39.2698 -11.12644,-18.32591 0,-7.85396 -13.08993,-3.92698 0.65449,-7.19946 z"
id="path5523"
sodipodi:nodetypes="ccccccccccc" />
<path
inkscape:connector-curvature="0"
style="fill:none;stroke:#fbfbfb;stroke-width:2.70000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1"
d="m 460.34279,286.9511 33.51056,-9.74073"
id="path5525"
sodipodi:nodetypes="cc" />
<path
inkscape:connector-curvature="0"
style="fill:none;stroke:#fbfbfb;stroke-width:2.70000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1"
d="m 460.34279,286.9511 -15.56813,-4.77772"
id="path5527"
sodipodi:nodetypes="cc" />
<path
inkscape:connector-curvature="0"
style="fill:none;stroke:#fbfbfb;stroke-width:2.70000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1"
d="m 460.34279,286.9511 0.4238,12.86855"
id="path5529"
sodipodi:nodetypes="cc" />
<path
inkscape:connector-curvature="0"
style="fill:none;stroke:#fbfbfb;stroke-width:2.70000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1"
d="m 471.92315,318.93496 0.4238,42.09518"
id="path5531"
sodipodi:nodetypes="cc" />
</g>
<g
id="g5533"
transform="matrix(0.777876,0,0,1,605.1556,-104.7584)">
<path
inkscape:connector-curvature="0"
style="fill:#d1d1d1;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.26249999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.5999999;stroke-opacity:1"
d="m 514.16671,259.60177 33.78433,-9.71878 21.28876,4.62799 -36.56113,10.64438 -18.51196,-5.55359 z"
id="path5535"
sodipodi:nodetypes="ccccc" />
<path
inkscape:connector-curvature="0"
style="fill:#979797;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.26249999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.5999999;stroke-opacity:1"
d="m 532.67867,264.69256 36.09833,-10.18158 -0.4628,15.27237 -6.94198,24.99114 -0.9256,40.26352 -16.19797,5.55359 0.4628,-42.57751 -12.03278,-18.04916 0,-15.27237 z"
id="path5537"
sodipodi:nodetypes="ccccccccc" />
<path
inkscape:connector-curvature="0"
style="fill:#d1d1d1;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.26249999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.5999999;stroke-opacity:1"
d="m 514.96696,259.70962 17.67141,5.23597 0,14.39893 11.78094,17.67141 0,42.54228 -6.54496,-3.27248 0.65449,-39.2698 -11.12644,-18.32591 0,-7.85396 -13.08993,-3.92698 0.65449,-7.19946 z"
id="path5539"
sodipodi:nodetypes="ccccccccccc" />
<path
inkscape:connector-curvature="0"
style="fill:none;stroke:#fbfbfb;stroke-width:2.70000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1"
d="m 532.19663,264.49678 33.51056,-9.74073"
id="path5541"
sodipodi:nodetypes="cc" />
<path
inkscape:connector-curvature="0"
style="fill:none;stroke:#fbfbfb;stroke-width:2.70000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1"
d="M 532.19663,264.49678 516.6285,259.71906"
id="path5543"
sodipodi:nodetypes="cc" />
<path
inkscape:connector-curvature="0"
style="fill:none;stroke:#fbfbfb;stroke-width:2.70000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1"
d="m 532.19663,264.49678 0.4238,12.86855"
id="path5545"
sodipodi:nodetypes="cc" />
<path
inkscape:connector-curvature="0"
style="fill:none;stroke:#fbfbfb;stroke-width:2.70000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1"
d="m 543.77699,296.48064 0.4238,42.09518"
id="path5547"
sodipodi:nodetypes="cc" />
</g>
<g
transform="translate(0,-2)"
id="g5549">
<g
id="g5551"
transform="matrix(0.777876,0,0,1,594.4153,-34.263)"
style="stroke-width:0.26249999;stroke-miterlimit:4.5999999">
<path
inkscape:connector-curvature="0"
style="fill:#d1d1d1;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 382.73481,234.13347 33.78433,-9.71878 21.28876,4.62799 -36.56113,10.64438 -18.51196,-5.55359 z"
id="path5553"
sodipodi:nodetypes="ccccc" />
<path
inkscape:connector-curvature="0"
style="fill:#979797;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 401.24677,239.22426 36.09833,-10.18158 -0.4628,15.27237 -6.94198,24.99114 -0.9256,40.26352 -16.19797,5.55359 0.4628,-42.57751 -12.03278,-18.04916 0,-15.27237 z"
id="path5555"
sodipodi:nodetypes="ccccccccc" />
<path
inkscape:connector-curvature="0"
style="fill:#d1d1d1;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 383.53506,234.24132 17.67141,5.23597 0,14.39893 11.78094,17.67141 0,42.54228 -6.54496,-3.27248 0.65449,-39.2698 -11.12644,-18.32591 0,-7.85396 -13.08993,-3.92698 0.65449,-7.19946 z"
id="path5557"
sodipodi:nodetypes="ccccccccccc" />
</g>
<g
id="g5559"
transform="matrix(0.777876,0,0,1,605.1556,-104.7584)">
<path
inkscape:connector-curvature="0"
style="fill:none;stroke:#fbfbfb;stroke-width:2.70000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1"
d="m 386.24352,309.40542 33.51056,-9.74073"
id="path5561"
sodipodi:nodetypes="cc" />
<path
inkscape:connector-curvature="0"
style="fill:none;stroke:#fbfbfb;stroke-width:2.70000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1"
d="M 386.24352,309.40542 370.67539,304.6277"
id="path5563"
sodipodi:nodetypes="cc" />
<path
inkscape:connector-curvature="0"
style="fill:none;stroke:#fbfbfb;stroke-width:2.70000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1"
d="m 386.24352,309.40542 0.4238,12.86855"
id="path5565"
sodipodi:nodetypes="cc" />
<path
inkscape:connector-curvature="0"
style="fill:none;stroke:#fbfbfb;stroke-width:2.70000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1"
d="m 397.82388,341.38928 0.4238,42.09518"
id="path5567"
sodipodi:nodetypes="cc" />
</g>
<path
sodipodi:type="arc"
style="fill:none;stroke:#ffffff;stroke-width:16.125;stroke-miterlimit:4;stroke-opacity:1"
id="path5569"
sodipodi:cx="328.1138"
sodipodi:cy="269.82898"
sodipodi:rx="1.4033953"
sodipodi:ry="0.56135809"
d="m 329.5172,269.82898 c 0,0.31003 -0.62833,0.56136 -1.4034,0.56136 -0.77507,0 -1.4034,-0.25133 -1.4034,-0.56136 0,-0.31003 0.62833,-0.56136 1.4034,-0.56136 0.77507,0 1.4034,0.25133 1.4034,0.56136 z"
transform="matrix(0.295615,0,0,0.640811,808.4828,31.2763)" />
</g>
<path
sodipodi:type="arc"
style="fill:none;stroke:#ffffff;stroke-width:16.125;stroke-miterlimit:4;stroke-opacity:1"
id="path5571"
sodipodi:cx="328.1138"
sodipodi:cy="269.82898"
sodipodi:rx="1.4033953"
sodipodi:ry="0.56135809"
d="m 329.5172,269.82898 c 0,0.31003 -0.62833,0.56136 -1.4034,0.56136 -0.77507,0 -1.4034,-0.25133 -1.4034,-0.56136 0,-0.31003 0.62833,-0.56136 1.4034,-0.56136 0.77507,0 1.4034,0.25133 1.4034,0.56136 z"
transform="matrix(0.295615,0,0,0.640811,865.748,9.1312)" />
<path
sodipodi:type="arc"
style="fill:none;stroke:#ffffff;stroke-width:16.125;stroke-miterlimit:4;stroke-opacity:1"
id="path5573"
sodipodi:cx="328.1138"
sodipodi:cy="269.82898"
sodipodi:rx="1.4033953"
sodipodi:ry="0.56135809"
d="m 329.5172,269.82898 c 0,0.31003 -0.62833,0.56136 -1.4034,0.56136 -0.77507,0 -1.4034,-0.25133 -1.4034,-0.56136 0,-0.31003 0.62833,-0.56136 1.4034,-0.56136 0.77507,0 1.4034,0.25133 1.4034,0.56136 z"
transform="matrix(0.295615,0,0,0.640811,922.082,-13.0139)" />
</g>
<g
id="g15638">
<g
id="g5493"
transform="matrix(0.04876858,0,0,0.05047916,-53.547573,28.060414)">
<path
sodipodi:nodetypes="ccccccccc"
id="path5495"
d="m 773.62374,232.27241 28.08003,-10.18158 -0.36,15.27237 -5.4,24.99114 -0.72001,40.26352 -12.60001,5.55359 0.36,-42.57751 -9.36001,-18.04916 0,-15.27237 z"
style="fill:#979797;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.23151785;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.5999999;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
sodipodi:nodetypes="ccccccccc"
id="path5497"
d="m 773.59239,232.52544 0,14.39893 9.16411,17.67141 0,42.54228 -5.09116,-3.27248 0.50911,-39.2698 -8.65499,-18.32591 0,-7.85396 4.07293,-5.89047 z"
style="fill:#d1d1d1;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.23151785;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.5999999;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
sodipodi:nodetypes="cc"
id="path5499"
d="m 781.70146,263.94203 0.32966,42.09518"
style="fill:none;stroke:#fbfbfb;stroke-width:2.38132668;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1"
inkscape:connector-curvature="0" />
</g>
<path
sodipodi:nodetypes="cczzzc"
id="path5501"
d="m -12.077822,41.631939 -2.294233,-1.157247 1.192551,-0.33344 c 0.457219,-0.12784 1.41653,-0.347062 2.31497,0.13344 0.9137109,0.488669 0.478504,0.844571 -0.02417,0.9969 l -1.189119,0.360347 z"
style="fill:#5553f0;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.0114871;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.5999999;stroke-opacity:1"
inkscape:connector-curvature="0" />
<rect
transform="matrix(-0.97331036,0.22949279,0.13200078,0.99124961,0,0)"
y="34.814999"
x="14.21874"
height="3.6287212"
width="5.9457755"
id="rect5503"
style="fill:url(#linearGradient15712);fill-opacity:1;stroke:#000000;stroke-width:0.01151543;stroke-miterlimit:4.5999999;stroke-opacity:1" />
<path
sodipodi:nodetypes="ccczzcccc"
id="path5505"
d="m -7.4924682,36 -8.5995858,3.052748 1.652877,0.794462 1.623884,-0.489715 c 1.383233,-0.417142 3.3388653,0.538805 2.013749,1.039338 l -1.280265,0.483591 1.782798,0.731973 8.6894868,-3.325022 L -7.4924682,36 z"
style="fill:#7d7dff;fill-opacity:1;stroke:#000000;stroke-width:0.0114871;stroke-miterlimit:4.5999999;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
sodipodi:nodetypes="ccccccccccc"
id="path5507"
d="m -10.30103,41.628148 -1.781788,-0.720358 0.01041,0.693441 -2.336795,-1.186904 -0.02904,-0.545581 -1.626662,-0.784429 -0.294386,1.683306 0.419857,1.78008 5.89274,3.240187 0.2660889,-2.175681 -0.5204239,-1.984061 z"
style="fill:#4444c6;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.0114871;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.5999999;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
sodipodi:nodetypes="ccccc"
id="path5509"
d="m -1.614362,38.299768 0.5926992,1.881813 -8.7406458,3.521311 -0.5543844,-2.044925 8.702331,-3.358199 z"
style="fill:#3a38a5;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.0114871;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.5999999;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
sodipodi:nodetypes="ccccc"
id="path5511"
d="m -1.0172737,40.144479 -8.7645321,3.575044 -0.2621352,2.073445 8.5519345,-3.502727 0.4747328,-2.145762 z"
style="fill:#33335f;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.0114871;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.5999999;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
sodipodi:nodetypes="cc"
id="path5513"
d="m -10.396559,41.656533 0.5224138,1.932031"
style="fill:none;stroke:#fbfbfb;stroke-width:0.1181531;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
id="path5577"
d="m -15.969575,39.107615 c 1.448956,0.703889 1.425956,0.703889 1.425956,0.703889 l -0.023,0.0306"
style="fill:none;stroke:#fbfbfb;stroke-width:0.1181531;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
sodipodi:nodetypes="cc"
id="path5579"
d="m -10.396559,41.656533 2.0661993,-0.770069"
style="fill:none;stroke:#fbfbfb;stroke-width:0.1181531;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
sodipodi:nodetypes="cc"
id="path5581"
d="m -14.461591,40.455673 2.29266,1.133409"
style="fill:none;stroke:#fbfbfb;stroke-width:0.1181531;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
sodipodi:nodetypes="ccc"
id="path5583"
d="m -12.082694,40.943846 1.632949,0.703889 -0.023,0.0306"
style="fill:none;stroke:#fbfbfb;stroke-width:0.1181531;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
sodipodi:nodetypes="cc"
id="path5585"
d="m -7.9686603,40.747908 2.0661985,-0.770069"
style="fill:none;stroke:#fbfbfb;stroke-width:0.1181531;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
sodipodi:nodetypes="cccc"
id="path5587"
d="m -14.527733,39.818387 1.603151,-0.464224 c 0,0 0.456856,-0.11053 0.664518,-0.11053 0.207662,0 0.174436,0 0.174436,0"
style="fill:none;stroke:#ffffff;stroke-width:0.11377704;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
sodipodi:nodetypes="cc"
id="path5589"
d="m -11.836743,39.239847 c 0.548252,0.01306 0.839002,0.147692 1.162979,0.370754"
style="fill:none;stroke:#fbfbfb;stroke-width:0.1181531;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
sodipodi:nodetypes="cc"
id="path5593"
d="m -14.461591,40.455673 0.01041,-0.571909"
style="fill:none;stroke:#fbfbfb;stroke-width:0.1181531;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1"
inkscape:connector-curvature="0" />
</g>
</g>
<path
style="color:#000000;fill:#654032;fill-opacity:1;fill-rule:nonzero;stroke:#c0754f;stroke-width:0.78816634;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
d="m 11.363763,28.891745 14.913143,15.373134 c 0.603421,0.69483 2.51542,1.231847 3.792938,0 1.233658,-1.189564 0.948229,-2.866175 -0.25861,-4.082131 L 15.501512,24.722759 c 1.76672,-4.9446 -1.809032,-9.097719 -6.4221322,-8.207691 l -0.9913365,0.911962 3.1033127,2.95303 0.172409,2.605623 -2.3170269,2.131008 -2.7689587,-0.307084 -2.8447026,-2.692471 c 0,0 -0.9973104,0.992802 -0.9973104,0.992802 -0.4638724,4.463045 4.1676712,8.451886 8.9279986,5.781801 z"
id="path2140"
sodipodi:nodetypes="cczcccccccccsc"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90"
inkscape:connector-curvature="0"
inkscape:export-filename="F:\kicad-launchpad\mytesting\pcb_calculator\bitmaps\sources\pcb_calculator.png" />
<path
sodipodi:nodetypes="cczccccccccccc"
id="path3057"
d="m 11.529184,27.882588 15.078262,15.844567 c 0.467129,0.537887 1.947263,0.953606 2.936221,0 0.955012,-0.920875 0.734055,-2.218788 -0.200201,-3.160091 L 14.823765,25.04406 c 1.177812,-5.142382 -1.459536,-7.915027 -5.3855786,-7.816139 l -0.2121087,0.216252 2.8290443,2.560325 0.102206,3.308367 -2.8376754,2.609565 -3.3310949,-0.362506 -2.4942789,-2.366668 -0.276894,0.340248 c -0.2453773,4.722093 5.0973529,6.870833 8.3118002,4.349084 z"
style="opacity:0.42613639;color:#000000;fill:none;stroke:#ffffff;stroke-width:0.78816593;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
inkscape:connector-curvature="0"
inkscape:export-filename="F:\kicad-launchpad\mytesting\pcb_calculator\bitmaps\sources\pcb_calculator.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90" />
<path
style="color:#000000;fill:#cccccc;fill-opacity:1;fill-rule:nonzero;stroke:#cccccc;stroke-width:0.78816634;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
d="m 14.969504,35.940531 c 0.654502,-0.565235 10.43058,-10.639599 10.43058,-10.639599 l 2.413684,-0.173721 3.792938,-5.298091 -3.159934,-2.836376 -4.913576,4.255845 0,2.431909 -9.999564,10.465887 c -0.474119,0.477697 0.832449,2.315252 1.435872,1.794129 z"
id="path2144"
sodipodi:nodetypes="ccccccccc"
inkscape:connector-curvature="0"
inkscape:export-filename="F:\kicad-launchpad\mytesting\pcb_calculator\bitmaps\sources\pcb_calculator.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90" />
<path
sodipodi:nodetypes="ccccccccc"
id="path3085"
d="M 14.893489,35.117809 C 15.401341,34.679222 25.12036,24.651235 25.12036,24.651235 l 2.299546,-0.196229 3.308801,-4.479461 -2.26904,-2.016595 -4.300251,3.732159 0.121928,2.255491 -9.953385,10.516033 c -0.367886,0.370663 0.09733,1.059506 0.565549,0.655148 z"
style="opacity:0.53977271999999998;color:#000000;fill:#cccccc;stroke:#666666;stroke-width:0.78816693999999998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
inkscape:connector-curvature="0"
inkscape:export-filename="F:\kicad-launchpad\mytesting\pcb_calculator\bitmaps\sources\pcb_calculator.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90" />
<path
style="color:#000000;fill:#aa0000;fill-opacity:1;fill-rule:nonzero;stroke:#550000;stroke-width:0.78816633999999985;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
d="m 3.9502934,46.60993 c 1.0337958,1.159203 3.9053797,1.683671 5.178798,-0.561633 0.5552276,-0.978982 1.6441826,-3.720556 6.5024126,-8.125972 0.815946,-0.739055 1.680275,-2.429686 0.947549,-3.341649 L 14.682583,32.66989 C 13.906755,31.801347 11.750289,32.206479 10.865547,33.42216 8.2282221,37.058374 3.9195348,39.952895 2.9478898,40.302527 1.088579,40.971581 1.297844,43.73301 2.5279421,45.046567 l 1.4223513,1.563363 z"
id="path2142"
sodipodi:nodetypes="ccccccscc"
inkscape:connector-curvature="0"
inkscape:export-filename="F:\kicad-launchpad\mytesting\pcb_calculator\bitmaps\sources\pcb_calculator.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90" />
<path
sodipodi:type="arc"
style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#a1a1a1;stroke-width:1.13860166;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
id="path2146"
sodipodi:cx="41.875"
sodipodi:cy="37.5"
sodipodi:rx="1.375"
sodipodi:ry="1.375"
d="m 43.25,37.5 a 1.375,1.375 0 1 1 -2.75,0 1.375,1.375 0 1 1 2.75,0 z"
transform="matrix(0.68962512,0,0,0.69483096,-0.7908793,16.124228)"
inkscape:export-filename="F:\kicad-launchpad\mytesting\pcb_calculator\bitmaps\sources\pcb_calculator.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90" />
<path
sodipodi:type="arc"
style="opacity:0.60227272;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
id="path3101"
sodipodi:cx="19.003494"
sodipodi:cy="28.20101"
sodipodi:rx="1.767767"
sodipodi:ry="1.767767"
d="m 20.771261,28.20101 a 1.767767,1.767767 0 1 1 -3.535534,0 1.767767,1.767767 0 1 1 3.535534,0 z"
transform="matrix(0.44825665,0,0,0.45164051,4.491724,21.00842)"
inkscape:export-filename="F:\kicad-launchpad\mytesting\pcb_calculator\bitmaps\sources\pcb_calculator.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90" />
<path
style="color:#000000;fill:none;stroke:url(#linearGradient2263);stroke-width:1.80845571;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
d="m 11.970094,35.54451 c 0,0 -5.6298593,5.774986 -8.2671835,6.753964"
id="path3103"
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
inkscape:export-filename="F:\kicad-launchpad\mytesting\pcb_calculator\bitmaps\sources\pcb_calculator.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90" />
</g>
</svg>
pcb_calculator_icon ICON pcb_calculator.ico
#include "wx/msw/wx.rc" #include "wx/msw/wx.rc"
...@@ -27,7 +27,12 @@ ...@@ -27,7 +27,12 @@
#include "pcb_calculator.h" #include "pcb_calculator.h"
#include "UnitSelector.h" #include "UnitSelector.h"
#include "pcb_calculator.xpm" #include "bitmaps.h"
#ifndef USE_PNG_BITMAPS
#include "icon_pcbcalculator.xpm"
#endif
#define KEYWORD_FRAME_POSX wxT( "Pcb_calculator_Pos_x" ) #define KEYWORD_FRAME_POSX wxT( "Pcb_calculator_Pos_x" )
#define KEYWORD_FRAME_POSY wxT( "Pcb_calculator_Pos_y" ) #define KEYWORD_FRAME_POSY wxT( "Pcb_calculator_Pos_y" )
...@@ -85,11 +90,10 @@ PCB_CALCULATOR_FRAME::PCB_CALCULATOR_FRAME( wxWindow * parent ) : ...@@ -85,11 +90,10 @@ PCB_CALCULATOR_FRAME::PCB_CALCULATOR_FRAME( wxWindow * parent ) :
ElectricalSpacingUpdateData( m_ElectricalSpacingUnitsSelector->GetUnitScale() ); ElectricalSpacingUpdateData( m_ElectricalSpacingUnitsSelector->GetUnitScale() );
#ifdef __WINDOWS__ // Give an icon
SetIcon( wxICON( pcb_calculator_icon ) ); wxIcon icon;
#else icon.CopyFromBitmap( KiBitmap( icon_pcbcalculator_xpm ) );
SetIcon( wxICON( pcb_calculator ) ); SetIcon( icon );
#endif
GetSizer()->SetSizeHints( this ); GetSizer()->SetSizeHints( this );
......
...@@ -153,45 +153,45 @@ static Ki_HotkeyInfo HkTrackDisplayMode( wxT( "Track Display Mode" ), ...@@ -153,45 +153,45 @@ static Ki_HotkeyInfo HkTrackDisplayMode( wxT( "Track Display Mode" ),
static Ki_HotkeyInfo HkAddModule( wxT( "Add Module" ), HK_ADD_MODULE, 'O' ); static Ki_HotkeyInfo HkAddModule( wxT( "Add Module" ), HK_ADD_MODULE, 'O' );
/* Record and play macros */ /* Record and play macros */
static Ki_HotkeyInfo HkRecordMacros0( wxT( "Record Macros 0" ), HK_RECORD_MACROS_0, GR_KB_CTRL+'0' ); static Ki_HotkeyInfo HkRecordMacros0( wxT( "Record Macro 0" ), HK_RECORD_MACROS_0, GR_KB_CTRL+'0' );
static Ki_HotkeyInfo HkCallMacros0( wxT( "Call Macross 0" ), HK_CALL_MACROS_0, '0' ); static Ki_HotkeyInfo HkCallMacros0( wxT( "Call Macro 0" ), HK_CALL_MACROS_0, '0' );
static Ki_HotkeyInfo HkRecordMacros1( wxT( "Record Macros 1" ), HK_RECORD_MACROS_1, GR_KB_CTRL+'1' ); static Ki_HotkeyInfo HkRecordMacros1( wxT( "Record Macro 1" ), HK_RECORD_MACROS_1, GR_KB_CTRL+'1' );
static Ki_HotkeyInfo HkCallMacros1( wxT( "Call Macross 1" ), HK_CALL_MACROS_1, '1' ); static Ki_HotkeyInfo HkCallMacros1( wxT( "Call Macro 1" ), HK_CALL_MACROS_1, '1' );
static Ki_HotkeyInfo HkRecordMacros2( wxT( "Record Macros 2" ), HK_RECORD_MACROS_2, GR_KB_CTRL+'2' ); static Ki_HotkeyInfo HkRecordMacros2( wxT( "Record Macro 2" ), HK_RECORD_MACROS_2, GR_KB_CTRL+'2' );
static Ki_HotkeyInfo HkCallMacros2( wxT( "Call Macross 2" ), HK_CALL_MACROS_2, '2' ); static Ki_HotkeyInfo HkCallMacros2( wxT( "Call Macro 2" ), HK_CALL_MACROS_2, '2' );
static Ki_HotkeyInfo HkRecordMacros3( wxT( "Record Macros 3" ), HK_RECORD_MACROS_3, GR_KB_CTRL+'3' ); static Ki_HotkeyInfo HkRecordMacros3( wxT( "Record Macro 3" ), HK_RECORD_MACROS_3, GR_KB_CTRL+'3' );
static Ki_HotkeyInfo HkCallMacros3( wxT( "Call Macross 3" ), HK_CALL_MACROS_3, '3' ); static Ki_HotkeyInfo HkCallMacros3( wxT( "Call Macro 3" ), HK_CALL_MACROS_3, '3' );
static Ki_HotkeyInfo HkRecordMacros4( wxT( "Record Macros 4" ), HK_RECORD_MACROS_4, GR_KB_CTRL+'4' ); static Ki_HotkeyInfo HkRecordMacros4( wxT( "Record Macro 4" ), HK_RECORD_MACROS_4, GR_KB_CTRL+'4' );
static Ki_HotkeyInfo HkCallMacros4( wxT( "Call Macross 4" ), HK_CALL_MACROS_4, '4' ); static Ki_HotkeyInfo HkCallMacros4( wxT( "Call Macro 4" ), HK_CALL_MACROS_4, '4' );
static Ki_HotkeyInfo HkRecordMacros5( wxT( "Record Macros 5" ), HK_RECORD_MACROS_5, GR_KB_CTRL+'5' ); static Ki_HotkeyInfo HkRecordMacros5( wxT( "Record Macro 5" ), HK_RECORD_MACROS_5, GR_KB_CTRL+'5' );
static Ki_HotkeyInfo HkCallMacros5( wxT( "Call Macross 5" ), HK_CALL_MACROS_5, '5' ); static Ki_HotkeyInfo HkCallMacros5( wxT( "Call Macro 5" ), HK_CALL_MACROS_5, '5' );
static Ki_HotkeyInfo HkRecordMacros6( wxT( "Record Macros 6" ), HK_RECORD_MACROS_6, GR_KB_CTRL+'6' ); static Ki_HotkeyInfo HkRecordMacros6( wxT( "Record Macro 6" ), HK_RECORD_MACROS_6, GR_KB_CTRL+'6' );
static Ki_HotkeyInfo HkCallMacros6( wxT( "Call Macross 6" ), HK_CALL_MACROS_6, '6' ); static Ki_HotkeyInfo HkCallMacros6( wxT( "Call Macro 6" ), HK_CALL_MACROS_6, '6' );
static Ki_HotkeyInfo HkRecordMacros7( wxT( "Record Macros 7" ), HK_RECORD_MACROS_7, GR_KB_CTRL+'7' ); static Ki_HotkeyInfo HkRecordMacros7( wxT( "Record Macro 7" ), HK_RECORD_MACROS_7, GR_KB_CTRL+'7' );
static Ki_HotkeyInfo HkCallMacros7( wxT( "Call Macross 7" ), HK_CALL_MACROS_7, '7' ); static Ki_HotkeyInfo HkCallMacros7( wxT( "Call Macro 7" ), HK_CALL_MACROS_7, '7' );
static Ki_HotkeyInfo HkRecordMacros8( wxT( "Record Macros 8" ), HK_RECORD_MACROS_8, GR_KB_CTRL+'8' ); static Ki_HotkeyInfo HkRecordMacros8( wxT( "Record Macro 8" ), HK_RECORD_MACROS_8, GR_KB_CTRL+'8' );
static Ki_HotkeyInfo HkCallMacros8( wxT( "Call Macross 8" ), HK_CALL_MACROS_8, '8' ); static Ki_HotkeyInfo HkCallMacros8( wxT( "Call Macro 8" ), HK_CALL_MACROS_8, '8' );
static Ki_HotkeyInfo HkRecordMacros9( wxT( "Record Macros 9" ), HK_RECORD_MACROS_9, GR_KB_CTRL+'9' ); static Ki_HotkeyInfo HkRecordMacros9( wxT( "Record Macro 9" ), HK_RECORD_MACROS_9, GR_KB_CTRL+'9' );
static Ki_HotkeyInfo HkCallMacros9( wxT( "Call Macross 9" ), HK_CALL_MACROS_9, '9' ); static Ki_HotkeyInfo HkCallMacros9( wxT( "Call Macro 9" ), HK_CALL_MACROS_9, '9' );
// List of common hotkey descriptors // List of common hotkey descriptors
Ki_HotkeyInfo* common_Hotkey_List[] = Ki_HotkeyInfo* common_Hotkey_List[] =
......
...@@ -120,7 +120,9 @@ FOOTPRINT_EDIT_FRAME::FOOTPRINT_EDIT_FRAME( wxWindow* father, ...@@ -120,7 +120,9 @@ FOOTPRINT_EDIT_FRAME::FOOTPRINT_EDIT_FRAME( wxWindow* father,
m_HotkeysZoomAndGridList = g_Module_Editor_Hokeys_Descr; m_HotkeysZoomAndGridList = g_Module_Editor_Hokeys_Descr;
// Give an icon // Give an icon
SetIcon( wxICON( icon_modedit ) ); wxIcon icon;
icon.CopyFromBitmap( KiBitmap( icon_modedit_xpm ) );
SetIcon( icon );
UpdateTitle(); UpdateTitle();
......
...@@ -307,7 +307,6 @@ PCB_EDIT_FRAME::PCB_EDIT_FRAME( wxWindow* parent, const wxString& title, ...@@ -307,7 +307,6 @@ PCB_EDIT_FRAME::PCB_EDIT_FRAME( wxWindow* parent, const wxString& title,
wxIcon icon; wxIcon icon;
icon.CopyFromBitmap( KiBitmap( icon_pcbnew_xpm ) ); icon.CopyFromBitmap( KiBitmap( icon_pcbnew_xpm ) );
SetIcon( icon ); SetIcon( icon );
m_InternalUnits = PCB_INTERNAL_UNIT; // Unites internes = 1/10000 inch m_InternalUnits = PCB_INTERNAL_UNIT; // Unites internes = 1/10000 inch
......
a_icon_pcbnew ICON "icon_pcbnew.ico"
icon_w3d ICON "icon_w3d.ico"
icon_modedit ICON "icon_modedit.ico"
#include "wx/msw/wx.rc" #include "wx/msw/wx.rc"
...@@ -39,15 +39,15 @@ void PCB_EDIT_FRAME::ListNetsAndSelect( wxCommandEvent& event ) ...@@ -39,15 +39,15 @@ void PCB_EDIT_FRAME::ListNetsAndSelect( wxCommandEvent& event )
if( netFilter.IsEmpty() ) if( netFilter.IsEmpty() )
return; return;
wxString Line;
for( unsigned ii = 0; ii < GetBoard()->m_NetInfo->GetCount(); ii++ ) for( unsigned ii = 0; ii < GetBoard()->m_NetInfo->GetCount(); ii++ )
{ {
net = GetBoard()->m_NetInfo->GetNetItem( ii ); net = GetBoard()->m_NetInfo->GetNetItem( ii );
wxString Line;
if( !WildCompareString( netFilter, net->GetNetname(), false ) ) if( !WildCompareString( netFilter, net->GetNetname(), false ) )
continue; continue;
Line.Printf( wxT( "net_code = %3.3d [%.16s] " ), net->GetNet(), Line.Printf( wxT( "net %3.3d: %s" ), net->GetNet(),
GetChars( net->GetNetname() ) ); GetChars( net->GetNetname() ) );
list.Add( Line ); list.Add( Line );
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment