/* main.c */
int GafilMain(int ac,char *av[]);
int GafilMainExg(int ac,char *av[]);

/* tiffbuf.c */
int LoadTiffBuf(int *id,char *fn);
int SaveTiffBuf(char *fn,int pix,int cmp);

/* window.c */
void GenerateWindow();
void PixOpenWindow(int pixId);
void PixAwakenWindow(int pixId);
void PixCloseWindow(int pixId);
void PixRepaintWindow(int pixId);
void PixSetDragRectFunc(void (*func)(int,int,int,int));
void PixSetDragLineFunc(void (*func)(int,int,int,int));
void PixSetDragPointFunc(void (*func)(int,int),void (*offFunc)(void));
void PixSetPickPointFunc(void (*func)(int,int));
void PixSetDragPolygonFunc(void (*func)(int,int *));
void PixSetDragSlideRectFunc(void (*func)(int,int,int,int),int wid,int hei);
void PixResetFunc();

/* histgram.c */
int HistOpenWindow();
int HistCloseWindow();
int HistSetValue(int val[256]);
void HistSetDragFunc(void (*func)(int,int));
void HistResetDragFunc();

/* spectle.c */
int SpectleOpenWindow(int w,double *v);
int SpectleCloseWindow();
int SpectleSetValue(int x,int y,double v);
void SpectleSetFunc(void (*func)(int,int *));
void SpectleResetFunc();


/* mainlib.c */
int FileSelect(char *fn,char *tit,char *ext,char *def);
void StopSubDialogues();
void StartSubDialogues();
void PrintSystemMessage(const char *fom, ...);


/* maskwin.c */
void GenerateMaskWindow();
void MaskOpenWindow();
void MaskCloseWindow();
void MaskRepaintWindow();


/* zoom.c */
int ZoomGetSize(int *x,int *y,int *ovSampSw);
int ZoomCopy(int *newId,int newWid,int newHei,int ovSampSw);

/* tile.c */
int TileGetSize(int *x,int *y,int *centerSw,int *spaceNum);
int TileCopy(int *newId,int newWid,int newHei,int centerSw,int spaceNum);


/* rotate.c */
int RotGetMatrix(int *deg,int *mir);
int RotSetCenter(int orgX,int orgY,int dstX,int dstY);
int RotTrans(int *x,int *y,int deg,int mir);
int RotUntrans(int *x,int *y,int deg,int mir);
int RotCopy(int *newId,int deg,int mir);

/* pdfile.c */
void pdFileInitialize(char *prgname);

/* polygon.c */
int PlgStartPolygon(int n,int *p);
int PlgEndPolygon();
int PlgCheckInside(int x,int y);

/* windraw.c */
int WinDrawInitialize();
int WinDrawClear();

/* inpcolor.c */
int ColInput(int basobj,int *grn,int *red,int *blu,int dg,int dr,int db);
