Index: trunk/src/tool_arc.c =================================================================== --- trunk/src/tool_arc.c (revision 24964) +++ trunk/src/tool_arc.c (revision 24965) @@ -187,8 +187,40 @@ return pcb_true; } +/* XPM */ +static const char *arc_icon[] = { +/* columns rows colors chars-per-pixel */ +"21 21 4 1", +" c black", +". c #4E85b7", +"X c gray100", +"o c None", +/* pixels */ +"ooooo.ooooooooooooooo", +"ooooo.ooooooooooooooo", +"ooooo.ooooooooooooooo", +"ooooo.ooooooooooooooo", +"oooooo.oooooooooooooo", +"oooooo.oooooooooooooo", +"ooooooo.ooooooooooooo", +"ooooooo..oooooooooooo", +"oooooooo..ooooooooooo", +"oooooooooo..ooooooooo", +"oooooooooooo....ooooo", +"ooooooooooooooooooooo", +"ooo oooo oooo oo", +"oo o ooo ooo oo ooo o", +"oo o ooo ooo oo ooo o", +"o ooo oo ooo ooooo", +"o oo ooooo ooooo", +"o ooo oo o oooo ooooo", +"o ooo oo oo ooo ooo o", +"o ooo oo ooo ooo oo", +"ooooooooooooooooooooo" +}; + pcb_tool_t pcb_tool_arc = { - "arc", NULL, 100, NULL, + "arc", NULL, 100, arc_icon, pcb_tool_arc_init, pcb_tool_arc_uninit, pcb_tool_arc_notify_mode, Index: trunk/src/tool_arrow.c =================================================================== --- trunk/src/tool_arrow.c (revision 24964) +++ trunk/src/tool_arrow.c (revision 24965) @@ -215,8 +215,40 @@ } } +/* XPM */ +static const char *arrow_icon[] = { +/* columns rows colors chars-per-pixel */ +"21 21 4 1", +" c black", +". c #6EA5D7", +"X c gray100", +"o c None", +/* pixels */ +"oo .. ooooooooooooooo", +"oo .... ooooooooooooo", +"ooo ...... oooooooooo", +"ooo ........ oooooooo", +"ooo ....... ooooooooo", +"oooo ..... oooooooooo", +"oooo ...... ooooooooo", +"ooooo .. ... oooooooo", +"ooooo . o ... ooooooo", +"oooooooooo ... oooooo", +"ooooooooooo .. oooooo", +"oooooooooooo ooooooo", +"ooooooooooooooooooooo", +"ooo ooo ooo ooo", +"oo o oo ooo oo ooo oo", +"oo o oo ooo oo ooo oo", +"o ooo o ooo ooo", +"o ooo o ooo oo ooo oo", +"o o ooo oo ooo oo", +"o ooo o ooo oo ooo oo", +"o ooo o ooo oo ooo oo" +}; + pcb_tool_t pcb_tool_arrow = { - "arrow", NULL, 10, NULL, + "arrow", NULL, 10, arrow_icon, NULL, pcb_tool_arrow_uninit, pcb_tool_arrow_notify_mode, Index: trunk/src/tool_buffer.c =================================================================== --- trunk/src/tool_buffer.c (revision 24964) +++ trunk/src/tool_buffer.c (revision 24965) @@ -91,8 +91,40 @@ pcb_xordraw_buffer(PCB_PASTEBUFFER); } +/* XPM */ +static const char *buf_icon[] = { +/* columns rows colors chars-per-pixel */ +"21 21 4 1", +" c black", +". c #D0C7AD", +"X c gray100", +"o c None", +/* pixels */ +"oooooooo oo ooooooo", +"oooooo.. o o ..ooooo", +"oooooooo oooo ooooooo", +"oooooo.. oooo ..ooooo", +"oooooooo oooo ooooooo", +"oooooo.. oooo ..ooooo", +"oooooooo oooo ooooooo", +"oooooo.. oooo ..ooooo", +"oooooooo oooo ooooooo", +"oooooo.. oooo ..ooooo", +"oooooooo ooooooo", +"ooooooooooooooooooooo", +"oo oo ooo o o", +"ooo ooo o ooo o ooooo", +"ooo ooo o ooo o ooooo", +"ooo ooo o ooo o oo", +"ooo oo ooo o ooooo", +"ooo ooo o ooo o ooooo", +"ooo ooo o ooo o ooooo", +"oo ooo oo ooooo", +"ooooooooooooooooooooo" +}; + pcb_tool_t pcb_tool_buffer = { - "buffer", NULL, 100, NULL, + "buffer", NULL, 100, buf_icon, pcb_tool_buffer_init, pcb_tool_buffer_uninit, pcb_tool_buffer_notify_mode, Index: trunk/src/tool_insert.c =================================================================== --- trunk/src/tool_insert.c (revision 24964) +++ trunk/src/tool_insert.c (revision 24965) @@ -131,8 +131,40 @@ return pcb_true; } +/* XPM */ +static const char *ins_icon[] = { +/* columns rows colors chars-per-pixel */ +"21 21 4 1", +" c black", +". c #7A8584", +"X c gray100", +"o c None", +/* pixels */ +"oooooo...oooooooooooo", +"ooooo.ooo.ooooooooooo", +"ooooo.o.o.ooooooooooo", +"oooooo....ooooooooooo", +"ooooooooooooooooooooo", +"oooo ooooo oooooooo", +"ooooooooooooooooooooo", +"oo...ooooooooooo...oo", +"o.oo..ooooooooo.ooo.o", +"o.o o...........o o.o", +"o.ooo.ooooooooo.ooo.o", +"oo...ooooooooooo...oo", +"ooooooooooooooooooooo", +"ooo o ooo oo ooo", +"oooo oo ooo o ooooooo", +"oooo oo oo o ooooooo", +"oooo oo o o oo oooo", +"oooo oo oo ooooo ooo", +"oooo oo ooo ooooo ooo", +"oooo oo ooo ooooo ooo", +"ooo o ooo o oooo" +}; + pcb_tool_t pcb_tool_insert = { - "insert", NULL, 100, NULL, + "insert", NULL, 100, ins_icon, NULL, pcb_tool_insert_uninit, pcb_tool_insert_notify_mode, Index: trunk/src/tool_line.c =================================================================== --- trunk/src/tool_line.c (revision 24964) +++ trunk/src/tool_line.c (revision 24965) @@ -460,8 +460,42 @@ return pcb_false; } +/* XPM */ +static const char *line_icon[] = { +/* columns rows colors chars-per-pixel */ +"21 21 5 1", +" c black", +". c #7A8584", +"X c #4E85b7", +"o c gray100", +"O c None", +/* pixels */ +"OOOOOOOOOOOOOOOOOOOOO", +"OO...OOOOOOOOOOOOOOOO", +"O.OOO.OOOOOOOOOOOOOOO", +"O.OXXXOOOOOOOOOOOOOOO", +"O.OOO.XXXOOOOOOOOOOOO", +"OO...OOOOXXXOOOO...OO", +"OOOOOOOOOOOOXXX.OOO.O", +"OOOOOOOOOOOOOOOXXXO.O", +"OOOOOOOOOOOOOOO.OOO.O", +"OOOOOOOOOOOOOOOO...OO", +"OOOOOOOOOOOOOOOOOOOOO", +"OOOOOOOOOOOOOOOOOOOOO", +" OOOO O OOOO O O", +" OOOOO OO OOO O OOOO", +" OOOOO OO O OO O OOOO", +" OOOOO OO O OO O OOOO", +" OOOOO OO OO O O OO", +" OOOOO OO OO O O OOOO", +" OOOOO OO OOO O OOOO", +" O O OOOO O O", +"OOOOOOOOOOOOOOOOOOOOO" +}; + + pcb_tool_t pcb_tool_line = { - "line", NULL, 100, NULL, + "line", NULL, 100, line_icon, pcb_tool_line_init, pcb_tool_line_uninit, pcb_tool_line_notify_mode, Index: trunk/src/tool_lock.c =================================================================== --- trunk/src/tool_lock.c (revision 24964) +++ trunk/src/tool_lock.c (revision 24965) @@ -74,8 +74,39 @@ } } +/* XPM */ +static const char *lock_icon[] = { +/* columns rows colors chars-per-pixel */ +"21 21 3 1", +" c black", +". c gray100", +"X c None", +/* pixels */ +"XXXXXXXX XXXXXXXX", +"XXXXXXX XXX XXXXXXX", +"XXXXXXX XXXXX XXXXXXX", +"XXXXXX XXXXX XXXXXX", +"XXXXXX XXXXXXX XXXXXX", +"XXXXXX XXXXXXX XXXXXX", +"XXXX XXXX", +"XXXX XXXXXXXXXXX XXXX", +"XXXX XXXX", +"XXXX XXXXXXXXXXX XXXX", +"XXXX XXXX", +"XXXX XXXXXXXXXXX XXXX", +"XXXX XXXX", +"XXXXXXXXXXXXXXXXXXXXX", +"XX XXXX XXX X XX XX", +"XX XXX XX X XXX XX XX", +"XX XXX XX X XXX X XXX", +"XX XXX XX X XXX XXXX", +"XX XXX XX X XXX X XXX", +"XX XXX XX X XXX XX XX", +"XX XX XXX X XX XX" +}; + pcb_tool_t pcb_tool_lock = { - "lock", NULL, 100, NULL, + "lock", NULL, 100, lock_icon, NULL, NULL, pcb_tool_lock_notify_mode, Index: trunk/src/tool_poly.c =================================================================== --- trunk/src/tool_poly.c (revision 24964) +++ trunk/src/tool_poly.c (revision 24965) @@ -145,8 +145,40 @@ return pcb_true; } +/* XPM */ +static const char *poly_icon[] = { +/* columns rows colors chars-per-pixel */ +"21 21 4 1", +" c black", +". c #6EA5D7", +"X c gray100", +"o c None", +/* pixels */ +"ooooooooooo.ooooooooo", +"oooooooooo..ooooooooo", +"ooooooooo...ooooooooo", +"oooooooo....ooooooooo", +"ooooooo.....ooooooooo", +"oooooo.......oooooooo", +"ooooo.........ooooooo", +"oooo...........oooooo", +"oooo............ooooo", +"oooo.............oooo", +"oooo..............ooo", +"ooooooooooooooooooooo", +"o ooo oo oo ooo ", +"o ooo o ooo o oo ooo ", +"o ooo o ooo o ooo o o", +"o oo ooo o oooo oo", +"o ooooo ooo o oooo oo", +"o ooooo ooo o oooo oo", +"o ooooo ooo o oooo oo", +"o oooooo oo o oo", +"ooooooooooooooooooooo" +}; + pcb_tool_t pcb_tool_poly = { - "poly", NULL, 100, NULL, + "poly", NULL, 100, poly_icon, NULL, pcb_tool_poly_uninit, pcb_tool_poly_notify_mode, Index: trunk/src/tool_polyhole.c =================================================================== --- trunk/src/tool_polyhole.c (revision 24964) +++ trunk/src/tool_polyhole.c (revision 24965) @@ -174,8 +174,38 @@ return pcb_true; } +/* XPM */ +static const char * polyhole_icon[] = { +"21 21 3 1", +" c None", +". c #6EA5D7", +"+ c #000000", +" .. ", +" ... ", +" ..... ", +" ....... ", +" ......... ", +" ....+++++... ", +" ....+ +.... ", +" ...+ +..... ", +" ...++++++...... ", +" ................ ", +" ................. ", +" ", +" + + ++ + +++ ", +" + + + + + + ", +" + + + + + + ", +" ++++ + + + +++ ", +" + + + + + + ", +" + + + + + + ", +" + + + + + + ", +" + + ++ +++ +++ ", +" " +}; + + pcb_tool_t pcb_tool_polyhole = { - "polyhole", NULL, 100, NULL, + "polyhole", NULL, 100, polyhole_icon, NULL, pcb_tool_polyhole_uninit, pcb_tool_polyhole_notify_mode, Index: trunk/src/tool_rectangle.c =================================================================== --- trunk/src/tool_rectangle.c (revision 24964) +++ trunk/src/tool_rectangle.c (revision 24965) @@ -112,8 +112,41 @@ return pcb_true; } +/* XPM */ +static const char *rect_icon[] = { +/* columns rows colors chars-per-pixel */ +"21 21 4 1", +" c black", +". c #6EA5D7", +"X c gray100", +"o c None", +/* pixels */ +"ooooooooooooooooooooo", +"oo..................o", +"oo..................o", +"oo..................o", +"oo..................o", +"oo..................o", +"oo..................o", +"oo..................o", +"oo..................o", +"oo..................o", +"ooooooooooooooooooooo", +"ooooooooooooooooooooo", +"o oo oo oo ", +"o oo o oooo oo ooo oo", +"o oo o oooo oooooo oo", +"o oo oooo oooooo oo", +"o o oo oo oooooo oo", +"o oo o oooo oooooo oo", +"o oo o oooo oo ooo oo", +"o oo o oo oooo oo", +"ooooooooooooooooooooo" +}; + + pcb_tool_t pcb_tool_rectangle = { - "rectangle", NULL, 100, NULL, + "rectangle", NULL, 100, rect_icon, NULL, pcb_tool_rectangle_uninit, pcb_tool_rectangle_notify_mode, Index: trunk/src/tool_remove.c =================================================================== --- trunk/src/tool_remove.c (revision 24964) +++ trunk/src/tool_remove.c (revision 24965) @@ -81,8 +81,39 @@ } } +/* XPM */ +static const char *del_icon[] = { +/* columns rows colors chars-per-pixel */ +"21 21 3 1", +" c black", +". c gray100", +"X c None", +/* pixels */ +"XXX XXXXXXXXXXXX XXXX", +"XXXX XXX XXX XXXXX", +"XXXXX X X XXXXXX", +"XXXXXX XX XX XXXXXXX", +"XXXXX XX XX XXXXXX", +"XXXXX XXXXXX", +"XXXXXX XXXXXXX", +"XXXXXXX XX XXXXXXXX", +"XXXXXXX XX XXXXXXXXX", +"XXXXXX X XX XXXXXXXX", +"XXXX XX X XXXXXX", +"XX XXXXX XXXX XXXX", +"XXXXXXXXXXXXXXXXXXXXX", +"XX XX X XXXXX", +"XXX XXX X XXXXX XXXXX", +"XXX XXX X XXXXX XXXXX", +"XXX XXX X XXXXX XXXXX", +"XXX XXX X XX XXXXX", +"XXX XXX X XXXXX XXXXX", +"XXX XXX X XXXXX XXXXX", +"XX XX X X" +}; + pcb_tool_t pcb_tool_remove = { - "remove", NULL, 100, NULL, + "remove", NULL, 100, del_icon, NULL, NULL, pcb_tool_remove_notify_mode, Index: trunk/src/tool_rotate.c =================================================================== --- trunk/src/tool_rotate.c (revision 24964) +++ trunk/src/tool_rotate.c (revision 24965) @@ -48,8 +48,41 @@ pcb_subc_as_board_update(PCB); } +/* XPM */ +static const char *rot_icon[] = { +/* columns rows colors chars-per-pixel */ +"21 21 4 1", +" c black", +". c #4E85b7", +"X c gray100", +"o c None", +/* pixels */ +"ooooooooooo.ooooooooo", +"oooooooooo..ooooooooo", +"ooooooooo....oooooooo", +"oooooooooo..o.ooooooo", +"ooooooooooo.oo.oooooo", +"oooooooooooooo.oooooo", +"oooooooooooooo.oooooo", +"oooooooooooooo.oooooo", +"oooooooooooooo.oooooo", +"ooooooooooooo.ooooooo", +"oooooooooooo.oooooooo", +"oooooooooo..ooooooooo", +"ooooooooooooooooooooo", +"ooo ooo oo o", +"ooo ooo o ooo ooo ooo", +"ooo ooo o ooo ooo ooo", +"ooo oo ooo ooo ooo", +"ooo ooo ooo ooo ooo", +"ooo o oo ooo ooo ooo", +"ooo oo o ooo ooo ooo", +"ooo ooo oo oooo ooo" +}; + + pcb_tool_t pcb_tool_rotate = { - "rotate", NULL, 100, NULL, + "rotate", NULL, 100, rot_icon, NULL, NULL, pcb_tool_rotate_notify_mode, Index: trunk/src/tool_text.c =================================================================== --- trunk/src/tool_text.c (revision 24964) +++ trunk/src/tool_text.c (revision 24965) @@ -91,8 +91,40 @@ } +/* XPM */ +static const char *text_icon[] = { +/* columns rows colors chars-per-pixel */ +"21 21 4 1", +" c black", +". c #4E85b7", +"X c gray100", +"o c None", +/* pixels */ +"ooooooooooooooooooooo", +"ooooooooooooooooooooo", +"ooooooooooooooooooooo", +"oo.ooo.ooo.ooo.ooo.oo", +"o.o.o.o.o.o.o.o.o.o.o", +"oo.ooo.ooo.ooo.ooo.oo", +"ooooooooooooooooooooo", +"ooooooooooooooooooooo", +"ooooooooooooooooooooo", +"ooooooooooooooooooooo", +"ooooooooooooooooooooo", +"ooooooooooooooooooooo", +" o o ooo o ", +"oo ooo ooo ooo ooo oo", +"oo ooo oooo o oooo oo", +"oo ooo ooooo ooooo oo", +"oo ooo ooo o oooo oo", +"oo ooo ooo ooo ooo oo", +"oo ooo ooo ooo ooo oo", +"oo ooo o ooo ooo oo", +"ooooooooooooooooooooo" +}; + pcb_tool_t pcb_tool_text = { - "text", NULL, 100, NULL, + "text", NULL, 100, text_icon, NULL, NULL, pcb_tool_text_notify_mode, Index: trunk/src/tool_thermal.c =================================================================== --- trunk/src/tool_thermal.c (revision 24964) +++ trunk/src/tool_thermal.c (revision 24965) @@ -101,8 +101,40 @@ } } +/* XPM */ +static const char *thrm_icon[] = { +/* columns rows colors chars-per-pixel */ +"21 21 4 1", +" c black", +". c #69E1B0", +"X c gray100", +"o c None", +/* pixels */ +"ooooooooooooooooooooo", +"oooo ooooooooo oooooo", +"ooooo ooooooo ooooooo", +"oooooo o...o oooooooo", +"ooooooo ooo ooooooooo", +"oooooo.ooooo.oooooooo", +"oooooo.ooooo.oooooooo", +"oooooo.ooooo.oooooooo", +"ooooooo ooo ooooooooo", +"oooooo o...o oooooooo", +"ooooo ooooooo ooooooo", +"oooo ooooooooo oooooo", +"ooooooooooooooooooooo", +" o oo o oo ooo ", +"oo ooo oo o oo o o ", +"oo ooo oo o oo o o o ", +"oo ooo oo o oo o o ", +"oo ooo o o oo ooo ", +"oo ooo oo o oo o ooo ", +"oo ooo oo o oo o ooo ", +"oo ooo oo o oo o ooo " +}; + pcb_tool_t pcb_tool_thermal = { - "thermal", NULL, 100, NULL, + "thermal", NULL, 100, thrm_icon, NULL, NULL, pcb_tool_thermal_notify_mode, Index: trunk/src/tool_via.c =================================================================== --- trunk/src/tool_via.c (revision 24964) +++ trunk/src/tool_via.c (revision 24965) @@ -101,8 +101,40 @@ } } +/* XPM */ +static const char *via_icon[] = { +/* columns rows colors chars-per-pixel */ +"21 21 4 1", +" c black", +". c #7A8584", +"X c gray100", +"o c None", +/* pixels */ +"ooooooooooooooooooooo", +"ooooooooo...ooooooooo", +"oooooooo.....oooooooo", +"ooooooo..ooo..ooooooo", +"oooooo..ooooo..oooooo", +"oooooo..ooooo..oooooo", +"oooooo..ooooo..oooooo", +"ooooooo..ooo..ooooooo", +"oooooooo.....oooooooo", +"ooooooooo...ooooooooo", +"ooooooooooooooooooooo", +"ooooooooooooooooooooo", +"ooooooooooooooooooooo", +"ooo ooo o ooo ooooo", +"ooo ooo oo ooo o oooo", +"ooo ooo oo oo ooo ooo", +"oooo o ooo oo ooo ooo", +"oooo o ooo oo ooo", +"oooo o ooo oo ooo ooo", +"ooooo ooo o ooo ooo", +"ooooooooooooooooooooo" +}; + pcb_tool_t pcb_tool_via = { - "via", NULL, 100, NULL, + "via", NULL, 100, via_icon, NULL, NULL, pcb_tool_via_notify_mode, Index: trunk/util/devhelpers/chgstat.sh =================================================================== --- trunk/util/devhelpers/chgstat.sh (revision 24964) +++ trunk/util/devhelpers/chgstat.sh (revision 24965) @@ -220,6 +220,7 @@ MASK[18719]++ MASK[19685]++ MASK[19686]++ + MASK[24965]++ } function do_save()