#ifndef _REBOX_H_
#define _REBOX_H_

#include "Mintrins.h"
#include "sysdep.h"

#ifdef __STDC__
typedef NORET (*ReboxCallback)(VOIDP,int,int,int,int);
#else
typedef NORET (*ReboxCallback)();
#endif

#define BOXER_LEFT_CURSOR 144   /*upper left corner */
#define BOXER_RIGHT_CURSOR 78   /*lower right corner */

#ifdef __STDC__
NORET rebox_init(XtAppContext);
NORET rebox_add_client(Widget,ReboxCallback,VOIDP);
NORET rebox_prepare_client(Widget);
NORET rebox_Set_callback_data(Widget,VOIDP);
NORET rebox_Activate(Widget);
NORET rebox_post_realize_client(Widget);
#else
NORET rebox_init();
NORET rebox_add_client();
NORET rebox_prepare_client();
NORET rebox_Set_callback_data();
NORET rebox_Activate();
NORET rebox_post_realize_client();
#endif

/*======================================================================
   The rebox commands work in sequence on a widget.  First, an application
   must call rebox_init with an application context.  Then for each client
   widget an application must call

      rebox_add_client          - to add the client to rebox
      rebox_prepare_client      - to prepare the client for activity
      rebox_post_realize_client - must be called AFTER a client widget has
                                  been realized.
      rebox_Activate            - is called to activate the rebox
                                  functionality for a client
*/				  
#endif
