From 8ef4035b6da95acecbda10b7a9f7d3f93d2389b7 Mon Sep 17 00:00:00 2001 From: Manolo Gouy Date: Fri, 25 May 2018 06:54:03 +0000 Subject: [PATCH] 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 --- FL/Fl_Paged_Device.H | 2 -- FL/Fl_Printer.H | 4 +++- src/Fl_Printer.cxx | 5 ++++- src/drivers/Cocoa/Fl_Cocoa_Printer_Driver.mm | 5 +++-- src/drivers/Posix/Fl_Posix_Printer_Driver.cxx | 2 +- src/drivers/WinAPI/Fl_WinAPI_Printer_Driver.cxx | 5 +++-- 6 files changed, 14 insertions(+), 9 deletions(-) diff --git a/FL/Fl_Paged_Device.H b/FL/Fl_Paged_Device.H index 82de3a60c..6d86e5840 100644 --- a/FL/Fl_Paged_Device.H +++ b/FL/Fl_Paged_Device.H @@ -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. diff --git a/FL/Fl_Printer.H b/FL/Fl_Printer.H index ca35750e9..c5e0cc131 100644 --- a/FL/Fl_Printer.H +++ b/FL/Fl_Printer.H @@ -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. \{ */ diff --git a/src/Fl_Printer.cxx b/src/Fl_Printer.cxx index 9d10a92b5..c9f0d2a2c 100644 --- a/src/Fl_Printer.cxx +++ b/src/Fl_Printer.cxx @@ -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()); } diff --git a/src/drivers/Cocoa/Fl_Cocoa_Printer_Driver.mm b/src/drivers/Cocoa/Fl_Cocoa_Printer_Driver.mm index fbc4584b7..179c304bf 100644 --- a/src/drivers/Cocoa/Fl_Cocoa_Printer_Driver.mm +++ b/src/drivers/Cocoa/Fl_Cocoa_Printer_Driver.mm @@ -17,6 +17,7 @@ // #include +#include #include #include #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(); } diff --git a/src/drivers/Posix/Fl_Posix_Printer_Driver.cxx b/src/drivers/Posix/Fl_Posix_Printer_Driver.cxx index ad8b4fb8d..835529be1 100644 --- a/src/drivers/Posix/Fl_Posix_Printer_Driver.cxx +++ b/src/drivers/Posix/Fl_Posix_Printer_Driver.cxx @@ -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(); } diff --git a/src/drivers/WinAPI/Fl_WinAPI_Printer_Driver.cxx b/src/drivers/WinAPI/Fl_WinAPI_Printer_Driver.cxx index 2568743c6..4366f8827 100644 --- a/src/drivers/WinAPI/Fl_WinAPI_Printer_Driver.cxx +++ b/src/drivers/WinAPI/Fl_WinAPI_Printer_Driver.cxx @@ -18,6 +18,7 @@ #include "../GDI/Fl_GDI_Graphics_Driver.H" #include +#include #include #include #include @@ -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(); }