From: <gi...@gp...> - 2011-07-24 18:12:19
|
The branch, master has been updated via 5580b5e80e8a9a9973099a5fa3fe9fc91d25726d (commit) from bf22e47db5134b5f70548a98779e36a530387467 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. ========= Summary ========= src/hid/gtk/gtkhid-main.c | 20 ++++---------------- 1 files changed, 4 insertions(+), 16 deletions(-) ================= Commit Messages ================= commit 5580b5e80e8a9a9973099a5fa3fe9fc91d25726d Author: Peter Clifton <pc...@ca...> Commit: Peter Clifton <pc...@ca...> hid/gtk: Fixup Zoom() and zoom_by() so they don't ignore passed coordinates. The Zoom() action was passing bogus coordinates (in pixels), and zoom_by() was ignoring the passed coordinates and just using the mouse pointer location last recorded in gport->pcb_x and gport->pcb_y. Fix zoom_by() to use the passed coordinates, fix Zoom() to not mangle the passed board coordinates into screen space.. zoom_by() wants board coords. Finally, remove a special case from the Zoom() action where if the passed coordinates were both zero, we would pass the PCB coordinates of the board center. I'm hopeful that things will "just work" without this. :100644 100644 a92937f... c917e43... M src/hid/gtk/gtkhid-main.c ========= Changes ========= commit 5580b5e80e8a9a9973099a5fa3fe9fc91d25726d Author: Peter Clifton <pc...@ca...> Commit: Peter Clifton <pc...@ca...> hid/gtk: Fixup Zoom() and zoom_by() so they don't ignore passed coordinates. The Zoom() action was passing bogus coordinates (in pixels), and zoom_by() was ignoring the passed coordinates and just using the mouse pointer location last recorded in gport->pcb_x and gport->pcb_y. Fix zoom_by() to use the passed coordinates, fix Zoom() to not mangle the passed board coordinates into screen space.. zoom_by() wants board coords. Finally, remove a special case from the Zoom() action where if the passed coordinates were both zero, we would pass the PCB coordinates of the board center. I'm hopeful that things will "just work" without this. diff --git a/src/hid/gtk/gtkhid-main.c b/src/hid/gtk/gtkhid-main.c index a92937f..c917e43 100644 --- a/src/hid/gtk/gtkhid-main.c +++ b/src/hid/gtk/gtkhid-main.c @@ -134,18 +134,6 @@ Zoom (int argc, char **argv, int x, int y) if (argc > 1) AFAIL (zoom); - if (x == 0 && y == 0) - { - x = gport->view_width / 2; - y = gport->view_height / 2; - } - else - { - /* Px converts view->pcb, Vx converts pcb->view */ - x = Vx (x); - y = Vy (y); - } - if (argc < 1) { zoom_fit (); @@ -204,15 +192,15 @@ zoom_to (double new_zoom, int x, int y) if (gport->zoom == new_zoom) return; - xtmp = (SIDE_X (gport->pcb_x) - gport->view_x0) / (double)gport->view_width; - ytmp = (SIDE_Y (gport->pcb_y) - gport->view_y0) / (double)gport->view_height; + xtmp = (SIDE_X (x) - gport->view_x0) / (double)gport->view_width; + ytmp = (SIDE_Y (y) - gport->view_y0) / (double)gport->view_height; gport->zoom = new_zoom; pixel_slop = new_zoom; ghid_port_ranges_scale (FALSE); - gport->view_x0 = MAX (0, SIDE_X (gport->pcb_x) - xtmp * gport->view_width); - gport->view_y0 = MAX (0, SIDE_Y (gport->pcb_y) - ytmp * gport->view_height); + gport->view_x0 = MAX (0, SIDE_X (x) - xtmp * gport->view_width); + gport->view_y0 = MAX (0, SIDE_Y (y) - ytmp * gport->view_height); ghidgui->adjustment_changed_holdoff = TRUE; gtk_range_set_value (GTK_RANGE (ghidgui->h_range), gport->view_x0); |