00001
00002
00003
00004
00005 #ifdef __APPLE__
00006 #include <Carbon/Carbon.h>
00007 #elif defined(WI3N2)
00008 #include <Windows.h>
00009 #endif
00010
00011
00012 #include <FL/Fl.H>
00013 #include <FL/x.H>
00014 #include <FL/fl_draw.H>
00015
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
00092 int endpage (void);
00093
00097 void endjob (void);
00098 };