/* DRW Icon Drag Interface fns. */

#ifndef drwIcnDragh_H
 #define drwIcnDragh_H
 
#if defined NAMESPACE_DRWIMPC
  namespace DrWimpC {
#endif

#if defined NAMESPACE_OSLIB
  using namespace OSLib;
#endif

typedef struct   drw_icondragfn_str       drw_icondragfn_str;

typedef void (*drw_wint_starticondrag_fn)(wimp_w whan,
                                          wimp_i icon,
                                          wimp_mouse_state buttontype,
                                          wimp_mouse_state dragbuttontype,
                                          int mousex,
                                          int mousey);
typedef void (*drw_wint_draggingicon_fn)(void);
typedef void (*drw_wint_endicondrag_fn)(wimp_dragged *dragged);
typedef void (*drw_abort_icon_drag_fn)(void);

struct drw_icondragfn_str {

drw_wint_starticondrag_fn        startdrag;
drw_wint_draggingicon_fn         dragging;
drw_wint_endicondrag_fn          enddrag;
drw_abort_icon_drag_fn           abortdrag;

};

#if defined NAMESPACE_DRWIMPC
  }
#endif

#endif
