Introduction of the Fl_Printer class requires all member functions of class

Fl_Paged_Device to be virtual. That is done here.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8342 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
Manolo Gouy 2011-01-31 15:53:23 +00:00
parent 1993f08a33
commit 535f0c2d3b
5 changed files with 32 additions and 11 deletions

View File

@ -123,7 +123,7 @@ protected:
int y_offset;
#ifdef __APPLE__
struct chain_elt *image_list_; // chained list of images used in this page
virtual void add_image(const uchar *data); // adds an image to the page image list
void add_image(const uchar *data); // adds an image to the page image list
void delete_image_list(); // deletes the page image list
#endif
/** \brief The constructor */
@ -137,13 +137,13 @@ public:
virtual int printable_rect(int *w, int *h);
virtual void margins(int *left, int *top, int *right, int *bottom);
virtual void origin(int x, int y);
void origin(int *x, int *y);
virtual void origin(int *x, int *y);
virtual void scale(float scale_x, float scale_y);
virtual void rotate(float angle);
virtual void translate(int x, int y);
virtual void untranslate(void);
void print_widget(Fl_Widget* widget, int delta_x = 0, int delta_y = 0);
void print_window_part(Fl_Window *win, int x, int y, int w, int h, int delta_x = 0, int delta_y = 0);
virtual void print_widget(Fl_Widget* widget, int delta_x = 0, int delta_y = 0);
virtual void print_window_part(Fl_Window *win, int x, int y, int w, int h, int delta_x = 0, int delta_y = 0);
virtual int end_page (void);
virtual void end_job (void);
};

View File

@ -232,6 +232,7 @@ public:
int start_page (void);
int printable_rect(int *w, int *h);
void margins(int *left, int *top, int *right, int *bottom);
void origin(int *x, int *y);
void origin(int x, int y);
void scale (float scale_x, float scale_y);
void rotate(float angle);

View File

@ -83,6 +83,7 @@ public:
int start_page (void);
int printable_rect(int *w, int *h);
void margins(int *left, int *top, int *right, int *bottom);
void origin(int *x, int *y);
void origin(int x, int y);
void scale (float scale_x, float scale_y);
void rotate(float angle);
@ -157,6 +158,7 @@ public:
int start_page(void);
int printable_rect(int *w, int *h);
void margins(int *left, int *top, int *right, int *bottom);
void origin(int *x, int *y);
void origin(int x, int y);
void scale(float scale_x, float scale_y);
void rotate(float angle);
@ -164,9 +166,8 @@ public:
void untranslate(void);
int end_page (void);
void end_job (void);
#ifdef __APPLE__
void add_image(const uchar *data);
#endif
void print_widget(Fl_Widget* widget, int delta_x=0, int delta_y=0);
void print_window_part(Fl_Window *win, int x, int y, int w, int h, int delta_x=0, int delta_y=0);
/** \brief The destructor */
~Fl_Printer(void);

View File

@ -1386,6 +1386,11 @@ int Fl_PostScript_File_Device::printable_rect(int *w, int *h)
return 0;
}
void Fl_PostScript_File_Device::origin(int *x, int *y)
{
Fl_Paged_Device::origin(x, y);
}
void Fl_PostScript_File_Device::origin(int x, int y)
{
x_offset = x;

View File

@ -94,6 +94,12 @@ void Fl_System_Printer::set_current(void)
#endif
this->Fl_Surface_Device::set_current();
}
void Fl_System_Printer::origin(int *x, int *y)
{
Fl_Paged_Device::origin(x, y);
}
#endif
Fl_Printer::Fl_Printer(void) {
@ -125,6 +131,11 @@ void Fl_Printer::margins(int *left, int *top, int *right, int *bottom)
printer->margins(left, top, right, bottom);
}
void Fl_Printer::origin(int *x, int *y)
{
printer->origin(x, y);
}
void Fl_Printer::origin(int x, int y)
{
printer->origin(x, y);
@ -160,12 +171,15 @@ void Fl_Printer::end_job (void)
printer->end_job();
}
#ifdef __APPLE__
void Fl_Printer::add_image(const uchar *data)
void Fl_Printer::print_widget(Fl_Widget* widget, int delta_x, int delta_y)
{
printer->add_image(data);
printer->print_widget(widget, delta_x, delta_y);
}
void Fl_Printer::print_window_part(Fl_Window *win, int x, int y, int w, int h, int delta_x, int delta_y)
{
printer->print_window_part(win, x, y, w, h, delta_x, delta_y);
}
#endif
Fl_Printer::~Fl_Printer(void)
{