/*  File drawmap-proto.h  */

/* defines prototypes for drawmap functions */

int   handle_event    (struct IntuiMessage *msg);
void  box             (double *latp, double *lamp);
void  box_rim_point   (double lat, double lam, double latprev,
                       double lamprev, double lat1, double lam1,
                       double lat2, double lam2, char add360,
                       char prev_add360, double *latc, double *lamc);
void  disable_menus   (long flags);
int   displayhelp     (void);
void  dohelpitem      (int num);
int   do_text         (long xin, long yin, long color);
void  drawbox         (long x1, long y1, long x2, long y2);
int   draw_line       (long color);
void  enable_menus    (void);
int   floodfill       (long flood_color);
void  fullmap         (long type);
void  fullmap_outline (long type);
int   getbox          (long *x0, long *y0, long *x, long *y);
void  getcoord        (long x, long y, long type, double *lat, double *lam);
void  getcoord_box    (long x, long y, double latin[2], double lamin[2],
                       double *latout, double *lamout);
int   get_min_max     (void);
void  get_user_input  (long type, long xin, long yin, double *d,
                       long *xout, long *yout);
void  globe           (double lat0, double lam0, long type);
int   globe_in_view   (double lat0, double lam0, double lat1, double lam1,
                       double latv, double lamv, double hp);
void  globe_rim_point (double lat, double lam, double latprev,
                       double lamprev, double zp, double zpprev,
                       double c0, double s0, double fac3, long type,
                       char latzero, double *latc, double *lamc,
                       short *h1c, short *h2c);
void  grid            (long type, double lat0, double lam0);
void  grid_globe      (long type, double lat0, double lam0);
void  grid_globe_plot (double lat, double lam, double c0, double s0,
                       double c1, double s1, double c2, double s2,
                       long type, double hp, double scale, double fac3,
                       char *first);
void  grid_polyconic  (long type, double lat0, double lam0);
int   init_helpitems  (void);
void  init_requesters (void);
int   limit_lam       (double *lam, double lat, double lat0, double etap);
int   limit_lat       (double *lat, double lat0, double lam, double etap);
void  loadmappic      (void);
void  mollweide_angle (double *psi, double lat);
int   printmap        (struct Window *win);
int   readmap         (void);
void  rotate_coords   (double *clat, double *slat, double *clam,
                       double *slam, double *latout, double *lamout);
void  savemappic      (void);
int   save_to_disk    (void);
void  set_rotation_matrices (double latg, double lamg);
void  shadow          (void);
void  showmappic      (void);
void  stars           (void);

int      ExtendedColorRequester (struct ExtendedColorRequester *ECR);
int      FileRequester        (struct ReqFileRequester *filereq);
void     LinkGadget           (struct GadgetBlock *buf, char *s,
                               struct NewWindow *nw, long x, long y);
IFFP     LoadIFFToWindow      (char *filename, ILBMFrame *IlbmFrame);
void     PurgeFiles           (struct ReqFileRequester *filereq);
IFFP     SaveWindowToIFF      (char *pathname, struct Window *w);
int      TextRequest          (struct TRStructure *trs);
