Replace Fl_Paged_Device::newPrinterDriver() by Fl_Printer::newPrinterDriver().

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12937 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
Manolo Gouy 2018-05-25 06:54:03 +00:00
parent bbd5514691
commit 8ef4035b6d
6 changed files with 14 additions and 9 deletions

View File

@ -39,8 +39,6 @@ class FL_EXPORT Fl_Paged_Device : public Fl_Widget_Surface {
protected:
/** \brief The constructor */
Fl_Paged_Device() : Fl_Widget_Surface(NULL) {};
/** A platform should implement this function to support printing via the Fl_Printer class. */
static Fl_Paged_Device* newPrinterDriver(void);
public:
/**
\brief Possible page formats.

View File

@ -87,6 +87,8 @@
class FL_EXPORT Fl_Printer : public Fl_Paged_Device {
private:
Fl_Paged_Device *printer;
/** Each platform implements this function its own way */
static Fl_Paged_Device* newPrinterDriver(void);
public:
/** The constructor */
Fl_Printer(void);
@ -104,7 +106,7 @@ public:
void end_job (void);
void draw_decorated_window(Fl_Window *win, int x_offset, int y_offset);
void set_current(void);
/** \name These attributes are useful for the Linux/Unix platform only.
\{
*/

View File

@ -31,6 +31,9 @@
Fl_Printer::Fl_Printer(void) {
printer = NULL;
}
Fl_Paged_Device* Fl_Printer::newPrinterDriver(void) {
return NULL;
}
int Fl_Printer::begin_job(int pagecount, int *frompage, int *topage) {return 1;}
int Fl_Printer::begin_page(void) {return 1;}
int Fl_Printer::printable_rect(int *w, int *h) {return 1;}
@ -130,7 +133,7 @@ const char *Fl_Printer::property_cancel = "Cancel";
Fl_Printer::Fl_Printer(void) {
printer = Fl_Paged_Device::newPrinterDriver();
printer = Fl_Printer::newPrinterDriver();
driver(printer->driver());
}

View File

@ -17,6 +17,7 @@
//
#include <FL/Fl_Paged_Device.H>
#include <FL/Fl_Printer.H>
#include <FL/Fl_Window_Driver.H>
#include <FL/Fl_Screen_Driver.H>
#include "../Quartz/Fl_Quartz_Graphics_Driver.H"
@ -47,7 +48,7 @@ typedef OSStatus
/** Support for printing on the Apple OS X platform */
class Fl_Cocoa_Printer_Driver : public Fl_Paged_Device {
friend class Fl_Paged_Device;
friend class Fl_Printer;
private:
float scale_x;
float scale_y;
@ -81,7 +82,7 @@ Fl_Cocoa_Printer_Driver::Fl_Cocoa_Printer_Driver(void)
driver(new Fl_Quartz_Printer_Graphics_Driver);
}
Fl_Paged_Device* Fl_Paged_Device::newPrinterDriver(void)
Fl_Paged_Device* Fl_Printer::newPrinterDriver(void)
{
return new Fl_Cocoa_Printer_Driver();
}

View File

@ -31,7 +31,7 @@ class Fl_Posix_Printer_Driver : public Fl_PostScript_File_Device {
virtual int begin_job(int pagecount, int *frompage = NULL, int *topage = NULL);
};
Fl_Paged_Device* Fl_Paged_Device::newPrinterDriver(void)
Fl_Paged_Device* Fl_Printer::newPrinterDriver(void)
{
return new Fl_Posix_Printer_Driver();
}

View File

@ -18,6 +18,7 @@
#include "../GDI/Fl_GDI_Graphics_Driver.H"
#include <FL/Fl_Paged_Device.H>
#include <FL/Fl_Printer.H>
#include <FL/fl_ask.H>
#include <FL/math.h>
#include <FL/fl_draw.H>
@ -27,7 +28,7 @@ extern HWND fl_window;
/** Support for printing on the Windows platform */
class Fl_WinAPI_Printer_Driver : public Fl_Paged_Device {
friend class Fl_Paged_Device;
friend class Fl_Printer;
private:
int abortPrint;
PRINTDLG pd;
@ -57,7 +58,7 @@ Fl_WinAPI_Printer_Driver::Fl_WinAPI_Printer_Driver(void) : Fl_Paged_Device() {
driver(new Fl_GDI_Printer_Graphics_Driver);
}
Fl_Paged_Device* Fl_Paged_Device::newPrinterDriver(void)
Fl_Paged_Device* Fl_Printer::newPrinterDriver(void)
{
return new Fl_WinAPI_Printer_Driver();
}