1
#include <grass/imagery.h>
7
static int where_12(View *, int, int);
8
static int where_21(View *, int, int);
9
static int where_am_i(View *, int, int, Window *, double *, double *,
13
int where(int x, int y)
15
if (VIEW_MAP1->cell.configured && In_view(VIEW_MAP1, x, y))
16
where_12(VIEW_MAP1, x, y);
17
else if (VIEW_MAP1_ZOOM->cell.configured && In_view(VIEW_MAP1_ZOOM, x, y))
18
where_12(VIEW_MAP1_ZOOM, x, y);
20
else if (VIEW_MAP2->cell.configured && In_view (VIEW_MAP2, x, y))
21
where_21 (VIEW_MAP2, x, y);
22
else if (VIEW_MAP2_ZOOM->cell.configured && In_view (VIEW_MAP2_ZOOM, x, y))
23
where_21 (VIEW_MAP2_ZOOM, x, y);
25
return 0; /* return but don't quit */
28
static int where_12(View * view, int x, int y)
30
where_am_i(view, x, y, MENU_WINDOW, group.E12, group.N12, INFO_WINDOW);
35
static int where_21(View * view, int x, int y)
37
where_am_i(view, x, y, INFO_WINDOW, group.E21, group.N21, MENU_WINDOW);
42
static int where_am_i(View * view, int x, int y, Window * w1, double *E,
43
double *N, Window * w2)
45
double e1, n1, e2, n2;
48
/* convert x,y to east,north at center of cell */
49
col = view_to_col(view, x);
50
e1 = col_to_easting(&view->cell.head, col, 0.5);
51
row = view_to_row(view, y);
52
n1 = row_to_northing(&view->cell.head, row, 0.5);
54
Curses_clear_window(w1);
55
sprintf(buf, "East: %10.2f", e1);
56
Curses_write_window(w1, 3, 3, buf);
57
sprintf(buf, "North: %10.2f", n1);
58
Curses_write_window(w1, 4, 3, buf);
60
/* if transformation equation is useable, determine point via equation */
61
if (group.ref_equation_stat <= 0)
64
I_georef(e1, n1, &e2, &n2, E, N);
65
Curses_clear_window(w2);
66
sprintf(buf, "East: %10.2f", e2);
67
Curses_write_window(w2, 3, 3, buf);
68
sprintf(buf, "North: %10.2f", n2);
69
Curses_write_window(w2, 4, 3, buf);