#ifndef _Requests_h
#define _Requests_h
typedef int (*DrawOnePointProc)(Widget, Position, Position, int);
typedef int (*DrawTwoPointProc)(Widget, Position, Position,
Position, Position, int);
typedef int (*InterfaceProc)(Widget);
typedef struct {
Boolean success;
Position at_x, at_y;
Position from_x, from_y,
to_x, to_y;
XtPointer draw;
int value;
Time btime;
int state;
} BWStatus;
extern void OnePointEngage ( Widget w, BWStatus *status, XtPointer draw, int *state );
extern void OnePointTerminate ( Widget w, BWStatus *status, XtPointer draw );
extern void OnePointTerminateTransparent ( Widget w, BWStatus *status, XtPointer draw );
extern void DragOnePointEngage ( Widget w, BWStatus *status, XtPointer draw, int *state );
extern void DragOnePointTerminate ( Widget w, BWStatus *status, XtPointer client_data );
extern void TwoPointsEngage ( Widget w, BWStatus *status, XtPointer draw, int *state );
extern void TwoPointsTerminate ( Widget w, BWStatus *status, XtPointer draw );
extern void TwoPointsTerminateTransparent ( Widget w, BWStatus *status, XtPointer draw );
extern void TwoPointsTerminateTimed ( Widget w, BWStatus *status, XtPointer draw );
extern void DragTwoPointsEngage ( Widget w, BWStatus *status, XtPointer draw, int *state );
extern void DragTwoPointsTerminate ( Widget w, BWStatus *status, XtPointer draw );
extern void Interface ( Widget w, BWStatus *status, XtPointer action );
extern void Paste ( Widget w, Position at_x, Position at_y, int value );
extern void BWDragMarked(Widget w, Position at_x, Position at_y);
extern void BWDragStored(Widget w, Position at_x, Position at_y);
extern void BWCopy(Widget w, Position at_x, Position at_y, int value);
extern void BWMove(Widget w, Position at_x, Position at_y, int value);
extern void BWRestore(Widget w, Position at_x, Position at_y, int value);
extern void BWDrawPoint(Widget w, Position x, Position y, bit value);
extern void BWBlindLine(Widget w, Position from_x, Position from_y,
Position to_x, Position to_y, int value);
extern void BWDrawHotSpot(Widget w, Position x, Position y, int value);
extern void BWZoomIn(Widget w, Position from_x, Position from_y,
Position to_x, Position to_y);
extern void OnePointHandler(Widget w, XtPointer client_data,
XEvent *event, Boolean *cont);
extern void TwoPointsHandler(Widget w, XtPointer client_data,
XEvent *event, Boolean *cont);
extern void DragTwoPointsHandler(Widget w, XtPointer client_data,
XEvent *event, Boolean *cont);
#endif