/* drwPRINT */


#ifdef __cplusplus 
extern "C" {
#endif

extern os_error *drw_get_pdriver_psize(int *xsize,
                                       int *ysize,
                                       int *left,
                                       int *bottom,
                                       int *right,
                                       int *top);
extern os_error *drw_wimp_print(int user,
                                wimp_w whan,
                                int firstpage,
                                int lastpage,
                                int perpage,
                                int copies,
                                int orient);
extern os_error *drw_wimp_print_oject(int user,
                                      wimp_w whan,
                                      int firstpage,
                                      int lastpage,
                                      int perpage,
                                      int copies,
                                      int orient,
                                      wimp_i icon,
                                      int objectid);
extern os_error *drw_wimp_do_print(int user,
                                   wimp_w whan,
                                   int firstpage,
                                   int lastpage,
                                   int perpage,
                                   int copies,
                                   int orient,
                                   wimp_i icon,
                                   int objectid);
extern os_error *drw_osfind_openoutw(osfind_flags flags,
                                     char *file_name,
                                     char *path,
                                     os_fw *file);
extern os_error *drw_osfind_closew(os_fw file);
extern os_error *drw_wimp_selectjob(os_fw jobw,
                                    char *title,
                                    os_fw *old_jobw);
extern os_error *drw_wimp_endjob(os_fw jobw);
extern os_error *drw_wimp_pdriver_info(pdriver_info_type *type,
                                       int *xres,
                                       int *yres,
                                       pdriver_features *features,
                                       char **desc,
                                       int *halftone_xres,
                                       int *halftone_yres,
                                       int *printer);
extern os_error *drw_pdriver_give_rect(int id,
                                       os_box *rect,
                                       os_hom_trfm *trfm,
                                       os_coord *pos,
                                       os_colour bg);
extern os_error *drw_pdriver_get_rect(os_box *rect,
                                      osbool *more,
                                      int *id);
extern int drw_pdriver_draw_page(pdriver_draw_flags copies_and_flags,
                                 os_box *rect,
                                 int page,
                                 char *page_no,
                                 osbool *more,
                                 int *id);
extern os_error *drw_do_print(int user,
                              wimp_w whan,
                              int firstpage,
                              int lastpage,
                              int perpage,
                              int copies,
                              int orient,
                              wimp_i icon,
                              int objectid);
extern osbool drw_wimp_pdriverpresent(void);
extern char *drw_wimp_getpdrivername(void);
extern int drw_wimp_worktopaper(int coord, int side, int orient);
extern int drw_wimp_papertowork(int coord, int side, int orient);
extern int drw_wimp_screentopaper(wimp_w whan, int coord, int side, int orient);
extern int drw_wimp_papertoscreen(wimp_w whan, int coord, int side, int orient);
extern int drw_wimp_getpapersize(int side, int type);
extern void drw_wint_printerror(os_fw job, char *e, int l);
extern os_error *drw_wimp_sendfiletoprinter(char *filepath,
                                            int deletefile);
extern void drw_catch_msg_set_printer(wimp_message *wmsg,
                                      bits msgactioncode,
                                      wimp_event_no reason,
                                      void *actiondata);
extern void drw_setprinter_init(void);

#ifdef __cplusplus
}
#endif

