/* drwUSelnfn */


#if defined NAMESPACE_DRWIMPC
  namespace DrWimpC {
#endif


#if defined NAMESPACE_OSLIB
  using namespace OSLib;
#endif


#ifdef __cplusplus 
extern "C" {
#endif

extern int drw_u_has_selection(wimp_w whan,
                               wimp_i icon,
                               wimp_mouse_state buttons,
                               drw_wcaretseln *cseln,
                               int mousex,
                               int mousey,
                               int x,
                               int y);
extern int drw_u_replace_selection(wimp_w whan,
                                   wimp_i icon,
                                   wimp_key_no wkey,
                                   drw_wcaretseln *seln);
extern int drw_u_in_selection(wimp_w whan,
                              wimp_i icon,
                              wimp_mouse_state buttons,
                              drw_wcaretseln *cseln,
                              os_coord *scrpos,
                              os_coord *workpos,
                              int x,
                              int y);
extern int drw_u_gain_focus(wimp_w whan,
                            wimp_i icon,
                            wimp_mouse_state buttons,
                            drw_wcaretseln *cseln,
                            int mousex,
                            int mousey,
                            int x,
                            int y);
extern void drw_u_remove_caret(drw_wcaretseln *seln);
extern void drw_u_clear_selection(drw_wcaretseln *cseln);
extern int drw_u_start_seln_drag(wimp_w whan,
                                 wimp_i icon,
                                 wimp_mouse_state buttontype,
                                 drw_wcaretseln *cseln,
                                 os_coord *pos,
                                 os_coord *workpos,
                                 os_box *bbox,
                                 os_box *initial,
                                 os_t *dragdelay,
                                 wimp_dragging_flags *draggingflags,
                                 bits *filetypes);
extern int drw_u_start_rband_drag(wimp_w whan,
                                  wimp_i icon,
                                  wimp_mouse_state buttontype,
                                  drw_wcaretseln *cseln,
                                  os_coord *pos,
                                  os_coord *workpos,
                                  os_box *bbox,
                                  os_box *initial);
extern int drw_u_start_point_drag(wimp_w whan,
                                  wimp_i icon,
                                  wimp_mouse_state buttontype,
                                  drw_wcaretseln *cseln,
                                  os_coord *pos,
                                  os_coord *workpos,
                                  os_box *bbox,
                                  os_box *initial);
extern int drw_u_claim_drag(wimp_w w,
                            wimp_i i,
                            int x,
                            int y,
                            wimp_drag_claim_flags claimflags,
                            os_box *box,
                            bits *sender_file_types,
                            int *autoscroll,
                            int *delete_source,
                            bits *receiver_file_types);
extern int drw_u_draw_ptr_ghost_caret(wimp_caret *ghostcaret,
                                      wimp_w w,
                                      wimp_i i,
                                      int x,
                                      int y,
                                      os_box *box,
                                      int drawcaret,
                                      int *suppress_drag_box);
extern void drw_u_endrbanddrag(wimp_w w,
                               wimp_i i,
                               wimp_mouse_state wDragbutton,
                               int wStartx,
                               int wStarty,
                               os_box *finalbox,
                               wimp_w overwindow,
                               wimp_i overicon,
                               int atx,
                               int aty,
                               drw_wcaretseln *cseln);
extern void drw_u_endpointdrag(wimp_w w,
                               wimp_i i,
                               wimp_mouse_state wDragbutton,
                               int wStartx,
                               int wStarty,
                               os_box *finalbox,
                               wimp_w overwindow,
                               wimp_i overicon,
                               int atx,
                               int aty,
                               drw_wcaretseln *cseln);
extern int drw_u_get_next_seln_object(drw_wcaretseln *cseln,
                                      wimp_t dragclaimant,
                                      wimp_w destwhan,
                                      wimp_i destic,
                                      int destx,
                                      int desty,
                                      wimp_dragging_flags draggingflags,
                                      char *filename,
                                      bits *this_file_type,
                                      int *thisestsize,
                                      int objectno);
extern void drw_u_delete_seln_source(drw_wcaretseln *cseln,
                                     int objectno);
extern void drw_u_setinsertpoint(wimp_caret *ghostcaret,
                                 wimp_w destwhan,
                                 wimp_i destic,
                                 int destx,
                                 int desty,
                                 drw_wcaretseln *cseln);

#ifdef __cplusplus
}
#endif

#if defined NAMESPACE_DRWIMPC
  }
#endif

