00001
00002
00003
00004
00005 #include <FL/Fl.H>
00006 #include <FL/x.H>
00007 #include <FL/fl_draw.H>
00008
00023 class Fl_Native_Printer {
00024 int y_offset;
00025 int x_offset;
00026 #ifdef __APPLE__
00027 float scale_x;
00028 float scale_y;
00029 PMPrintSession printSession;
00030 PMPageFormat pageFormat;
00031 PMPrintSettings printSettings;
00032 #elif defined(WIN32)
00033 int abortPrint;
00034 PRINTDLG pd;
00035 HDC hPr;
00036 int prerr;
00037 #endif
00038 public:
00042 Fl_Native_Printer(void);
00043
00052 int startjob(int pagecount, int *frompage = NULL, int *topage = NULL);
00053
00061 int startpage (void);
00062
00070 int getprintablerect(int *x, int *y, int *w, int *h);
00071
00075 void setorigin(int x, int y);
00076
00085 void rescale (float scale_x, float scale_y);
00086
00094 void printwidget(Fl_Widget* widget) { widget->damage(FL_DAMAGE_ALL); widget->draw(); };
00095
00101 int endpage (void);
00102
00106 void endjob (void);
00107 };