Index: trunk/src/action_helper.c =================================================================== --- trunk/src/action_helper.c (revision 12786) +++ trunk/src/action_helper.c (revision 12787) @@ -140,7 +140,6 @@ /* --------------------------------------------------------------------------- * some local identifiers */ -pcb_action_note_t Note; int defer_updates = 0; int defer_needs_update = 0; Index: trunk/src/action_helper.h =================================================================== --- trunk/src/action_helper.h (revision 12786) +++ trunk/src/action_helper.h (revision 12787) @@ -55,18 +55,6 @@ /* Clear warning color from pins/pads */ void pcb_clear_warnings(void); -typedef struct { - pcb_coord_t X, Y; - pcb_cardinal_t Buffer; - pcb_bool Click; - pcb_bool Moving; /* selected type clicked on */ - int Hit; /* move type clicked on */ - void *ptr1; - void *ptr2; - void *ptr3; -} pcb_action_note_t; - -extern pcb_action_note_t Note; extern pcb_bool saved_mode; void pcb_release_mode(void); Index: trunk/src/gui_act.c =================================================================== --- trunk/src/gui_act.c (revision 12786) +++ trunk/src/gui_act.c (revision 12787) @@ -30,6 +30,7 @@ #include "conf_core.h" #include "data.h" #include "action_helper.h" +#include "tool.h" #include "error.h" #include "undo.h" #include "funchash_core.h" @@ -651,8 +652,8 @@ if (function) { /* it is okay to use crosshair directly here, the mode command is called from a click when it needs coords */ - Note.X = pcb_crosshair.X; - Note.Y = pcb_crosshair.Y; + pcb_tool_note.X = pcb_crosshair.X; + pcb_tool_note.Y = pcb_crosshair.Y; pcb_notify_crosshair_change(pcb_false); switch (pcb_funchash_get(function, NULL)) { case F_Arc: @@ -702,7 +703,7 @@ case PCB_MODE_LOCK: pcb_crosshair_set_mode(PCB_MODE_NO); pcb_crosshair_set_mode(PCB_MODE_ARROW); - Note.Hit = Note.Click = 0; /* if the mouse button is still pressed, don't start selecting a box */ + pcb_tool_note.Hit = pcb_tool_note.Click = 0; /* if the mouse button is still pressed, don't start selecting a box */ break; case PCB_MODE_LINE: @@ -859,7 +860,7 @@ if (pcb_search_obj_by_id(PCB->Data, &ptr1, &ptr2, &ptr3, pcb_crosshair.drags[pcb_crosshair.drags_current], PCB_TYPE_LINE) != PCB_TYPE_NONE) { /* line has two endpoints, check which one is close to the original x;y */ pcb_line_t *l = ptr2; - if (close_enough(Note.X, l->Point1.X) && close_enough(Note.Y, l->Point1.Y)) { + if (close_enough(pcb_tool_note.X, l->Point1.X) && close_enough(pcb_tool_note.Y, l->Point1.Y)) { pcb_crosshair.AttachedObject.Type = PCB_TYPE_LINE_POINT; pcb_crosshair.AttachedObject.Ptr1 = ptr1; pcb_crosshair.AttachedObject.Ptr2 = ptr2; @@ -866,7 +867,7 @@ pcb_crosshair.AttachedObject.Ptr3 = &l->Point1; goto switched; } - if (close_enough(Note.X, l->Point2.X) && close_enough(Note.Y, l->Point2.Y)) { + if (close_enough(pcb_tool_note.X, l->Point2.X) && close_enough(pcb_tool_note.Y, l->Point2.Y)) { pcb_crosshair.AttachedObject.Type = PCB_TYPE_LINE_POINT; pcb_crosshair.AttachedObject.Ptr1 = ptr1; pcb_crosshair.AttachedObject.Ptr2 = ptr2; @@ -877,7 +878,7 @@ else if (pcb_search_obj_by_id(PCB->Data, &ptr1, &ptr2, &ptr3, pcb_crosshair.drags[pcb_crosshair.drags_current], PCB_TYPE_ARC_POINT) != PCB_TYPE_NONE) { pcb_coord_t ex, ey; pcb_arc_get_end((pcb_arc_t *)ptr2, 0, &ex, &ey); - if (close_enough(Note.X, ex) && close_enough(Note.Y, ey)) { + if (close_enough(pcb_tool_note.X, ex) && close_enough(pcb_tool_note.Y, ey)) { pcb_crosshair.AttachedObject.Type = PCB_TYPE_ARC_POINT; pcb_crosshair.AttachedObject.Ptr1 = ptr1; pcb_crosshair.AttachedObject.Ptr2 = ptr2; @@ -885,7 +886,7 @@ goto switched; } pcb_arc_get_end((pcb_arc_t *)ptr2, 1, &ex, &ey); - if (close_enough(Note.X, ex) && close_enough(Note.Y, ey)) { + if (close_enough(pcb_tool_note.X, ex) && close_enough(pcb_tool_note.Y, ey)) { pcb_crosshair.AttachedObject.Type = PCB_TYPE_ARC_POINT; pcb_crosshair.AttachedObject.Ptr1 = ptr1; pcb_crosshair.AttachedObject.Ptr2 = ptr2; Index: trunk/src/object_act.c =================================================================== --- trunk/src/object_act.c (revision 12786) +++ trunk/src/object_act.c (revision 12787) @@ -30,6 +30,7 @@ #include "data.h" #include "board.h" #include "action_helper.h" +#include "tool.h" #include "change.h" #include "error.h" #include "undo.h" @@ -900,7 +901,7 @@ pcb_coord_t gx, gy; pcb_gui->get_coords("Click on an element", &gx, &gy); if (pcb_search_screen(gx, gy, PCB_TYPE_ELEMENT, &ptr1, &ptr2, &ptr3) != PCB_TYPE_NONE) { - Note.Buffer = conf_core.editor.buffer_number; + pcb_tool_note.Buffer = conf_core.editor.buffer_number; pcb_buffer_set_number(PCB_MAX_BUFFER - 1); pcb_buffer_clear(PCB, PCB_PASTEBUFFER); pcb_copy_obj_to_buffer(PCB, PCB_PASTEBUFFER->Data, PCB->Data, PCB_TYPE_ELEMENT, ptr1, ptr2, ptr3); @@ -912,7 +913,7 @@ pcb_undo_move_obj_to_remove(PCB_TYPE_ELEMENT, ptr1, ptr2, ptr3); pcb_undo_restore_serial(); pcb_buffer_copy_to_layout(PCB, 0, 0); - pcb_buffer_set_number(Note.Buffer); + pcb_buffer_set_number(pcb_tool_note.Buffer); pcb_board_set_changed_flag(pcb_true); } } Index: trunk/src/remove_act.c =================================================================== --- trunk/src/remove_act.c (revision 12786) +++ trunk/src/remove_act.c (revision 12787) @@ -28,6 +28,7 @@ #include "config.h" #include "data.h" #include "action_helper.h" +#include "tool.h" #include "remove.h" #include "board.h" #include "funchash_core.h" @@ -54,7 +55,7 @@ switch (id) { case F_Object: - pcb_gui->get_coords("Click on object to delete", &Note.X, &Note.Y); + pcb_gui->get_coords("Click on object to delete", &pcb_tool_note.X, &pcb_tool_note.Y); pcb_crosshair_save_mode(); pcb_crosshair_set_mode(PCB_MODE_REMOVE); pcb_notify_mode(); Index: trunk/src/select_act.c =================================================================== --- trunk/src/select_act.c (revision 12786) +++ trunk/src/select_act.c (revision 12787) @@ -219,7 +219,7 @@ case F_Convert: { pcb_coord_t x, y; - Note.Buffer = conf_core.editor.buffer_number; + pcb_tool_note.Buffer = conf_core.editor.buffer_number; pcb_buffer_set_number(PCB_MAX_BUFFER - 1); pcb_buffer_clear(PCB, PCB_PASTEBUFFER); pcb_gui->get_coords(_("Select the Element's Mark Location"), &x, &y); @@ -231,7 +231,7 @@ pcb_element_convert_from_buffer(PCB_PASTEBUFFER); pcb_undo_restore_serial(); pcb_buffer_copy_to_layout(PCB, x, y); - pcb_buffer_set_number(Note.Buffer); + pcb_buffer_set_number(pcb_tool_note.Buffer); } break; @@ -238,7 +238,7 @@ case F_ConvertSubc: { pcb_coord_t x, y; - Note.Buffer = conf_core.editor.buffer_number; + pcb_tool_note.Buffer = conf_core.editor.buffer_number; pcb_buffer_set_number(PCB_MAX_BUFFER - 1); pcb_buffer_clear(PCB, PCB_PASTEBUFFER); pcb_gui->get_coords(_("Select the Subcircuit's Origin (mark) Location"), &x, &y); @@ -250,7 +250,7 @@ pcb_subc_convert_from_buffer(PCB_PASTEBUFFER); pcb_undo_restore_serial(); pcb_buffer_copy_to_layout(PCB, x, y); - pcb_buffer_set_number(Note.Buffer); + pcb_buffer_set_number(pcb_tool_note.Buffer); } break; Index: trunk/src/tool.c =================================================================== --- trunk/src/tool.c (revision 12786) +++ trunk/src/tool.c (revision 12787) @@ -166,6 +166,8 @@ /**** tool helper functions ****/ +pcb_tool_note_t pcb_tool_note; + static void get_grid_lock_coordinates(int type, void *ptr1, void *ptr2, void *ptr3, pcb_coord_t * x, pcb_coord_t * y) { switch (type) { Index: trunk/src/tool.h =================================================================== --- trunk/src/tool.h (revision 12786) +++ trunk/src/tool.h (revision 12787) @@ -25,6 +25,7 @@ #include +#include "global_typedefs.h" #include "pcb_bool.h" typedef int pcb_toolid_t; @@ -78,6 +79,19 @@ /**** tool helper functions ****/ +typedef struct { + pcb_coord_t X, Y; + pcb_cardinal_t Buffer; /* buffer number */ + pcb_bool Click; /* true if clicked somewhere with the arrow tool */ + pcb_bool Moving; /* true if clicked on an object of PCB_SELECT_TYPES */ + int Hit; /* type of a hit object of PCB_MOVE_TYPES; 0 if there was no PCB_MOVE_TYPES object under the crosshair */ + void *ptr1; + void *ptr2; + void *ptr3; +} pcb_tool_note_t; + +extern pcb_tool_note_t pcb_tool_note; + void pcb_tool_attach_for_copy(pcb_coord_t PlaceX, pcb_coord_t PlaceY, pcb_bool do_rubberband); void pcb_tool_notify_block(void); /* create first or second corner of a marked block (when clicked) */ Index: trunk/src/tool_arc.c =================================================================== --- trunk/src/tool_arc.c (revision 12786) +++ trunk/src/tool_arc.c (revision 12787) @@ -45,8 +45,8 @@ { switch (pcb_crosshair.AttachedBox.State) { case PCB_CH_STATE_FIRST: - pcb_crosshair.AttachedBox.Point1.X = pcb_crosshair.AttachedBox.Point2.X = Note.X; - pcb_crosshair.AttachedBox.Point1.Y = pcb_crosshair.AttachedBox.Point2.Y = Note.Y; + pcb_crosshair.AttachedBox.Point1.X = pcb_crosshair.AttachedBox.Point2.X = pcb_tool_note.X; + pcb_crosshair.AttachedBox.Point1.Y = pcb_crosshair.AttachedBox.Point2.Y = pcb_tool_note.Y; pcb_crosshair.AttachedBox.State = PCB_CH_STATE_SECOND; break; @@ -57,8 +57,8 @@ pcb_coord_t wx, wy; pcb_angle_t sa, dir; - wx = Note.X - pcb_crosshair.AttachedBox.Point1.X; - wy = Note.Y - pcb_crosshair.AttachedBox.Point1.Y; + wx = pcb_tool_note.X - pcb_crosshair.AttachedBox.Point1.X; + wy = pcb_tool_note.Y - pcb_crosshair.AttachedBox.Point1.Y; if (PCB_XOR(pcb_crosshair.AttachedBox.otherway, coord_abs(wy) > coord_abs(wx))) { pcb_crosshair.AttachedBox.Point2.X = pcb_crosshair.AttachedBox.Point1.X + coord_abs(wy) * PCB_SGNZ(wx); sa = (wx >= 0) ? 0 : 180; Index: trunk/src/tool_arrow.c =================================================================== --- trunk/src/tool_arrow.c (revision 12786) +++ trunk/src/tool_arrow.c (revision 12787) @@ -47,14 +47,14 @@ at the initial click event) */ static void click_timer_cb(pcb_hidval_t hv) { - if (Note.Click) { + if (pcb_tool_note.Click) { pcb_notify_crosshair_change(pcb_false); - Note.Click = pcb_false; - if (Note.Moving && !pcb_gui->shift_is_pressed()) { - Note.Buffer = conf_core.editor.buffer_number; + pcb_tool_note.Click = pcb_false; + if (pcb_tool_note.Moving && !pcb_gui->shift_is_pressed()) { + pcb_tool_note.Buffer = conf_core.editor.buffer_number; pcb_buffer_set_number(PCB_MAX_BUFFER - 1); pcb_buffer_clear(PCB, PCB_PASTEBUFFER); - pcb_buffer_add_selected(PCB, PCB_PASTEBUFFER, Note.X, Note.Y, pcb_true); + pcb_buffer_add_selected(PCB, PCB_PASTEBUFFER, pcb_tool_note.X, pcb_tool_note.Y, pcb_true); pcb_undo_save_serial(); pcb_remove_selected(); pcb_crosshair_save_mode(); @@ -61,36 +61,36 @@ saved_mode = pcb_true; pcb_crosshair_set_mode(PCB_MODE_PASTE_BUFFER); } - else if (Note.Hit && !pcb_gui->shift_is_pressed()) { + else if (pcb_tool_note.Hit && !pcb_gui->shift_is_pressed()) { pcb_box_t box; pcb_crosshair_save_mode(); saved_mode = pcb_true; pcb_crosshair_set_mode(pcb_gui->control_is_pressed()? PCB_MODE_COPY : PCB_MODE_MOVE); - pcb_crosshair.AttachedObject.Ptr1 = Note.ptr1; - pcb_crosshair.AttachedObject.Ptr2 = Note.ptr2; - pcb_crosshair.AttachedObject.Ptr3 = Note.ptr3; - pcb_crosshair.AttachedObject.Type = Note.Hit; + pcb_crosshair.AttachedObject.Ptr1 = pcb_tool_note.ptr1; + pcb_crosshair.AttachedObject.Ptr2 = pcb_tool_note.ptr2; + pcb_crosshair.AttachedObject.Ptr3 = pcb_tool_note.ptr3; + pcb_crosshair.AttachedObject.Type = pcb_tool_note.Hit; if (pcb_crosshair.drags != NULL) { free(pcb_crosshair.drags); pcb_crosshair.drags = NULL; } - pcb_crosshair.dragx = Note.X; - pcb_crosshair.dragy = Note.Y; - box.X1 = Note.X + PCB_SLOP * pcb_pixel_slop; - box.X2 = Note.X - PCB_SLOP * pcb_pixel_slop; - box.Y1 = Note.Y + PCB_SLOP * pcb_pixel_slop; - box.Y2 = Note.Y - PCB_SLOP * pcb_pixel_slop; + pcb_crosshair.dragx = pcb_tool_note.X; + pcb_crosshair.dragy = pcb_tool_note.Y; + box.X1 = pcb_tool_note.X + PCB_SLOP * pcb_pixel_slop; + box.X2 = pcb_tool_note.X - PCB_SLOP * pcb_pixel_slop; + box.Y1 = pcb_tool_note.Y + PCB_SLOP * pcb_pixel_slop; + box.Y2 = pcb_tool_note.Y - PCB_SLOP * pcb_pixel_slop; pcb_crosshair.drags = pcb_list_block(PCB, &box, &pcb_crosshair.drags_len); pcb_crosshair.drags_current = 0; - pcb_tool_attach_for_copy(Note.X, Note.Y, pcb_true); + pcb_tool_attach_for_copy(pcb_tool_note.X, pcb_tool_note.Y, pcb_true); } else { pcb_box_t box; - Note.Hit = 0; - Note.Moving = pcb_false; + pcb_tool_note.Hit = 0; + pcb_tool_note.Moving = pcb_false; pcb_undo_save_serial(); box.X1 = -PCB_MAX_COORD; box.Y1 = -PCB_MAX_COORD; @@ -100,8 +100,8 @@ if (!pcb_gui->shift_is_pressed() && pcb_select_block(PCB, &box, pcb_false)) pcb_board_set_changed_flag(pcb_true); pcb_tool_notify_block(); - pcb_crosshair.AttachedBox.Point1.X = Note.X; - pcb_crosshair.AttachedBox.Point1.Y = Note.Y; + pcb_crosshair.AttachedBox.Point1.X = pcb_tool_note.X; + pcb_crosshair.AttachedBox.Point1.Y = pcb_tool_note.Y; } pcb_notify_crosshair_change(pcb_true); } @@ -114,25 +114,25 @@ int test; pcb_hidval_t hv; - Note.Click = pcb_true; + pcb_tool_note.Click = pcb_true; /* do something after click time */ pcb_gui->add_timer(click_timer_cb, conf_core.editor.click_time, hv); /* see if we clicked on something already selected - * (Note.Moving) or clicked on a MOVE_TYPE - * (Note.Hit) + * (pcb_tool_note.Moving) or clicked on a MOVE_TYPE + * (pcb_tool_note.Hit) */ for (test = (PCB_SELECT_TYPES | PCB_MOVE_TYPES) & ~PCB_TYPE_RATLINE; test; test &= ~type) { - type = pcb_search_screen(Note.X, Note.Y, test, &ptr1, &ptr2, &ptr3); - if (!Note.Hit && (type & PCB_MOVE_TYPES) && !PCB_FLAG_TEST(PCB_FLAG_LOCK, (pcb_pin_t *) ptr2)) { - Note.Hit = type; - Note.ptr1 = ptr1; - Note.ptr2 = ptr2; - Note.ptr3 = ptr3; + type = pcb_search_screen(pcb_tool_note.X, pcb_tool_note.Y, test, &ptr1, &ptr2, &ptr3); + if (!pcb_tool_note.Hit && (type & PCB_MOVE_TYPES) && !PCB_FLAG_TEST(PCB_FLAG_LOCK, (pcb_pin_t *) ptr2)) { + pcb_tool_note.Hit = type; + pcb_tool_note.ptr1 = ptr1; + pcb_tool_note.ptr2 = ptr2; + pcb_tool_note.ptr3 = ptr3; } - if (!Note.Moving && (type & PCB_SELECT_TYPES) && PCB_FLAG_TEST(PCB_FLAG_SELECTED, (pcb_pin_t *) ptr2)) - Note.Moving = pcb_true; - if ((Note.Hit && Note.Moving) || type == PCB_TYPE_NONE) + if (!pcb_tool_note.Moving && (type & PCB_SELECT_TYPES) && PCB_FLAG_TEST(PCB_FLAG_SELECTED, (pcb_pin_t *) ptr2)) + pcb_tool_note.Moving = pcb_true; + if ((pcb_tool_note.Hit && pcb_tool_note.Moving) || type == PCB_TYPE_NONE) return; } } @@ -141,7 +141,7 @@ { pcb_box_t box; - if (Note.Click) { + if (pcb_tool_note.Click) { pcb_box_t box; box.X1 = -PCB_MAX_COORD; @@ -149,15 +149,15 @@ box.X2 = PCB_MAX_COORD; box.Y2 = PCB_MAX_COORD; - Note.Click = pcb_false; /* inhibit timer action */ + pcb_tool_note.Click = pcb_false; /* inhibit timer action */ pcb_undo_save_serial(); /* unselect first if shift key not down */ if (!pcb_gui->shift_is_pressed()) { if (pcb_select_block(PCB, &box, pcb_false)) pcb_board_set_changed_flag(pcb_true); - if (Note.Moving) { - Note.Moving = 0; - Note.Hit = 0; + if (pcb_tool_note.Moving) { + pcb_tool_note.Moving = 0; + pcb_tool_note.Hit = 0; return; } } @@ -168,8 +168,8 @@ pcb_board_set_changed_flag(pcb_true); else pcb_undo_inc_serial(); /* We didn't select anything new, so, the deselection should get its own SN. */ - Note.Hit = 0; - Note.Moving = 0; + pcb_tool_note.Hit = 0; + pcb_tool_note.Moving = 0; } else { box.X1 = pcb_crosshair.AttachedBox.Point1.X; Index: trunk/src/tool_buffer.c =================================================================== --- trunk/src/tool_buffer.c (revision 12786) +++ trunk/src/tool_buffer.c (revision 12787) @@ -50,7 +50,7 @@ pcb_element_t *e = 0; if (pcb_gui->shift_is_pressed()) { - int type = pcb_search_screen(Note.X, Note.Y, PCB_TYPE_ELEMENT | PCB_TYPE_SUBC, &ptr1, &ptr2, + int type = pcb_search_screen(pcb_tool_note.X, pcb_tool_note.Y, PCB_TYPE_ELEMENT | PCB_TYPE_SUBC, &ptr1, &ptr2, &ptr3); if (type == PCB_TYPE_ELEMENT) { e = (pcb_element_t *) ptr1; @@ -64,10 +64,10 @@ } } } - if (pcb_buffer_copy_to_layout(PCB, Note.X, Note.Y)) + if (pcb_buffer_copy_to_layout(PCB, pcb_tool_note.X, pcb_tool_note.Y)) pcb_board_set_changed_flag(pcb_true); if (e) { - int type = pcb_search_screen(Note.X, Note.Y, PCB_TYPE_ELEMENT | PCB_TYPE_SUBC, &ptr1, &ptr2, + int type = pcb_search_screen(pcb_tool_note.X, pcb_tool_note.Y, PCB_TYPE_ELEMENT | PCB_TYPE_SUBC, &ptr1, &ptr2, &ptr3); if (type == PCB_TYPE_ELEMENT && ptr1) { int i, save_n; @@ -92,13 +92,13 @@ void pcb_tool_buffer_release_mode(void) { - if (Note.Moving) { + if (pcb_tool_note.Moving) { pcb_undo_restore_serial(); pcb_tool_buffer_notify_mode(); pcb_buffer_clear(PCB, PCB_PASTEBUFFER); - pcb_buffer_set_number(Note.Buffer); - Note.Moving = pcb_false; - Note.Hit = 0; + pcb_buffer_set_number(pcb_tool_note.Buffer); + pcb_tool_note.Moving = pcb_false; + pcb_tool_note.Hit = 0; } } Index: trunk/src/tool_copy.c =================================================================== --- trunk/src/tool_copy.c (revision 12786) +++ trunk/src/tool_copy.c (revision 12787) @@ -45,10 +45,10 @@ int types = PCB_COPY_TYPES; pcb_crosshair.AttachedObject.Type = - pcb_search_screen(Note.X, Note.Y, types, + pcb_search_screen(pcb_tool_note.X, pcb_tool_note.Y, types, &pcb_crosshair.AttachedObject.Ptr1, &pcb_crosshair.AttachedObject.Ptr2, &pcb_crosshair.AttachedObject.Ptr3); if (pcb_crosshair.AttachedObject.Type != PCB_TYPE_NONE) { - pcb_tool_attach_for_copy(Note.X, Note.Y, pcb_false); + pcb_tool_attach_for_copy(pcb_tool_note.X, pcb_tool_note.Y, pcb_false); } break; } @@ -58,7 +58,7 @@ pcb_copy_obj(pcb_crosshair.AttachedObject.Type, pcb_crosshair.AttachedObject.Ptr1, pcb_crosshair.AttachedObject.Ptr2, - pcb_crosshair.AttachedObject.Ptr3, Note.X - pcb_crosshair.AttachedObject.X, Note.Y - pcb_crosshair.AttachedObject.Y); + pcb_crosshair.AttachedObject.Ptr3, pcb_tool_note.X - pcb_crosshair.AttachedObject.X, pcb_tool_note.Y - pcb_crosshair.AttachedObject.Y); pcb_board_set_changed_flag(pcb_true); /* reset identifiers */ @@ -70,9 +70,9 @@ void pcb_tool_copy_release_mode (void) { - if (Note.Hit) { + if (pcb_tool_note.Hit) { pcb_tool_copy_notify_mode(); - Note.Hit = 0; + pcb_tool_note.Hit = 0; } } Index: trunk/src/tool_insert.c =================================================================== --- trunk/src/tool_insert.c (revision 12786) +++ trunk/src/tool_insert.c (revision 12787) @@ -53,7 +53,7 @@ /* first notify, lookup object */ case PCB_CH_STATE_FIRST: pcb_crosshair.AttachedObject.Type = - pcb_search_screen(Note.X, Note.Y, PCB_INSERT_TYPES, + pcb_search_screen(pcb_tool_note.X, pcb_tool_note.Y, PCB_INSERT_TYPES, &pcb_crosshair.AttachedObject.Ptr1, &pcb_crosshair.AttachedObject.Ptr2, &pcb_crosshair.AttachedObject.Ptr3); if (pcb_crosshair.AttachedObject.Type != PCB_TYPE_NONE) { @@ -67,7 +67,7 @@ /* get starting point of nearest segment */ if (pcb_crosshair.AttachedObject.Type == PCB_TYPE_POLY) { fake.poly = (pcb_poly_t *) pcb_crosshair.AttachedObject.Ptr2; - polyIndex = pcb_poly_get_lowest_distance_point(fake.poly, Note.X, Note.Y); + polyIndex = pcb_poly_get_lowest_distance_point(fake.poly, pcb_tool_note.X, pcb_tool_note.Y); fake.line.Point1 = fake.poly->Points[polyIndex]; fake.line.Point2 = fake.poly->Points[pcb_poly_contour_prev_point(fake.poly, polyIndex)]; pcb_crosshair.AttachedObject.Ptr2 = &fake.line; Index: trunk/src/tool_line.c =================================================================== --- trunk/src/tool_line.c (revision 12786) +++ trunk/src/tool_line.c (revision 12787) @@ -199,12 +199,12 @@ pcb_crosshair.AttachedLine.Point2.X && pcb_crosshair.AttachedLine.Point1.Y == pcb_crosshair.AttachedLine.Point2.Y - && (pcb_crosshair.AttachedLine.Point2.X != Note.X || pcb_crosshair.AttachedLine.Point2.Y != Note.Y)) { + && (pcb_crosshair.AttachedLine.Point2.X != pcb_tool_note.X || pcb_crosshair.AttachedLine.Point2.Y != pcb_tool_note.Y)) { /* We will only need to paint the second line segment. Since we only check for vias on the first segment, swap them so the non-empty segment is the first segment. */ - pcb_crosshair.AttachedLine.Point2.X = Note.X; - pcb_crosshair.AttachedLine.Point2.Y = Note.Y; + pcb_crosshair.AttachedLine.Point2.X = pcb_tool_note.X; + pcb_crosshair.AttachedLine.Point2.Y = pcb_tool_note.Y; } if (conf_core.editor.auto_drc @@ -258,12 +258,12 @@ pcb_undo_inc_serial(); last_layer = CURRENT; } - if (conf_core.editor.line_refraction && (Note.X != pcb_crosshair.AttachedLine.Point2.X || Note.Y != pcb_crosshair.AttachedLine.Point2.Y) + if (conf_core.editor.line_refraction && (pcb_tool_note.X != pcb_crosshair.AttachedLine.Point2.X || pcb_tool_note.Y != pcb_crosshair.AttachedLine.Point2.Y) && (line = pcb_line_new_merge(CURRENT, pcb_crosshair.AttachedLine.Point2.X, pcb_crosshair.AttachedLine.Point2.Y, - Note.X, Note.Y, + pcb_tool_note.X, pcb_tool_note.Y, conf_core.design.line_thickness, 2 * conf_core.design.clearance, pcb_flag_make((conf_core.editor.auto_drc ? PCB_FLAG_FOUND : 0) | @@ -274,10 +274,10 @@ pcb_undo_inc_serial(); pcb_line_invalidate_draw(CURRENT, line); /* move to new start point */ - pcb_crosshair.AttachedLine.Point1.X = Note.X; - pcb_crosshair.AttachedLine.Point1.Y = Note.Y; - pcb_crosshair.AttachedLine.Point2.X = Note.X; - pcb_crosshair.AttachedLine.Point2.Y = Note.Y; + pcb_crosshair.AttachedLine.Point1.X = pcb_tool_note.X; + pcb_crosshair.AttachedLine.Point1.Y = pcb_tool_note.Y; + pcb_crosshair.AttachedLine.Point2.X = pcb_tool_note.X; + pcb_crosshair.AttachedLine.Point2.Y = pcb_tool_note.Y; if (conf_core.editor.swap_start_direction) { @@ -286,8 +286,8 @@ } if (conf_core.editor.orthogonal_moves) { /* set the mark to the new starting point so ortho works as expected and we can draw a perpendicular line from here */ - pcb_marked.X = Note.X; - pcb_marked.Y = Note.Y; + pcb_marked.X = pcb_tool_note.X; + pcb_marked.Y = pcb_tool_note.Y; } pcb_draw(); } Index: trunk/src/tool_lock.c =================================================================== --- trunk/src/tool_lock.c (revision 12786) +++ trunk/src/tool_lock.c (revision 12787) @@ -46,7 +46,7 @@ void *ptr1, *ptr2, *ptr3; int type; - type = pcb_search_screen(Note.X, Note.Y, PCB_TYPEMASK_LOCK, &ptr1, &ptr2, &ptr3); + type = pcb_search_screen(pcb_tool_note.X, pcb_tool_note.Y, PCB_TYPEMASK_LOCK, &ptr1, &ptr2, &ptr3); if (type == PCB_TYPE_ELEMENT) { pcb_element_t *element = (pcb_element_t *) ptr2; Index: trunk/src/tool_move.c =================================================================== --- trunk/src/tool_move.c (revision 12786) +++ trunk/src/tool_move.c (revision 12787) @@ -46,7 +46,7 @@ int types = PCB_MOVE_TYPES; pcb_crosshair.AttachedObject.Type = - pcb_search_screen(Note.X, Note.Y, types, + pcb_search_screen(pcb_tool_note.X, pcb_tool_note.Y, types, &pcb_crosshair.AttachedObject.Ptr1, &pcb_crosshair.AttachedObject.Ptr2, &pcb_crosshair.AttachedObject.Ptr3); if (pcb_crosshair.AttachedObject.Type != PCB_TYPE_NONE) { if (PCB_FLAG_TEST(PCB_FLAG_LOCK, (pcb_pin_t *) pcb_crosshair.AttachedObject.Ptr2)) { @@ -54,7 +54,7 @@ pcb_crosshair.AttachedObject.Type = PCB_TYPE_NONE; } else - pcb_tool_attach_for_copy(Note.X, Note.Y, pcb_true); + pcb_tool_attach_for_copy(pcb_tool_note.X, pcb_tool_note.Y, pcb_true); } break; } @@ -65,7 +65,7 @@ pcb_crosshair.AttachedObject.Ptr1, pcb_crosshair.AttachedObject.Ptr2, pcb_crosshair.AttachedObject.Ptr3, - Note.X - pcb_crosshair.AttachedObject.X, Note.Y - pcb_crosshair.AttachedObject.Y); + pcb_tool_note.X - pcb_crosshair.AttachedObject.X, pcb_tool_note.Y - pcb_crosshair.AttachedObject.Y); pcb_crosshair_set_local_ref(0, 0, pcb_false); pcb_board_set_changed_flag(pcb_true); @@ -78,9 +78,9 @@ void pcb_tool_move_release_mode (void) { - if (Note.Hit) { + if (pcb_tool_note.Hit) { pcb_tool_move_notify_mode(); - Note.Hit = 0; + pcb_tool_note.Hit = 0; } } Index: trunk/src/tool_poly.c =================================================================== --- trunk/src/tool_poly.c (revision 12786) +++ trunk/src/tool_poly.c (revision 12787) @@ -73,8 +73,8 @@ if (conf_core.editor.orthogonal_moves) { /* set the mark to the new starting point so ortho works */ - pcb_marked.X = Note.X; - pcb_marked.Y = Note.Y; + pcb_marked.X = pcb_tool_note.X; + pcb_marked.Y = pcb_tool_note.Y; } } Index: trunk/src/tool_polyhole.c =================================================================== --- trunk/src/tool_polyhole.c (revision 12786) +++ trunk/src/tool_polyhole.c (revision 12787) @@ -44,7 +44,7 @@ /* first notify, lookup object */ case PCB_CH_STATE_FIRST: pcb_crosshair.AttachedObject.Type = - pcb_search_screen(Note.X, Note.Y, PCB_TYPE_POLY, + pcb_search_screen(pcb_tool_note.X, pcb_tool_note.Y, PCB_TYPE_POLY, &pcb_crosshair.AttachedObject.Ptr1, &pcb_crosshair.AttachedObject.Ptr2, &pcb_crosshair.AttachedObject.Ptr3); if (pcb_crosshair.AttachedObject.Type == PCB_TYPE_NONE) { @@ -77,8 +77,8 @@ if (conf_core.editor.orthogonal_moves) { /* set the mark to the new starting point so ortho works */ - pcb_marked.X = Note.X; - pcb_marked.Y = Note.Y; + pcb_marked.X = pcb_tool_note.X; + pcb_marked.Y = pcb_tool_note.Y; } /* check if this is the last point of a polygon */ Index: trunk/src/tool_remove.c =================================================================== --- trunk/src/tool_remove.c (revision 12786) +++ trunk/src/tool_remove.c (revision 12787) @@ -44,7 +44,7 @@ void *ptr1, *ptr2, *ptr3; int type; - if ((type = pcb_search_screen(Note.X, Note.Y, PCB_REMOVE_TYPES, &ptr1, &ptr2, &ptr3)) != PCB_TYPE_NONE) { + if ((type = pcb_search_screen(pcb_tool_note.X, pcb_tool_note.Y, PCB_REMOVE_TYPES, &ptr1, &ptr2, &ptr3)) != PCB_TYPE_NONE) { if (PCB_FLAG_TEST(PCB_FLAG_LOCK, (pcb_line_t *) ptr2)) { pcb_message(PCB_MSG_WARNING, _("Sorry, the object is locked\n")); return; Index: trunk/src/tool_rotate.c =================================================================== --- trunk/src/tool_rotate.c (revision 12786) +++ trunk/src/tool_rotate.c (revision 12787) @@ -37,7 +37,7 @@ void pcb_tool_rotate_notify_mode(void) { - pcb_screen_obj_rotate90(Note.X, Note.Y, pcb_gui->shift_is_pressed()? (PCB_SWAP_IDENT ? 1 : 3) + pcb_screen_obj_rotate90(pcb_tool_note.X, pcb_tool_note.Y, pcb_gui->shift_is_pressed()? (PCB_SWAP_IDENT ? 1 : 3) : (PCB_SWAP_IDENT ? 3 : 1)); } Index: trunk/src/tool_text.c =================================================================== --- trunk/src/tool_text.c (revision 12786) +++ trunk/src/tool_text.c (revision 12787) @@ -52,8 +52,8 @@ if (pcb_layer_flags(PCB, INDEXOFCURRENT) & PCB_LYT_BOTTOM) flag |= PCB_FLAG_ONSOLDER; - if ((text = pcb_text_new(CURRENT, pcb_font(PCB, conf_core.design.text_font_id, 1), Note.X, - Note.Y, 0, conf_core.design.text_scale, string, pcb_flag_make(flag))) != NULL) { + if ((text = pcb_text_new(CURRENT, pcb_font(PCB, conf_core.design.text_font_id, 1), pcb_tool_note.X, + pcb_tool_note.Y, 0, conf_core.design.text_scale, string, pcb_flag_make(flag))) != NULL) { pcb_undo_add_obj_to_create(PCB_TYPE_TEXT, CURRENT, text, text); pcb_undo_inc_serial(); pcb_text_invalidate_draw(CURRENT, text); Index: trunk/src/tool_thermal.c =================================================================== --- trunk/src/tool_thermal.c (revision 12786) +++ trunk/src/tool_thermal.c (revision 12787) @@ -103,7 +103,7 @@ void *ptr1, *ptr2, *ptr3; int type; - if (((type = pcb_search_screen(Note.X, Note.Y, PCB_TYPEMASK_PIN, &ptr1, &ptr2, &ptr3)) != PCB_TYPE_NONE) + if (((type = pcb_search_screen(pcb_tool_note.X, pcb_tool_note.Y, PCB_TYPEMASK_PIN, &ptr1, &ptr2, &ptr3)) != PCB_TYPE_NONE) && !PCB_FLAG_TEST(PCB_FLAG_HOLE, (pcb_pin_t *) ptr3)) { if (type == PCB_TYPE_PSTK) pcb_tool_thermal_on_pstk((pcb_pstk_t *)ptr2, INDEXOFCURRENT); Index: trunk/src/tool_via.c =================================================================== --- trunk/src/tool_via.c (revision 12786) +++ trunk/src/tool_via.c (revision 12787) @@ -55,7 +55,7 @@ } if (pcb_brave & PCB_BRAVE_PSTK_VIA) { - pcb_pstk_t *ps = pcb_pstk_new_compat_via(PCB->Data, Note.X, Note.Y, + pcb_pstk_t *ps = pcb_pstk_new_compat_via(PCB->Data, pcb_tool_note.X, pcb_tool_note.Y, conf_core.design.via_drilling_hole, conf_core.design.via_thickness, conf_core.design.clearance, 0, PCB_PSTK_COMPAT_ROUND, pcb_true); if (ps == NULL) @@ -73,7 +73,7 @@ } else { pcb_pin_t *via; - if ((via = pcb_via_new(PCB->Data, Note.X, Note.Y, + if ((via = pcb_via_new(PCB->Data, pcb_tool_note.X, pcb_tool_note.Y, conf_core.design.via_thickness, 2 * conf_core.design.clearance, 0, conf_core.design.via_drilling_hole, NULL, pcb_no_flags())) != NULL) { pcb_obj_add_attribs(via, PCB->pen_attr);