summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--FL/Fl_Copy_Surface.H2
-rw-r--r--src/Fl_Copy_Surface.cxx17
-rw-r--r--src/drivers/GDI/Fl_GDI_Copy_Surface.H1
-rw-r--r--src/drivers/GDI/Fl_GDI_Copy_Surface.cxx4
-rw-r--r--src/drivers/Quartz/Fl_Quartz_Copy_Surface.H1
-rw-r--r--src/drivers/Quartz/Fl_Quartz_Copy_Surface.cxx4
-rw-r--r--src/drivers/Xlib/Fl_Xlib_Copy_Surface.H1
-rw-r--r--src/drivers/Xlib/Fl_Xlib_Copy_Surface.cxx4
8 files changed, 19 insertions, 15 deletions
diff --git a/FL/Fl_Copy_Surface.H b/FL/Fl_Copy_Surface.H
index 5bf679789..57630b126 100644
--- a/FL/Fl_Copy_Surface.H
+++ b/FL/Fl_Copy_Surface.H
@@ -63,6 +63,8 @@ public:
/** Returns the pixel height of the copy surface */
int h();
void origin(int *x, int *y);
+ void origin(int x, int y);
+ int printable_rect(int *w, int *h);
};
#endif // Fl_Copy_Surface_H
diff --git a/src/Fl_Copy_Surface.cxx b/src/Fl_Copy_Surface.cxx
index c3f2886bc..7b7b0fc8b 100644
--- a/src/Fl_Copy_Surface.cxx
+++ b/src/Fl_Copy_Surface.cxx
@@ -28,18 +28,19 @@
#elif defined(FL_PORTING) && !defined(FL_DOXYGEN)
# pragma message "FL_PORTING: implement class Fl_Copy_Surface::Helper for your platform"
-class Fl_Copy_Surface::Helper : public Fl_Widget_Surface { // model
+class Fl_Copy_Surface::Helper : public Fl_Widget_Surface { // class model
friend class Fl_Copy_Surface;
private:
int width;
int height;
- Helper(int w, int h) : Fl_Widget_Surface(NULL) {}
- ~Helper() {}
- void set_current(){}
- void translate(int x, int y) {}
- void untranslate() {}
+ Helper(int w, int h) : Fl_Widget_Surface(NULL), width(w), height(h) {} // to implement
+ ~Helper() {} // to implement
+ void set_current(){} // to implement
+ void translate(int x, int y) {} // to implement
+ void untranslate() {} // to implement
int w() {return width;}
int h() {return height;}
+ int printable_rect(int *w, int *h) {*w = width; *h = height; return 0;}
};
#else
@@ -59,6 +60,8 @@ Fl_Copy_Surface::Fl_Copy_Surface(int w, int h) : Fl_Widget_Surface(NULL) {
Fl_Copy_Surface::~Fl_Copy_Surface() { delete platform_surface; }
+void Fl_Copy_Surface::origin(int x, int y) {platform_surface->origin(x, y);}
+
void Fl_Copy_Surface::origin(int *x, int *y) {platform_surface->origin(x, y);}
void Fl_Copy_Surface::set_current() {platform_surface->set_current();}
@@ -71,6 +74,8 @@ int Fl_Copy_Surface::w() {return platform_surface->w();}
int Fl_Copy_Surface::h() {return platform_surface->h();}
+int Fl_Copy_Surface::printable_rect(int *w, int *h) {return platform_surface->printable_rect(w, h);}
+
//
// End of "$Id$".
//
diff --git a/src/drivers/GDI/Fl_GDI_Copy_Surface.H b/src/drivers/GDI/Fl_GDI_Copy_Surface.H
index 739bb4962..18b4f00f4 100644
--- a/src/drivers/GDI/Fl_GDI_Copy_Surface.H
+++ b/src/drivers/GDI/Fl_GDI_Copy_Surface.H
@@ -37,6 +37,7 @@ private:
void untranslate();
int w() {return width;}
int h() {return height;}
+ int printable_rect(int *w, int *h) {*w = width; *h = height; return 0;}
};
#endif /* Fl_GDI_Copy_Surface_h */
diff --git a/src/drivers/GDI/Fl_GDI_Copy_Surface.cxx b/src/drivers/GDI/Fl_GDI_Copy_Surface.cxx
index bb05377ff..77203da73 100644
--- a/src/drivers/GDI/Fl_GDI_Copy_Surface.cxx
+++ b/src/drivers/GDI/Fl_GDI_Copy_Surface.cxx
@@ -18,9 +18,7 @@
#include "Fl_GDI_Copy_Surface.H"
-Fl_Copy_Surface::Helper::Helper(int w, int h) : Fl_Widget_Surface(NULL) {
- width = w;
- height = h;
+Fl_Copy_Surface::Helper::Helper(int w, int h) : Fl_Widget_Surface(NULL), width(w), height(h) {
driver(new Fl_Translated_GDI_Graphics_Driver);
oldgc = (HDC)Fl_Surface_Device::surface()->driver()->gc();
// exact computation of factor from screen units to EnhMetaFile units (0.01 mm)
diff --git a/src/drivers/Quartz/Fl_Quartz_Copy_Surface.H b/src/drivers/Quartz/Fl_Quartz_Copy_Surface.H
index 3d7f4c6cf..45c3d4b41 100644
--- a/src/drivers/Quartz/Fl_Quartz_Copy_Surface.H
+++ b/src/drivers/Quartz/Fl_Quartz_Copy_Surface.H
@@ -40,6 +40,7 @@ private:
void untranslate();
int w() {return width;}
int h() {return height;}
+ int printable_rect(int *w, int *h) {*w = width; *h = height; return 0;}
};
#endif // FL_QUARTZ_COPY_SURFACE_H
diff --git a/src/drivers/Quartz/Fl_Quartz_Copy_Surface.cxx b/src/drivers/Quartz/Fl_Quartz_Copy_Surface.cxx
index 1606e7b2a..04b2c6def 100644
--- a/src/drivers/Quartz/Fl_Quartz_Copy_Surface.cxx
+++ b/src/drivers/Quartz/Fl_Quartz_Copy_Surface.cxx
@@ -23,9 +23,7 @@
#include "Fl_Quartz_Graphics_Driver.H"
#endif
-Fl_Copy_Surface::Helper::Helper(int w, int h) : Fl_Widget_Surface(NULL) {
- width = w;
- height = h;
+Fl_Copy_Surface::Helper::Helper(int w, int h) : Fl_Widget_Surface(NULL), width(w), height(h) {
driver(new Fl_Quartz_Graphics_Driver);
prepare_copy_pdf_and_tiff(w, h);
}
diff --git a/src/drivers/Xlib/Fl_Xlib_Copy_Surface.H b/src/drivers/Xlib/Fl_Xlib_Copy_Surface.H
index 8d0bae211..fc76c4508 100644
--- a/src/drivers/Xlib/Fl_Xlib_Copy_Surface.H
+++ b/src/drivers/Xlib/Fl_Xlib_Copy_Surface.H
@@ -39,6 +39,7 @@ private:
void untranslate();
int w() {return width;}
int h() {return height;}
+ int printable_rect(int *w, int *h) {*w = width; *h = height; return 0;}
};
#endif /* Fl_Xlib_Copy_Surface_h */
diff --git a/src/drivers/Xlib/Fl_Xlib_Copy_Surface.cxx b/src/drivers/Xlib/Fl_Xlib_Copy_Surface.cxx
index 4d9baea83..862a9939c 100644
--- a/src/drivers/Xlib/Fl_Xlib_Copy_Surface.cxx
+++ b/src/drivers/Xlib/Fl_Xlib_Copy_Surface.cxx
@@ -20,9 +20,7 @@
#include <FL/Fl.H>
#include <FL/fl_draw.H>
-Fl_Copy_Surface::Helper::Helper(int w, int h) : Fl_Widget_Surface(NULL) {
- width = w;
- height = h;
+Fl_Copy_Surface::Helper::Helper(int w, int h) : Fl_Widget_Surface(NULL), width(w), height(h) {
driver(new Fl_Translated_Xlib_Graphics_Driver());
Fl::first_window()->make_current();
oldwindow = fl_xid(Fl::first_window());