Author: manolo
Date: 2010-02-27 06:43:35 -0800 (Sat, 27 Feb 2010)
New Revision: 7168
Log:
Better allocation of print-support code among files.
Modified:
branches/branch-1.3-Fl_Printer/FL/Fl_Device.H
branches/branch-1.3-Fl_Printer/FL/Fl_Gl_Printer.H
branches/branch-1.3-Fl_Printer/FL/Fl_Printer.H
branches/branch-1.3-Fl_Printer/makeinclude.in
branches/branch-1.3-Fl_Printer/src/Fl_Device.cxx
branches/branch-1.3-Fl_Printer/src/Fl_GDI_Printer.cxx
branches/branch-1.3-Fl_Printer/src/Fl_Printer.cxx
branches/branch-1.3-Fl_Printer/src/Fl_Quartz_Printer.mm
branches/branch-1.3-Fl_Printer/src/Fl_cocoa.mm
branches/branch-1.3-Fl_Printer/src/Fl_win32.cxx
branches/branch-1.3-Fl_Printer/src/Fl_x.cxx
branches/branch-1.3-Fl_Printer/src/Makefile
branches/branch-1.3-Fl_Printer/src/makedepend
Modified: branches/branch-1.3-Fl_Printer/FL/Fl_Device.H
===================================================================
--- branches/branch-1.3-Fl_Printer/FL/Fl_Device.H 2010-02-27 14:28:22 UTC
(rev 7167)
+++ branches/branch-1.3-Fl_Printer/FL/Fl_Device.H 2010-02-27 14:43:35 UTC
(rev 7168)
@@ -107,500 +107,13 @@
virtual void push_no_clip();
virtual void pop_clip();
-
-
public:
virtual Fl_Device *set_current();
static Fl_Device *current();
};
extern Fl_Device *fl_device;
-class Fl_Display;
-/**
- * @brief Provides an OS-independent interface to printing.
- *
- It allows to use all FLTK drawing, color, text, and clip functions, and to
have them operate
- on printed page(s). There are two main, non exclusive, ways to use it.
- <ul><li>Print any widget (standard, custom, Fl_Window except Fl_Gl_Window) as
it appears
- on screen, with optional translation and scaling. This is done by calling
print_widget()
- or print_window_part().
- <li>Use a series of FLTK graphics commands (e.g., font, text, lines, colors,
clip) to
- compose a page appropriately shaped for printing.
- </ul>
- In both cases, begin by start_job(), start_page(), printable_rect() and
origin() calls
- and finish by end_page() and end_job() calls.
- \see class Fl_Gl_Printer to print Fl_Gl_Window's.
- */
-class Fl_Virtual_Printer : public Fl_Device {
-private:
- struct chain_elt {
- Fl_Image *image;
- const uchar *data;
- struct chain_elt *next;
- };
- Fl_Display *current_display_;
- void add_image(Fl_Image *image, const uchar *data); // adds an image to the
page image list
- void traverse(Fl_Widget *widget); // finds subwindows of widget and prints
them
- /**
- @brief Translates the current graphics origin accounting for the current
rotation.
- *
- This function is only useful after a rotate() call. Each translate() call
must be matched by an untranslate() call.
- */
- virtual void translate(int x, int y);
-
- /**
- @brief Undoes the effect of a previous translate() call.
- */
- virtual void untranslate(void);
-protected:
- int y_offset;
- int x_offset;
- struct chain_elt *image_list_; // chained list of Fl_Image's used in this
page
-
- /**
- @brief The constructor.
- */
- Fl_Virtual_Printer(void) { current_display_ = (Fl_Display*)fl_device;};
- void delete_image_list(); // deletes the page image list
-public:
-
- /**
- @brief Starts a print job.
- *
- @param[in] pagecount the total number of pages of the job
- @param[out] frompage if non-null, *frompage is set to the first page the
user wants printed
- @param[out] topage if non-null, *topage is set to the last page the user
wants printed
- @return 0 iff OK
- */
- virtual int start_job(int pagecount, int *frompage = NULL, int *topage =
NULL);
-
- /**
- @brief Starts a new printed page
- *
- The page coordinates are initially in points, i.e., 1/72 inch,
- and with origin at the top left of the printable page area.
- @return 0 iff OK
- */
- virtual int start_page (void);
-
- /**
- @brief Computes the width and height of the printable area of the page.
- *
- Values are in the same unit as that used by FLTK drawing functions,
- are unchanged by calls to origin(), but are changed by scale() calls.
- Values account for the user-selected paper type and print orientation.
- @return 0 iff OK.
- */
- virtual int printable_rect(int *w, int *h);
-
- /**
- @brief Computes the dimensions of margins that lie between the printable
page area and
- the full page.
- *
- Values are in the same unit as that used by FLTK drawing functions. They
are changed
- by scale() calls.
- @param[out] left If non-null, *left is set to the left margin size.
- @param[out] top If non-null, *top is set to the top margin size.
- @param[out] right If non-null, *right is set to the right margin size.
- @param[out] bottom If non-null, *bottom is set to the bottom margin size.
- */
- virtual void margins(int *left, int *top, int *right, int *bottom);
-
- /**
- @brief Sets the position in page coordinates of the origin of graphics
functions.
- *
- Arguments should be expressed relatively to the result of a previous
printable_rect() call.
- That is, <tt>printable_rect(&w, &h); origin(w/2, 0);</tt> sets the graphics
origin at the
- top center of the page printable area.
- Successive origin() calls don't combine their effects.
- @param[in] x Horizontal position in page coordinates of the desired origin
of graphics functions.
- @param[in] y Same as above, vertically.
- */
- virtual void origin(int x, int y);
-
- /**
- @brief Computes the page coordinates of the current origin of graphics
functions.
- *
- @param[out] x If non-null, *x is set to the horizontal page offset of
graphics origin.
- @param[out] y Same as above, vertically.
- */
- void origin(int *x, int *y);
-
- /**
- @brief Changes the scaling of page coordinates.
- *
- This function also resets the origin of graphics functions at top left of
printable page area.
- After a scale() call, do a printable_rect() call to get the new dimensions
of the printable page area.
- Successive scale() calls don't combine their effects.
- @param scale_x Horizontal dimensions of plot are multiplied by this
quantity.
- @param scale_y Same as above, vertically.
- */
- virtual void scale (float scale_x, float scale_y);
-
- /**
- @brief Rotates the graphics operations relatively to paper.
- *
- The rotation is centered on the current graphics origin. Successive
rotate() calls don't combine their effects.
- On MSWindows, Fl_RGB_Image's don't rotate well; print_window_part() is an
efficient workaround.
- @param angle Rotation angle in counterclockwise degrees.
- */
- virtual void rotate(float angle);
-
- /**
- @brief Draws the widget on the printed page.
- *
- The widget's position on the printed page is determined by the last call to
origin()
- and by the optional delta_x and delta_y arguments.
- Its dimensions are in points unless there was a previous call to scale().
- <br>Under MSWindows, most printers don't allow interaction
- between what is being printed and what was previously printed at the same
position on the page.
- Consequently, Fl_RGB_Image's are printed without transparency, Fl_Pixmap's
are printed
- with black color where a transparent background is expected,
fl_read_image() returns a
- white rectangle. A workaround is to use the print_window_part() call.
- <br>Under Mac OS X, transparent RGB images and pixmaps are correctly
reproduced
- on paper.
- @param[in] widget Any FLTK widget (e.g., standard, custom, window).
- @param[in] delta_x Optional horizontal offset for positioning the widget
relatively
- to the current origin of graphics functions.
- @param[in] delta_y Same as above, vertically.
- */
- void print_widget(Fl_Widget* widget, int delta_x = 0, int delta_y = 0);
-
- /**
- @brief Prints a rectangular part of an on-screen window.
- *
- @param win The window from where to capture.
- @param x The rectangle left
- @param y The rectangle top
- @param w The rectangle width
- @param h The rectangle height
- @param delta_x Optional horizontal offset from current graphics origin
where to print the captured rectangle.
- @param delta_y As above, vertically.
- */
- void print_window_part(Fl_Window *win, int x, int y, int w, int h, int
delta_x = 0, int delta_y = 0);
-
- /**
- @brief To be called at the end of each page.
- *
- @return 0 iff OK.
- */
- virtual int end_page (void);
-
- /**
- @brief To be called at the end of a print job.
- */
- virtual void end_job (void);
-
- /**
- @brief Returns the display device currently in action.
- */
- Fl_Display *current_display() {return current_display_; };
-};
-
-#ifdef __APPLE__
-class Fl_Quartz_Printer : public Fl_Virtual_Printer {
-private:
- float scale_x;
- float scale_y;
- float angle; // rotation angle in radians
- PMPrintSession printSession;
- PMPageFormat pageFormat;
- PMPrintSettings printSettings;
- void translate(int x, int y);
- void untranslate(void);
-public:
- Fl_Quartz_Printer(void) : Fl_Virtual_Printer() {};
- int start_job(int pagecount, int *frompage = NULL, int *topage = NULL);
- 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 scale (float scale_x, float scale_y);
- void rotate(float angle);
- int end_page (void);
- void end_job (void);
-};
-#endif
-
-#ifdef WIN32
-class Fl_GDI_Printer : public Fl_Virtual_Printer {
-private:
- int abortPrint;
- PRINTDLG pd;
- HDC hPr;
- int prerr;
- int left_margin;
- int top_margin;
- void translate(int x, int y);
- void untranslate(void);
- void absolute_printable_rect(int *x, int *y, int *w, int *h);
-public:
- Fl_GDI_Printer(void);
- int start_job(int pagecount, int *frompage = NULL, int *topage = NULL);
- 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 scale (float scale_x, float scale_y);
- void rotate(float angle);
- int end_page (void);
- void end_job (void);
-};
-#endif
-
-#if ! (defined(WIN32) || defined(__APPLE__) )
-const int NO_PAGE_FORMATS=30;
-const int page_formats[NO_PAGE_FORMATS][2]={
-
-// A* // index(Ai) = i
-{2384, 3370}, //A0
-{1684, 2384}, //A1
-{1191, 1684}, //A2
-{842, 1191}, //A3
-{595, 842}, //A4
-{420, 595}, //A5
-{297, 420}, //A6
-{210, 297}, //A7
-{148, 210}, //A8
-{105, 148}, //A9
-
-// B* // index(Bi) = i+10
-{2920, 4127}, //B0
-{2064, 2920}, //B1
-{1460, 2064}, //B2
-{1032, 1460}, //B3
-{729, 1032}, //B4
-{516, 729}, //B5
-{316, 516}, //B6
-{258, 516}, //B7
-{181, 258}, //B8
-{127, 181}, //B9
-{91,127}, //B10
-
-// others (look at Fl_Printer.H} //
-{462, 649},
-{312, 623},
-{541, 719},
-{595, 935},
-{1224, 790},
-{612, 1009},
-{612, 790},
-{791, 1224},
-{297, 683}
-
-};
-
-class Fl_PS_Printer : public Fl_Virtual_Printer {
- enum SHAPE{NONE=0, LINE, LOOP, POLYGON, POINTS};
-
- class Clip{
- public:
- int x, y, w, h;
- Clip *prev;
- };
- Clip * clip_;
-
- int lang_level_;
- int font_;
- int size_;
- Fl_Color color_;
- FILE *output;
- //int nPages;
- int gap_;
- int pages_;
-
- double width_;
- double height_;
-
- int shape_;
- int linewidth_;// need for clipping, lang level 1-2
- int linestyle_;//
- int interpolate_; //interpolation of images
- unsigned char cr_,cg_,cb_;
- char linedash_[256];//should be enought
- void concat(); // transform ror scalable dradings...
- void reconcat(); //invert
- void recover(); //recovers the state afrer grestore (such as line styles...)
- void reset();
-
- uchar * mask;
- int mx; // width of mask;
- int my; // mask lines
- //Fl_Color bg_;
- int (*close_cmd_)(FILE *);
- int page_policy_;
- int nPages;
- int orientation_;
-
- float scale_x;
- float scale_y;
- float angle;
- void translate(int x, int y);
- void untranslate(void);
-
-protected:
- double pw_, ph_;
- static const int page_formats[NO_PAGE_FORMATS][2];
-
- uchar bg_r, bg_g, bg_b;
- /* int alpha_mask(const uchar * data, int w, int h, int D, int LD=0);
- */
- void draw(const char* s, int n, int x, int y) {transformed_draw(s,n,x,y); };
- void draw(int angle, const char *str, int n, int x, int y);
- void transformed_draw(const char* s, int n, double x, double y); //precise
text placing
- void transformed_draw(const char* s, double x, double y);
-/*
- void draw_scalled_image(const uchar *data, double x, double y, double w,
double h, int iw, int ih, int D=3, int LD=0);
- void draw_scalled_image_mono(const uchar *data, double x, double y, double
w, double h, int iw, int ih, int D=3, int LD=0);
- void draw_scalled_image(Fl_Draw_Image_Cb call, void *data, double x, double
y, double w, double h, int iw, int ih, int D);
- void draw_scalled_image_mono(Fl_Draw_Image_Cb call, void *data, double x,
double y, double w, double h, int iw, int ih, int D);
-*/
-public:
- void page_policy(int p);
- int page_policy(){return page_policy_;};
-
-
- void close_command( int (*cmd)(FILE *)){close_cmd_=cmd;};
- FILE * file(){return output;};
- //void orientation (int o);
-
- //Fl_PS_Printer(FILE *o, int lang_level, int pages = 0); // ps (also
multi-page) constructor
- //Fl_PS_Printer(FILE *o, int lang_level, int x, int y, int w, int h); //eps
constructor
- ~Fl_PS_Printer();
- void interpolate(int i){interpolate_=i;};
- int interpolate(){return interpolate_;}
-
- void page(double pw, double ph, int media = 0);
- void page(int format);
-
- void Fl_PS_Printer::place(double x, double y, double tx, double ty, double
scale = 1);
-
- Fl_PS_Printer(void);
- int start_job(int pagecount, int *frompage = NULL, int *topage = NULL);
- 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 scale (float scale_x, float scale_y);
- void rotate(float angle);
- int end_page (void);
- void end_job (void);
-
-public:
-
- enum Page_Format{
- A0 = 0,
- A1,
- A2,
- A3,
- A4,
- A5,
- A6,
- A7,
- A8,
- A9,
- B0,
- B1,
- B2,
- B3,
- B4,
- B5,
- B6,
- B7,
- B8,
- B9,
- B10,
- C5E,
- DLE,
- EXECUTIVE,
- FOLIO,
- LEDGER,
- LEGAL,
- LETTER,
- TABLOID,
- ENVELOPE,
- MEDIA = 0x1000
- };
- enum Page_Layout {PORTRAIT = 0, LANDSCAPE = 0x100, REVERSED = 0x200,
ORIENTATION = 0x300};
-
-protected: // implementation of drawing methods
-
- void color(Fl_Color c);
- //void bg_color(Fl_Color bg);
- void color(uchar r, uchar g, uchar b);
- Fl_Color color(){return color_;};
-
-
- void push_clip(int x, int y, int w, int h);
- int clip_box(int x, int y, int w, int h, int &X, int &Y, int &W, int &H);
- int not_clipped(int x, int y, int w, int h);
- void push_no_clip();
- void pop_clip();
-
- void line_style(int style, int width=0, char* dashes=0);
-
- void rect(int x, int y, int w, int h);
- void rectf(int x, int y, int w, int h);
-
- void xyline(int x, int y, int x1);
- void xyline(int x, int y, int x1, int y2);
- void xyline(int x, int y, int x1, int y2, int x3);
-
- void yxline(int x, int y, int y1);
- void yxline(int x, int y, int y1, int x2);
- void yxline(int x, int y, int y1, int x2, int y3);
-
- void line(int x1, int y1, int x2, int y2);
- void line(int x1, int y1, int x2, int y2, int x3, int y3);
-
- void loop(int x0, int y0, int x1, int y1, int x2, int y2);
- void loop(int x0, int y0, int x1, int y1, int x2, int y2, int x3, int y3);
- void polygon(int x0, int y0, int x1, int y1, int x2, int y2);
- void polygon(int x0, int y0, int x1, int y1, int x2, int y2, int x3, int y3);
- void point(int x, int y);
-
- void begin_points();
- void begin_line();
- void begin_loop();
- void begin_polygon();
- void vertex(double x, double y);
- void curve(double x, double y, double x1, double y1, double x2, double y2,
double x3, double y3);
- void circle(double x, double y, double r);
- void arc(double x, double y, double r, double start, double a);
- void arc(int x, int y, int w, int h, double a1, double a2);
- void pie(int x, int y, int w, int h, double a1, double a2);
- void end_points();
- void end_line();
- void end_loop();
- void end_polygon();
- void begin_complex_polygon(){begin_polygon();};
- void gap(){gap_=1;};
- void end_complex_polygon(){end_polygon();};
- void transformed_vertex(double x, double y);
-
-
- void font(int face, int size);
- int font(){return font_;};
- int size(){return size_;};
- double Fl_PS_Printer::width(unsigned c);
- double Fl_PS_Printer::width(const char* s, int n);
- int Fl_PS_Printer::descent();
- int Fl_PS_Printer::height();
-};
-#endif
-
-#ifdef __APPLE__
-class Fl_Printer : public Fl_Quartz_Printer {
-};
-#elif defined(WIN32)
-class Fl_Printer : public Fl_GDI_Printer {
-};
-#else
-class Fl_Printer : public Fl_PS_Printer {
-};
-#endif
-
class Fl_Display : public Fl_Device {
};
Modified: branches/branch-1.3-Fl_Printer/FL/Fl_Gl_Printer.H
===================================================================
--- branches/branch-1.3-Fl_Printer/FL/Fl_Gl_Printer.H 2010-02-27 14:28:22 UTC
(rev 7167)
+++ branches/branch-1.3-Fl_Printer/FL/Fl_Gl_Printer.H 2010-02-27 14:43:35 UTC
(rev 7168)
@@ -3,8 +3,7 @@
*
*/
-//#include <FL/Fl_Printer.H>
-#include <FL/Fl_Device.H>
+#include <FL/Fl_Printer.H>
#include <FL/Fl_Gl_Window.H>
/**
Modified: branches/branch-1.3-Fl_Printer/FL/Fl_Printer.H
===================================================================
--- branches/branch-1.3-Fl_Printer/FL/Fl_Printer.H 2010-02-27 14:28:22 UTC
(rev 7167)
+++ branches/branch-1.3-Fl_Printer/FL/Fl_Printer.H 2010-02-27 14:43:35 UTC
(rev 7168)
@@ -1,20 +1,12 @@
-/*
- * Fl_Printer.H
- *
- */
-
#ifndef Fl_Printer_H
#define Fl_Printer_H
-#include <FL/Fl.H>
-#include <FL/x.H>
-#include <FL/Fl_Image.H>
+#include <FL/Fl_Device.H>
+#include <stdio.h>
-
/**
- * @brief Provides an OS-independent interface to printing under MSWindows and
Mac OS X.
+ * @brief Provides an OS-independent interface to printing.
*
- At present, this class is only implemented for MSWindows and Mac OS X.
It allows to use all FLTK drawing, color, text, and clip functions, and to
have them operate
on printed page(s). There are two main, non exclusive, ways to use it.
<ul><li>Print any widget (standard, custom, Fl_Window except Fl_Gl_Window) as
it appears
@@ -27,54 +19,38 @@
and finish by end_page() and end_job() calls.
\see class Fl_Gl_Printer to print Fl_Gl_Window's.
*/
-class Fl_Printer {
+class Fl_Virtual_Printer : public Fl_Device {
+private:
struct chain_elt {
Fl_Image *image;
const uchar *data;
struct chain_elt *next;
};
- int y_offset;
- int x_offset;
- struct chain_elt *image_list_; // chained list of Fl_Image's used in this
page
-#ifdef __APPLE__
- float scale_x;
- float scale_y;
- float angle; // rotation angle in radians
- PMPrintSession printSession;
- PMPageFormat pageFormat;
- PMPrintSettings printSettings;
-#elif defined(WIN32)
- int abortPrint;
- PRINTDLG pd;
- HDC hPr;
- int prerr;
- int left_margin;
- int top_margin;
-#endif
-
+ Fl_Display *current_display_;
void add_image(Fl_Image *image, const uchar *data); // adds an image to the
page image list
- void delete_image_list(); // deletes the page image list
void traverse(Fl_Widget *widget); // finds subwindows of widget and prints
them
-#ifdef WIN32
- void absolute_printable_rect(int *x, int *y, int *w, int *h);
-#endif
-private:
/**
@brief Translates the current graphics origin accounting for the current
rotation.
*
This function is only useful after a rotate() call. Each translate() call
must be matched by an untranslate() call.
*/
- void translate(int x, int y);
+ virtual void translate(int x, int y);
/**
@brief Undoes the effect of a previous translate() call.
*/
- void untranslate(void);
-public:
+ virtual void untranslate(void);
+protected:
+ int y_offset;
+ int x_offset;
+ struct chain_elt *image_list_; // chained list of Fl_Image's used in this
page
+
/**
@brief The constructor.
*/
- Fl_Printer(void);
+ Fl_Virtual_Printer(void) { current_display_ = (Fl_Display*)fl_device;};
+ void delete_image_list(); // deletes the page image list
+public:
/**
@brief Starts a print job.
@@ -84,7 +60,7 @@
@param[out] topage if non-null, *topage is set to the last page the user
wants printed
@return 0 iff OK
*/
- int start_job(int pagecount, int *frompage = NULL, int *topage = NULL);
+ virtual int start_job(int pagecount, int *frompage = NULL, int *topage =
NULL);
/**
@brief Starts a new printed page
@@ -93,7 +69,7 @@
and with origin at the top left of the printable page area.
@return 0 iff OK
*/
- int start_page (void);
+ virtual int start_page (void);
/**
@brief Computes the width and height of the printable area of the page.
@@ -103,7 +79,7 @@
Values account for the user-selected paper type and print orientation.
@return 0 iff OK.
*/
- int printable_rect(int *w, int *h);
+ virtual int printable_rect(int *w, int *h);
/**
@brief Computes the dimensions of margins that lie between the printable
page area and
@@ -116,7 +92,7 @@
@param[out] right If non-null, *right is set to the right margin size.
@param[out] bottom If non-null, *bottom is set to the bottom margin size.
*/
- void margins(int *left, int *top, int *right, int *bottom);
+ virtual void margins(int *left, int *top, int *right, int *bottom);
/**
@brief Sets the position in page coordinates of the origin of graphics
functions.
@@ -127,8 +103,8 @@
Successive origin() calls don't combine their effects.
@param[in] x Horizontal position in page coordinates of the desired origin
of graphics functions.
@param[in] y Same as above, vertically.
- */
- void origin(int x, int y);
+ */
+ virtual void origin(int x, int y);
/**
@brief Computes the page coordinates of the current origin of graphics
functions.
@@ -147,7 +123,7 @@
@param scale_x Horizontal dimensions of plot are multiplied by this
quantity.
@param scale_y Same as above, vertically.
*/
- void scale (float scale_x, float scale_y);
+ virtual void scale (float scale_x, float scale_y);
/**
@brief Rotates the graphics operations relatively to paper.
@@ -156,7 +132,7 @@
On MSWindows, Fl_RGB_Image's don't rotate well; print_window_part() is an
efficient workaround.
@param angle Rotation angle in counterclockwise degrees.
*/
- void rotate(float angle);
+ virtual void rotate(float angle);
/**
@brief Draws the widget on the printed page.
@@ -196,13 +172,319 @@
*
@return 0 iff OK.
*/
- int end_page (void);
+ virtual int end_page (void);
/**
@brief To be called at the end of a print job.
*/
+ virtual void end_job (void);
+
+ /**
+ @brief Returns the display device currently in action.
+ */
+ Fl_Display *current_display() {return current_display_; };
+};
+
+#ifdef __APPLE__
+class Fl_Quartz_Printer : public Fl_Virtual_Printer {
+private:
+ float scale_x;
+ float scale_y;
+ float angle; // rotation angle in radians
+ PMPrintSession printSession;
+ PMPageFormat pageFormat;
+ PMPrintSettings printSettings;
+ void translate(int x, int y);
+ void untranslate(void);
+public:
+ Fl_Quartz_Printer(void) : Fl_Virtual_Printer() {};
+ int start_job(int pagecount, int *frompage = NULL, int *topage = NULL);
+ 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 scale (float scale_x, float scale_y);
+ void rotate(float angle);
+ int end_page (void);
void end_job (void);
-
};
+#endif
+#ifdef WIN32
+class Fl_GDI_Printer : public Fl_Virtual_Printer {
+private:
+ int abortPrint;
+ PRINTDLG pd;
+ HDC hPr;
+ int prerr;
+ int left_margin;
+ int top_margin;
+ void translate(int x, int y);
+ void untranslate(void);
+ void absolute_printable_rect(int *x, int *y, int *w, int *h);
+public:
+ Fl_GDI_Printer(void);
+ int start_job(int pagecount, int *frompage = NULL, int *topage = NULL);
+ 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 scale (float scale_x, float scale_y);
+ void rotate(float angle);
+ int end_page (void);
+ void end_job (void);
+};
+#endif
+
+const int NO_PAGE_FORMATS=30;
+const int page_formats[NO_PAGE_FORMATS][2]={
+
+// A* // index(Ai) = i
+{2384, 3370}, //A0
+{1684, 2384}, //A1
+{1191, 1684}, //A2
+{842, 1191}, //A3
+{595, 842}, //A4
+{420, 595}, //A5
+{297, 420}, //A6
+{210, 297}, //A7
+{148, 210}, //A8
+{105, 148}, //A9
+
+// B* // index(Bi) = i+10
+{2920, 4127}, //B0
+{2064, 2920}, //B1
+{1460, 2064}, //B2
+{1032, 1460}, //B3
+{729, 1032}, //B4
+{516, 729}, //B5
+{316, 516}, //B6
+{258, 516}, //B7
+{181, 258}, //B8
+{127, 181}, //B9
+{91,127}, //B10
+
+// others (look at Fl_Printer.H} //
+{462, 649},
+{312, 623},
+{541, 719},
+{595, 935},
+{1224, 790},
+{612, 1009},
+{612, 790},
+{791, 1224},
+{297, 683}
+
+};
+
+class Fl_PS_Printer : public Fl_Virtual_Printer { // defined for all 3
platforms
+ enum SHAPE{NONE=0, LINE, LOOP, POLYGON, POINTS};
+
+ class Clip{
+ public:
+ int x, y, w, h;
+ Clip *prev;
+ };
+ Clip * clip_;
+
+ int lang_level_;
+ int font_;
+ int size_;
+ Fl_Color color_;
+ FILE *output;
+ //int nPages;
+ int gap_;
+ int pages_;
+
+ double width_;
+ double height_;
+
+ int shape_;
+ int linewidth_;// need for clipping, lang level 1-2
+ int linestyle_;//
+ int interpolate_; //interpolation of images
+ unsigned char cr_,cg_,cb_;
+ char linedash_[256];//should be enought
+ void concat(); // transform ror scalable dradings...
+ void reconcat(); //invert
+ void recover(); //recovers the state afrer grestore (such as line styles...)
+ void reset();
+
+ uchar * mask;
+ int mx; // width of mask;
+ int my; // mask lines
+ //Fl_Color bg_;
+ int (*close_cmd_)(FILE *);
+ int page_policy_;
+ int nPages;
+ int orientation_;
+
+ float scale_x;
+ float scale_y;
+ float angle;
+ void translate(int x, int y);
+ void untranslate(void);
+
+protected:
+ double pw_, ph_;
+ static const int page_formats[NO_PAGE_FORMATS][2];
+
+ uchar bg_r, bg_g, bg_b;
+ /* int alpha_mask(const uchar * data, int w, int h, int D, int LD=0);
+ */
+ void draw(const char* s, int n, int x, int y) {transformed_draw(s,n,x,y); };
+ void draw(int angle, const char *str, int n, int x, int y);
+ void transformed_draw(const char* s, int n, double x, double y); //precise
text placing
+ void transformed_draw(const char* s, double x, double y);
+ /*
+ void draw_scalled_image(const uchar *data, double x, double y, double w,
double h, int iw, int ih, int D=3, int LD=0);
+ void draw_scalled_image_mono(const uchar *data, double x, double y, double
w, double h, int iw, int ih, int D=3, int LD=0);
+ void draw_scalled_image(Fl_Draw_Image_Cb call, void *data, double x, double
y, double w, double h, int iw, int ih, int D);
+ void draw_scalled_image_mono(Fl_Draw_Image_Cb call, void *data, double x,
double y, double w, double h, int iw, int ih, int D);
+ */
+public:
+ void page_policy(int p);
+ int page_policy(){return page_policy_;};
+
+
+ void close_command( int (*cmd)(FILE *)){close_cmd_=cmd;};
+ FILE * file(){return output;};
+ //void orientation (int o);
+
+ //Fl_PS_Printer(FILE *o, int lang_level, int pages = 0); // ps (also
multi-page) constructor
+ //Fl_PS_Printer(FILE *o, int lang_level, int x, int y, int w, int h); //eps
constructor
+ ~Fl_PS_Printer();
+ void interpolate(int i){interpolate_=i;};
+ int interpolate(){return interpolate_;}
+
+ void page(double pw, double ph, int media = 0);
+ void page(int format);
+
+ void Fl_PS_Printer::place(double x, double y, double tx, double ty, double
scale = 1);
+
+ Fl_PS_Printer(void);
+ int start_job(int pagecount, int *frompage = NULL, int *topage = NULL);
+ 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 scale (float scale_x, float scale_y);
+ void rotate(float angle);
+ int end_page (void);
+ void end_job (void);
+
+public:
+
+ enum Page_Format{
+ A0 = 0,
+ A1,
+ A2,
+ A3,
+ A4,
+ A5,
+ A6,
+ A7,
+ A8,
+ A9,
+ B0,
+ B1,
+ B2,
+ B3,
+ B4,
+ B5,
+ B6,
+ B7,
+ B8,
+ B9,
+ B10,
+ C5E,
+ DLE,
+ EXECUTIVE,
+ FOLIO,
+ LEDGER,
+ LEGAL,
+ LETTER,
+ TABLOID,
+ ENVELOPE,
+ MEDIA = 0x1000
+ };
+ enum Page_Layout {PORTRAIT = 0, LANDSCAPE = 0x100, REVERSED = 0x200,
ORIENTATION = 0x300};
+
+protected: // implementation of drawing methods
+
+ void color(Fl_Color c);
+ //void bg_color(Fl_Color bg);
+ void color(uchar r, uchar g, uchar b);
+ Fl_Color color(){return color_;};
+
+
+ void push_clip(int x, int y, int w, int h);
+ int clip_box(int x, int y, int w, int h, int &X, int &Y, int &W, int &H);
+ int not_clipped(int x, int y, int w, int h);
+ void push_no_clip();
+ void pop_clip();
+
+ void line_style(int style, int width=0, char* dashes=0);
+
+ void rect(int x, int y, int w, int h);
+ void rectf(int x, int y, int w, int h);
+
+ void xyline(int x, int y, int x1);
+ void xyline(int x, int y, int x1, int y2);
+ void xyline(int x, int y, int x1, int y2, int x3);
+
+ void yxline(int x, int y, int y1);
+ void yxline(int x, int y, int y1, int x2);
+ void yxline(int x, int y, int y1, int x2, int y3);
+
+ void line(int x1, int y1, int x2, int y2);
+ void line(int x1, int y1, int x2, int y2, int x3, int y3);
+
+ void loop(int x0, int y0, int x1, int y1, int x2, int y2);
+ void loop(int x0, int y0, int x1, int y1, int x2, int y2, int x3, int y3);
+ void polygon(int x0, int y0, int x1, int y1, int x2, int y2);
+ void polygon(int x0, int y0, int x1, int y1, int x2, int y2, int x3, int y3);
+ void point(int x, int y);
+
+ void begin_points();
+ void begin_line();
+ void begin_loop();
+ void begin_polygon();
+ void vertex(double x, double y);
+ void curve(double x, double y, double x1, double y1, double x2, double y2,
double x3, double y3);
+ void circle(double x, double y, double r);
+ void arc(double x, double y, double r, double start, double a);
+ void arc(int x, int y, int w, int h, double a1, double a2);
+ void pie(int x, int y, int w, int h, double a1, double a2);
+ void end_points();
+ void end_line();
+ void end_loop();
+ void end_polygon();
+ void begin_complex_polygon(){begin_polygon();};
+ void gap(){gap_=1;};
+ void end_complex_polygon(){end_polygon();};
+ void transformed_vertex(double x, double y);
+
+
+ void font(int face, int size);
+ int font(){return font_;};
+ int size(){return size_;};
+ double Fl_PS_Printer::width(unsigned c);
+ double Fl_PS_Printer::width(const char* s, int n);
+ int Fl_PS_Printer::descent();
+ int Fl_PS_Printer::height();
+};
+
+#ifdef __APPLE__
+class Fl_Printer : public Fl_Quartz_Printer {
+};
+#elif defined(WIN32)
+class Fl_Printer : public Fl_GDI_Printer {
+};
+#else
+class Fl_Printer : public Fl_PS_Printer {
+};
+#endif
+
#endif // Fl_Printer_H
+
Modified: branches/branch-1.3-Fl_Printer/makeinclude.in
===================================================================
--- branches/branch-1.3-Fl_Printer/makeinclude.in 2010-02-27 14:28:22 UTC
(rev 7167)
+++ branches/branch-1.3-Fl_Printer/makeinclude.in 2010-02-27 14:43:35 UTC
(rev 7168)
@@ -140,7 +140,7 @@
.SILENT:
# Build commands and filename extensions...
-.SUFFIXES: .0 .1 .3 .6 .c .cxx .mm .h .fl .man .o .z $(EXEEXT)
+.SUFFIXES: .0 .1 .3 .6 .c .cxx .h .fl .man .o .z $(EXEEXT)
.o$(EXEEXT):
echo Linking $...@...
@@ -150,16 +150,14 @@
echo Compiling $<...
$(CC) -I.. $(ARCHFLAGS) @PNGINC@ @JPEGINC@ @ZLIBINC@ $(CFLAGS) -c $< -o
$@
-.mm.o:
- echo Compiling $<...
- $(CXX) -I.. $(ARCHFLAGS) @PNGINC@ @JPEGINC@ @ZLIBINC@ $(CXXFLAGS) -x
objective-c++ -c $< -o $@
-
.cxx.o:
echo Compiling $<...
@if test `uname` = Darwin -a $< = Fl.cxx ; then \
$(CXX) -I.. $(ARCHFLAGS) @PNGINC@ @JPEGINC@ @ZLIBINC@
$(CXXFLAGS) -x objective-c++ -c $< -o $@; \
elif test `uname` = Darwin -a $< = Fl_Native_File_Chooser.cxx ; then \
$(CXX) -I.. $(ARCHFLAGS) @PNGINC@ @JPEGINC@ @ZLIBINC@
$(CXXFLAGS) -x objective-c++ -c $< -o $@; \
+ elif test `uname` = Darwin -a $< = Fl_Printer.cxx ; then \
+ $(CXX) -I.. $(ARCHFLAGS) @PNGINC@ @JPEGINC@ @ZLIBINC@
$(CXXFLAGS) -x objective-c++ -c $< -o $@; \
else \
$(CXX) -I.. $(ARCHFLAGS) @PNGINC@ @JPEGINC@ @ZLIBINC@
$(CXXFLAGS) -c $< -o $@; \
fi
Modified: branches/branch-1.3-Fl_Printer/src/Fl_Device.cxx
===================================================================
--- branches/branch-1.3-Fl_Printer/src/Fl_Device.cxx 2010-02-27 14:28:22 UTC
(rev 7167)
+++ branches/branch-1.3-Fl_Printer/src/Fl_Device.cxx 2010-02-27 14:43:35 UTC
(rev 7168)
@@ -5,6 +5,7 @@
#include <FL/Fl.H>
#include <FL/Fl_Device.H>
+#include <FL/Fl_Printer.H>
#include <FL/fl_draw.H>
#include <FL/Fl_Image.H>
Modified: branches/branch-1.3-Fl_Printer/src/Fl_GDI_Printer.cxx
===================================================================
--- branches/branch-1.3-Fl_Printer/src/Fl_GDI_Printer.cxx 2010-02-27
14:28:22 UTC (rev 7167)
+++ branches/branch-1.3-Fl_Printer/src/Fl_GDI_Printer.cxx 2010-02-27
14:43:35 UTC (rev 7168)
@@ -3,7 +3,7 @@
*/
#ifdef WIN32
-#include <FL/Fl_Device.H>
+#include <FL/Fl_Printer.H>
#include <FL/fl_ask.H>
Modified: branches/branch-1.3-Fl_Printer/src/Fl_Printer.cxx
===================================================================
--- branches/branch-1.3-Fl_Printer/src/Fl_Printer.cxx 2010-02-27 14:28:22 UTC
(rev 7167)
+++ branches/branch-1.3-Fl_Printer/src/Fl_Printer.cxx 2010-02-27 14:43:35 UTC
(rev 7168)
@@ -1,125 +1,9 @@
-/*
- * Fl_Printer.cxx
- * FLTK
- *
- */
#include <FL/Fl_Printer.H>
-#include <FL/fl_draw.H>
#ifdef __APPLE__
-#include "Fl_Printer_mac.mm"
+#include <src/Fl_Quartz_Printer.mm>
#elif defined(WIN32)
-#include "Fl_Printer_win32.cxx"
-
-#else // Linux/Unix/X11 -- empty methods, for compatibility only
-
-Fl_Printer::Fl_Printer(void) {}
-int Fl_Printer::start_job (int pagecount, int *frompage, int *topage) {return
1;}
-void Fl_Printer::end_job (void) {}
-void Fl_Printer::margins(int *left, int *top, int *right, int *bottom) {}
-int Fl_Printer::printable_rect(int *w, int *h) {return 0;}
-int Fl_Printer::start_page (void) {return 1;}
-void Fl_Printer::origin (int deltax, int deltay) {}
-void Fl_Printer::scale (float scalex, float scaley) {}
-int Fl_Printer::end_page (void) {return 1;}
-
+#include <src/Fl_GDI_Printer.cxx>
#endif
-void Fl_Printer::print_widget(Fl_Widget* widget, int delta_x, int delta_y)
-{
- int old_x, old_y, new_x, new_y, is_window;
- if ( ! widget->visible() ) return;
- is_window = (widget->as_window() != NULL);
- widget->damage(FL_DAMAGE_ALL);
- // set origin to the desired top-left position of the widget
- origin(&old_x, &old_y);
- new_x = old_x + delta_x;
- new_y = old_y + delta_y;
- if (!is_window) {
- new_x -= widget->x();
- new_y -= widget->y();
- }
- if (new_x != old_x || new_y != old_y) {
- translate(new_x - old_x, new_y - old_y );
- }
- // if widget is a window, clip all drawings to the window area
- if (is_window) fl_push_clip(0, 0, widget->w(), widget->h() );
-#ifdef __APPLE__
- CGContextRef save_gc = fl_gc;
-#elif defined(WIN32) // && !defined(__CYGWIN__)
- HDC save_gc = fl_gc;
-#else
- _XGC *save_gc = fl_gc; // FIXME
-#endif
- widget->draw();
- fl_gc = save_gc;
- if (is_window) fl_pop_clip();
- // find subwindows of widget and print them
- traverse(widget);
- // reset origin to where it was
- if(new_x != old_x || new_y != old_y) {
- untranslate();
- }
-}
-
-void Fl_Printer::traverse(Fl_Widget *widget)
-{
- Fl_Group *g = widget->as_group();
- if (!g) return;
- int n = g->children();
- for (int i = 0; i < n; i++) {
- Fl_Widget *c = g->child(i);
- if ( !c->visible() ) continue;
- if ( c->as_window() ) {
- print_widget(c, c->x(), c->y());
- }
- else traverse(c);
- }
-}
-
-void Fl_Printer::origin(int *x, int *y)
-{
- if (x) *x = x_offset;
- if (y) *y = y_offset;
-}
-
-void Fl_Printer::print_window_part(Fl_Window *win, int x, int y, int w, int h,
int delta_x, int delta_y)
-{
-#ifdef __APPLE__
- CGContextRef save_gc = fl_gc;
-#elif defined(WIN32)
- HDC save_gc = fl_gc;
-#else
- _XGC *save_gc = fl_gc;
-#endif
- Fl_Window *save_front = Fl::first_window();
- win->show();
- Fl::check();
- win->make_current();
- uchar *image_data = fl_read_image(NULL, x, y, w, h);
- save_front->show();
- fl_gc = save_gc;
- Fl_RGB_Image *image = new Fl_RGB_Image(image_data, w, h);
- image->draw(delta_x, delta_y);
- add_image(image, image_data);
-}
-
-void Fl_Printer::add_image(Fl_Image *image, const uchar *data)
-{
- struct chain_elt *elt = (struct chain_elt *)calloc(sizeof(struct
chain_elt), 1);
- elt->image = image;
- elt->data = data;
- if (image_list_) { elt->next = image_list_; }
- image_list_ = elt;
-}
-
-void Fl_Printer::delete_image_list()
-{
- while(image_list_) {
- struct chain_elt *next = image_list_->next;
- delete image_list_->image;
- if (image_list_->data) delete image_list_->data;
- free(image_list_);
- image_list_ = next;
- }
-}
+#include <src/Fl_PS_Printer.cxx>
Modified: branches/branch-1.3-Fl_Printer/src/Fl_Quartz_Printer.mm
===================================================================
--- branches/branch-1.3-Fl_Printer/src/Fl_Quartz_Printer.mm 2010-02-27
14:28:22 UTC (rev 7167)
+++ branches/branch-1.3-Fl_Printer/src/Fl_Quartz_Printer.mm 2010-02-27
14:43:35 UTC (rev 7168)
@@ -3,7 +3,7 @@
*
*/
#ifdef __APPLE__
-#include <FL/Fl_Device.H>
+#include <FL/Fl_Printer.H>
#include <FL/Fl.H>
#include <FL/fl_ask.H>
Modified: branches/branch-1.3-Fl_Printer/src/Fl_cocoa.mm
===================================================================
--- branches/branch-1.3-Fl_Printer/src/Fl_cocoa.mm 2010-02-27 14:28:22 UTC
(rev 7167)
+++ branches/branch-1.3-Fl_Printer/src/Fl_cocoa.mm 2010-02-27 14:43:35 UTC
(rev 7168)
@@ -2863,7 +2863,7 @@
nil];
[NSApp orderFrontStandardAboutPanelWithOptions:options];
}
-//#include <FL/Fl_Printer.H>
+#include <FL/Fl_Printer.H>
- (void)printPanel
{
Fl_Printer printer;
Modified: branches/branch-1.3-Fl_Printer/src/Fl_win32.cxx
===================================================================
--- branches/branch-1.3-Fl_Printer/src/Fl_win32.cxx 2010-02-27 14:28:22 UTC
(rev 7167)
+++ branches/branch-1.3-Fl_Printer/src/Fl_win32.cxx 2010-02-27 14:43:35 UTC
(rev 7168)
@@ -1934,7 +1934,7 @@
// temporary for testing purposes of the Fl_Printer class
// contains also preparePrintFront call above
-//#include <FL/Fl_Printer.H>
+#include <FL/Fl_Printer.H>
#include <FL/Fl_Button.H>
void printFront(Fl_Widget *o, void *data)
{
Modified: branches/branch-1.3-Fl_Printer/src/Fl_x.cxx
===================================================================
--- branches/branch-1.3-Fl_Printer/src/Fl_x.cxx 2010-02-27 14:28:22 UTC (rev
7167)
+++ branches/branch-1.3-Fl_Printer/src/Fl_x.cxx 2010-02-27 14:43:35 UTC (rev
7168)
@@ -1760,6 +1760,7 @@
// temporary for testing purposes of the Fl_Printer class
// contains also preparePrintFront call above
+#include <FL/Fl_Printer.H>
#include <FL/Fl_Button.H>
void printFront(Fl_Widget *o, void *data)
{
Modified: branches/branch-1.3-Fl_Printer/src/Makefile
===================================================================
--- branches/branch-1.3-Fl_Printer/src/Makefile 2010-02-27 14:28:22 UTC (rev
7167)
+++ branches/branch-1.3-Fl_Printer/src/Makefile 2010-02-27 14:43:35 UTC (rev
7168)
@@ -50,7 +50,6 @@
Fl_File_Icon.cxx \
Fl_File_Input.cxx \
Fl_Group.cxx \
- Fl_GDI_Printer.cxx \
Fl_Help_View.cxx \
Fl_Image.cxx \
Fl_Input.cxx \
@@ -71,8 +70,7 @@
Fl_Pixmap.cxx \
Fl_Positioner.cxx \
Fl_Preferences.cxx \
- Fl_PS_Printer.cxx \
- Fl_Quartz_Printer.mm \
+ Fl_Printer.cxx \
Fl_Progress.cxx \
Fl_Repeat_Button.cxx \
Fl_Return_Button.cxx \
@@ -215,7 +213,7 @@
include ../makeinclude
-OBJECTS = $(CPPFILES:.cxx=.o) $(CFILES:.c=.o) $(UTF8CFILES:.c=.o)
Fl_Quartz_Printer.o
+OBJECTS = $(CPPFILES:.cxx=.o) $(CFILES:.c=.o) $(UTF8CFILES:.c=.o)
GLOBJECTS = $(GLCPPFILES:.cxx=.o)
FLOBJECTS = $(FLCPPFILES:.cxx=.o)
IMGOBJECTS = $(IMGCPPFILES:.cxx=.o)
@@ -493,7 +491,7 @@
fl_read_image.o: fl_read_image_mac.cxx fl_read_image_win32.cxx
fl_set_fonts.o: fl_set_fonts_mac.cxx fl_set_fonts_x.cxx \
fl_set_fonts_xft.cxx fl_set_fonts_win32.cxx
-Fl_Printer.o: Fl_Printer_mac.mm Fl_Printer_win32.cxx
+Fl_Printer.o: Fl_Quartz_Printer.mm Fl_GDI_Printer.cxx Fl_PS_Printer.cxx
fl_arci.o: ../FL/mac.H ../FL/win32.H
Fl_arg.o: ../FL/mac.H ../FL/win32.H
@@ -527,6 +525,7 @@
Fl_Overlay_Window.o: ../FL/mac.H ../FL/win32.H
Fl_own_colormap.o: ../FL/mac.H ../FL/win32.H
Fl_Pixmap.o: ../FL/mac.H ../FL/win32.H
+Fl_Printer.o: ../FL/mac.H ../FL/win32.H
fl_read_image.o: ../FL/mac.H ../FL/win32.H
fl_read_image_mac.o: ../FL/mac.H ../FL/win32.H
fl_read_image_win32.o: ../FL/mac.H ../FL/win32.H
Modified: branches/branch-1.3-Fl_Printer/src/makedepend
===================================================================
--- branches/branch-1.3-Fl_Printer/src/makedepend 2010-02-27 14:28:22 UTC
(rev 7167)
+++ branches/branch-1.3-Fl_Printer/src/makedepend 2010-02-27 14:43:35 UTC
(rev 7168)
@@ -143,6 +143,7 @@
Fl_File_Input.o: ../FL/Fl_Input.H ../FL/Fl_Input_.H ../FL/Fl_Window.H
Fl_File_Input.o: ../FL/Fl_Group.H ../FL/Fl_Widget.H ../FL/fl_draw.H
Fl_File_Input.o: ../FL/Fl_Window.H flstring.h ../config.h
+Fl_GL_Printer.o: ../FL/Fl_Device.H ../FL/Fl_Printer.H ../FL/Fl_Gl_Window.H
Fl_Group.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
Fl_Group.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
Fl_Group.o: ../FL/fl_types.h ../FL/Fl_Group.H ../FL/Fl_Window.H
@@ -267,7 +268,7 @@
Fl_Preferences.o: ../FL/Fl_Image.H ../FL/Fl_Tree_Item_Array.H
Fl_Preferences.o: ../FL/Fl_Tree_Prefs.H ../FL/filename.H ../FL/fl_utf8.h
Fl_Preferences.o: flstring.h ../config.h
-Fl_Printer.o: ../FL/Fl_Printer.H ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H
+Fl_Printer.o: ../FL/Fl_Device.H ../FL/Fl_Printer.H ../FL/Fl.H ../FL/fl_utf8.h
../FL/Fl_Export.H
Fl_Printer.o: ../FL/fl_types.h ../FL/Xutf8.h ../FL/Enumerations.H
Fl_Printer.o: ../FL/Fl_Export.H ../FL/fl_types.h ../FL/x.H ../FL/Fl_Window.H
Fl_Printer.o: ../FL/Fl_Image.H ../FL/fl_draw.H
@@ -577,10 +578,6 @@
fl_font.o: ../FL/Enumerations.H ../FL/Fl_Export.H ../FL/fl_types.h
fl_font.o: ../FL/fl_draw.H ../FL/Fl_Window.H ../FL/x.H Fl_Font.H
fl_font.o: fl_font_xft.cxx
-Fl_GDI_Printer.o: ../FL/Fl_Device.H ../FL/fl_ask.H
-Fl_GL_Printer.o: ../FL/Fl_Device.H ../FL/Fl_Gl_Window.H
-Fl_PS_Printer.o: ../FL/Fl_Device.H ../FL/fl_ask.H ../FL/fl_draw.H
../FL/Fl_Native_File_Chooser.H ../FL/Fl.H
-Fl_Quartz_Printer.o: ../FL/Fl_Device.H ../FL/fl_ask.H ../FL/fl_draw.H
../FL/Fl.H
fl_gtk.o: ../FL/Fl.H ../FL/fl_utf8.h ../FL/Fl_Export.H ../FL/fl_types.h
fl_gtk.o: ../FL/Xutf8.h ../FL/Enumerations.H ../FL/Fl_Export.H
fl_gtk.o: ../FL/fl_types.h ../FL/fl_draw.H ../FL/Fl_Window.H
_______________________________________________
fltk-commit mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk-commit