/*
 * file:     proto.h
 * author:   Wes Barris
 * date:     10/15/93
 * purpose:  prototype declarations for desi
 *
 * copyright info:
 *
 *    @Copyright, Research Equipment Inc., d/b/a Minnesota Supercomputer
 *    Center, Inc., 1993.
 *
 */
Widget		BBoardInit(Widget, Widget);
Widget		ImageInit(Widget);
Widget		MenuBarInit(Widget);
Widget		PlotInit(Widget, Widget);
Widget		InfoInit(Widget, Widget);
void		InitIcon(void);

void		DrawPlotCB(Widget, XtPointer, char*);
void		InitPlotCB(Widget, XtPointer, char*);
void		ShowImageCB(Widget, XtPointer, char*);
void		unmanageCB(Widget, XtPointer, char*);
void		BusyCursorCB(Widget, XtPointer, char*);
void		UnBusyCursorCB(Widget, XtPointer, char*);

void		FileMenuInit(Widget);
void		PlotMenuInit(Widget);
void		ImageMenuInit(Widget);
void		PrefMenuInit(Widget);

void		InitIcon(void);
static void	PlotYS(void);
static void	PlotRGB(int);
static void	SaveWindow(void);
static void	RestoreWindow(void);
void		PlotLimits(void);
void		ResizeImage(int, int);
void		FillImageBuffs(void);
void		arm(), disarm(), mousemove();
static void	MouseActionCB(Widget, XEvent*, String*, Cardinal*);
void		LabelSetString(char*);
unsigned long	WidgetBackgroundToGlRgb(Widget);

/*
 * Declarations for legal.
 */
int make_legal_yiq_b(unsigned char, unsigned char, unsigned char, unsigned char*, unsigned char*, unsigned char*);
int make_legal_yuv_b(unsigned char, unsigned char, unsigned char, unsigned char*, unsigned char*, unsigned char*);
void rgbtoyiq(int, int, int, double*, double*, double*);
void rgbtoyuv(int, int, int, double*, double*, double*);
void yiqtorgb(double, double, double, int*, int*, int*);
void yuvtorgb(double, double, double, int*, int*, int*);
int make_legal_yiq(double, double, double, double*, double*, double*);
int make_legal_yuv(double, double, double, double*, double*, double*);
