/* DRW Open Window Interface fns. */

#ifndef drwOpenfnh_H
 #define drwOpenfnh_H

#if defined NAMESPACE_DRWIMPC
  namespace DrWimpC {
#endif

#if defined NAMESPACE_OSLIB
  using namespace OSLib;
#endif

typedef struct   drw_openwfn_str        drw_openwfn_str;

typedef void (*drw_wimp_cr_mainwindow_fn)(void);
typedef os_error *(*drw_wimp_openwindow_fn)(wimp_w whan,
                                            int centre,
                                            wimp_w stack);
typedef os_error *(*drw_wimp_openwindowatposn_fn)(wimp_w whan,
                          drw_visible_window_posn *posn,
                                                  os_box *at,
                                             wimp_w stack);
typedef int (*drw_wimp_wstack_scan_fn)(wimp_t thistask,
                                       wimp_window_state *wstate,
                                       void *scandata);
typedef int (*drw_wimp_wisopen_fn)(wimp_w whan);

struct drw_openwfn_str {

drw_wimp_cr_mainwindow_fn       crmainwindow;
drw_wimp_openwindow_fn          openwindow;
drw_wimp_openwindowatposn_fn    openwindowatposn;
drw_wimp_wisopen_fn             wisopen; 

};

#if defined NAMESPACE_DRWIMPC
  }
#endif

#endif
