#ifndef drwFn28_H
 #define  drwFn28_H

#include "DRW/drwwh.h"

#ifndef drwAscrfnh_H
 #include "DRW/drwAscrfnh.h"
#endif

#if defined NAMESPACE_DRWIMPC
  namespace DrWimpC {
#endif

#if defined NAMESPACE_OSLIB
  using namespace OSLib;
#endif

typedef void (*drw_autofn_set_auto_scroll_fn)(wimp_w whan,
                                              drw_ascr_data *wascr,
                                              int ascrreason,
                                              void *userdata);

typedef void (*drw_autofn_set_auto_scroll_ufn)(wimp_w whan,
                                               drw_ascr_data *wascr,
                                               int ascrreason);

typedef void (*drw_autofn_adjust_wascr_distances_fn)(wimp_w whan,
                                                     wimp_w overwindow,
                                                     drw_ascr_data *wascr,
                                                     os_coord *mousepos,
                                                     int *directionx,
                                                     int *directiony,
                                                     int *distancex,
                                                     int *distancey,
                                                     void *userdata);

typedef void (*drw_autofn_adjust_wascr_distances_ufn)(wimp_w whan,
                                                      wimp_w overwindow,
                                                      drw_ascr_data *wascr,
                                                      os_coord *mousepos,
                                                      int *directionx,
                                                      int *directiony,
                                                      int *distancex,
                                                      int *distancey);

typedef int (*drw_autofn_scroll_obscured_fn)(wimp_w scrollwin,
                                             wimp_w obscuredby,
                                             void *userdata);

typedef int (*drw_autofn_scroll_obscured_ufn)(wimp_w scrollwin,
                                              wimp_w obscuredby);

typedef int (*drw_autofn_set_autoscroll_ptr_fn)(wimp_w whan,
                                                wimp_w overwindow,
                                                int scrollxy,
                                                int scrollx,
                                                int scrolly,
                                                void *userdata);

typedef int (*drw_autofn_set_autoscroll_ptr_ufn)(wimp_w whan,
                                                 wimp_w overwindow,
                                                 int scrollxy,
                                                 int scrollx,
                                                 int scrolly);


typedef struct drw_autofn_ascr_data      drw_autofn_ascr_data;


struct drw_autofn_ascr_data {

drw_ascr_data *wascr;
int ascrreason;
wimp_w overwindow;
int setptrxy;
int setptrx;
int setptry;
os_coord *mousepos;
int *directionx;
int *directiony;
int *distancex;
int *distancey;

};


#if defined NAMESPACE_DRWIMPC
  }
#endif

#ifndef drwFn00_H
 #include "DRW/drwFn00h.h"
#endif

#include "DRW/drwFn28.h"

#endif

