summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorManolo Gouy <Manolo>2018-05-25 06:54:03 +0000
committerManolo Gouy <Manolo>2018-05-25 06:54:03 +0000
commit8ef4035b6da95acecbda10b7a9f7d3f93d2389b7 (patch)
tree61e0500a103f6be13a3238ece564fc459da21c7b
parentbbd551469150593d05ae7c671b2e3366bcd303d2 (diff)
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
-rw-r--r--FL/Fl_Paged_Device.H2
-rw-r--r--FL/Fl_Printer.H4
-rw-r--r--src/Fl_Printer.cxx5
-rw-r--r--src/drivers/Cocoa/Fl_Cocoa_Printer_Driver.mm5
-rw-r--r--src/drivers/Posix/Fl_Posix_Printer_Driver.cxx2
-rw-r--r--src/drivers/WinAPI/Fl_WinAPI_Printer_Driver.cxx5
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 <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();
}
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 <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();
}