#include "globals.h"
/* conversion routines to convert from view x,y to cell col,row
 * as well as cell col,row to cell east,north
 */
int 
view_to_col (View *view, int x)
{
    return x - view->cell.left;
}

int 
view_to_row (View *view, int y)
{
    return y - view->cell.top;
}

int 
col_to_view (View *view, int col)
{
    return view->cell.left + col;
}

int 
row_to_view (View *view, int row)
{
    return view->cell.top + row;
}

/* in these next 2 routines, location determines if we are
 * converting from center of the cell (location == .5)
 * top or left edge (location == 0.0)
 * bottom or right edge (location == 1.0)
 */

double 
row_to_northing (struct Cell_head *cellhd, int row, double location)
{
    return cellhd->north - (row + location) * cellhd->ns_res;
}

double 
col_to_easting (struct Cell_head *cellhd, int col, double location)
{
    return cellhd->west + (col + location) * cellhd->ew_res;
}

double 
northing_to_row (struct Cell_head *cellhd, double north)
{
    return  (cellhd->north - north) / cellhd->ns_res;
}

double 
easting_to_col (struct Cell_head *cellhd, double east)
{
    return  (east - cellhd->west) / cellhd->ew_res;
}

