summaryrefslogtreecommitdiff
path: root/FL
diff options
context:
space:
mode:
authorManolo Gouy <Manolo>2010-12-12 16:13:55 +0000
committerManolo Gouy <Manolo>2010-12-12 16:13:55 +0000
commit495b3b5af5051dd69f595aa05989f679ed992fef (patch)
treefd6f1aabff65fdd45ba423dd668fd7ef3dd5f0c7 /FL
parentfc25ffc246ad455f66f9efa6f0d75919ff3067be (diff)
Moved enums Page_Format and Page_Layout to class Fl_Paged_Device
where they are better located. Small reorganization of device-related include files. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8017 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'FL')
-rw-r--r--FL/Fl_Device.H25
-rw-r--r--FL/Fl_Paged_Device.H65
-rw-r--r--FL/Fl_PostScript.H63
-rw-r--r--FL/Fl_Printer.H22
4 files changed, 95 insertions, 80 deletions
diff --git a/FL/Fl_Device.H b/FL/Fl_Device.H
index 39a0d4895..975c99aa2 100644
--- a/FL/Fl_Device.H
+++ b/FL/Fl_Device.H
@@ -26,7 +26,8 @@
// http://www.fltk.org/str.php
//
/** \file Fl_Device.H
- \brief declaration of classes Fl_Device, Fl_Graphics_Driver, Fl_Surface_Device, Fl_Display_Device.
+ \brief declaration of classes Fl_Device, Fl_Graphics_Driver, Fl_Surface_Device,
+ Fl_Display_Device, Fl_Device_Plugin.
*/
#ifndef Fl_Device_H
@@ -374,6 +375,28 @@ public:
static Fl_Display_Device *display_device() { return fl_display_device; };
};
+/**
+ This plugin socket allows the integration of new device drivers for special
+ window or screen types. It is currently used to provide an automated printing
+ service for OpenGL windows, if linked with fltk_gl.
+ */
+class Fl_Device_Plugin : public Fl_Plugin {
+public:
+ /** \brief The constructor */
+ Fl_Device_Plugin(const char *name)
+ : Fl_Plugin(klass(), name) { }
+ /** \brief Returns the class name */
+ virtual const char *klass() { return "fltk:device"; }
+ /** \brief Returns the plugin name */
+ virtual const char *name() = 0;
+ /** \brief Prints a widget
+ \param w the widget
+ \param x,y offsets where to print relatively to coordinates origin
+ \param height height of the current drawing area
+ */
+ virtual int print(Fl_Widget* w, int x, int y, int height) { return 0; }
+};
+
#endif // Fl_Device_H
//
diff --git a/FL/Fl_Paged_Device.H b/FL/Fl_Paged_Device.H
index 088afc606..4ee04abd7 100644
--- a/FL/Fl_Paged_Device.H
+++ b/FL/Fl_Paged_Device.H
@@ -34,6 +34,8 @@
#include <FL/Fl_Device.H>
+#define NO_PAGE_FORMATS 30 /* MSVC6 compilation fix */
+
/**
\brief Represents page-structured drawing surfaces.
*
@@ -41,6 +43,69 @@
or Fl_PostScript_File_Device instead.
*/
class Fl_Paged_Device : public Fl_Surface_Device {
+public:
+ /**
+ \brief Possible page formats.
+
+ All paper formats with pre-defined width and height.
+ */
+ enum Page_Format {
+ A0 = 0, /**< A0 format */
+ A1,
+ A2,
+ A3,
+ A4, /**< A4 format */
+ A5,
+ A6,
+ A7,
+ A8,
+ A9,
+ B0,
+ B1,
+ B2,
+ B3,
+ B4,
+ B5,
+ B6,
+ B7,
+ B8,
+ B9,
+ B10,
+ C5E,
+ DLE,
+ EXECUTIVE,
+ FOLIO,
+ LEDGER,
+ LEGAL,
+ LETTER, /**< Letter format */
+ TABLOID,
+ ENVELOPE,
+ MEDIA = 0x1000
+ };
+ /**
+ \brief Possible page layouts.
+ */
+ enum Page_Layout {
+ PORTRAIT = 0, /**< Portrait orientation */
+ LANDSCAPE = 0x100, /**< Landscape orientation */
+ REVERSED = 0x200, /**< Reversed orientation */
+ ORIENTATION = 0x300 /**< orientation */
+ };
+
+ /** \brief width, height and name of a page format
+ */
+ typedef struct {
+ /** \brief width in points */
+ int width;
+ /** \brief height in points */
+ int height;
+ /** \brief format name */
+ const char *name;
+ } page_format;
+ /** \brief width, height and name of all elements of the enum \ref Page_Format.
+ */
+ static const page_format page_formats[NO_PAGE_FORMATS];
+
private:
#ifdef __APPLE__
struct chain_elt {
diff --git a/FL/Fl_PostScript.H b/FL/Fl_PostScript.H
index 7a1907731..9e32bccf8 100644
--- a/FL/Fl_PostScript.H
+++ b/FL/Fl_PostScript.H
@@ -35,8 +35,6 @@
#include <FL/Fl_Paged_Device.H>
#include <FL/fl_draw.H>
-#define NO_PAGE_FORMATS 30 /* MSVC6 compilation fix */
-
/**
\brief PostScript graphical backend.
*
@@ -66,58 +64,10 @@
class Fl_PostScript_Graphics_Driver : public Fl_Graphics_Driver {
public:
static const char *device_type;
- /**
- \brief Possible page formats.
- */
- 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
- };
-
- /**
- \brief Possible page layouts.
- */
- enum Page_Layout {PORTRAIT = 0, LANDSCAPE = 0x100, REVERSED = 0x200, ORIENTATION = 0x300};
-
#ifndef FL_DOXYGEN
public:
enum SHAPE{NONE=0, LINE, LOOP, POLYGON, POINTS};
-typedef struct page_format {
- int width;
- int height;
- const char *name;
-} page_format;
-
class Clip {
public:
int x, y, w, h;
@@ -162,10 +112,9 @@ class Clip {
FILE *output;
double pw_, ph_;
- static const page_format page_formats[NO_PAGE_FORMATS];
uchar bg_r, bg_g, bg_b;
- int start_postscript (int pagecount, enum Page_Format format, enum Page_Layout layout);
+ int start_postscript (int pagecount, enum Fl_Paged_Device::Page_Format format, enum Fl_Paged_Device::Page_Layout layout);
/* 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); };
@@ -178,7 +127,7 @@ class Clip {
void draw_scaled_image(Fl_Draw_Image_Cb call, void *data, double x, double y, double w, double h, int iw, int ih, int D);
void draw_scaled_image_mono(Fl_Draw_Image_Cb call, void *data, double x, double y, double w, double h, int iw, int ih, int D);
- enum Page_Format page_format_;
+ enum Fl_Paged_Device::Page_Format page_format_;
char *ps_filename_;
// implementation of drawing methods
void color(Fl_Color c);
@@ -280,10 +229,10 @@ public:
static const char *device_type;
Fl_PostScript_File_Device();
~Fl_PostScript_File_Device();
- int start_job(int pagecount, enum Fl_PostScript_Graphics_Driver::Page_Format format = Fl_PostScript_Graphics_Driver::A4,
- enum Fl_PostScript_Graphics_Driver::Page_Layout layout = Fl_PostScript_Graphics_Driver::PORTRAIT);
- int start_job(FILE *ps_output, int pagecount, enum Fl_PostScript_Graphics_Driver::Page_Format format = Fl_PostScript_Graphics_Driver::A4,
- enum Fl_PostScript_Graphics_Driver::Page_Layout layout = Fl_PostScript_Graphics_Driver::PORTRAIT);
+ int start_job(int pagecount, enum Fl_Paged_Device::Page_Format format = Fl_Paged_Device::A4,
+ enum Fl_Paged_Device::Page_Layout layout = Fl_Paged_Device::PORTRAIT);
+ int start_job(FILE *ps_output, int pagecount, enum Fl_Paged_Device::Page_Format format = Fl_Paged_Device::A4,
+ enum Fl_Paged_Device::Page_Layout layout = Fl_Paged_Device::PORTRAIT);
int start_page (void);
int printable_rect(int *w, int *h);
void margins(int *left, int *top, int *right, int *bottom);
diff --git a/FL/Fl_Printer.H b/FL/Fl_Printer.H
index 671dcdb77..59d36ce2c 100644
--- a/FL/Fl_Printer.H
+++ b/FL/Fl_Printer.H
@@ -239,28 +239,6 @@ public:
};
#endif
-/**
- This plugin socket allows the integration of new device drivers for special
- window or screen types. It is currently used to provide an automated printing
- service for OpenGL windows, if linked with fltk_gl.
- */
-class Fl_Device_Plugin : public Fl_Plugin {
-public:
- /** \brief The constructor */
- Fl_Device_Plugin(const char *name)
- : Fl_Plugin(klass(), name) { }
- /** \brief Returns the class name */
- virtual const char *klass() { return "fltk:device"; }
- /** \brief Returns the plugin name */
- virtual const char *name() = 0;
- /** \brief Prints a widget
- \param w the widget
- \param x,y offsets where to print relatively to coordinates origin
- \param height height of the current drawing area
- */
- virtual int print(Fl_Widget* w, int x, int y, int height) { return 0; }
-};
-
#endif // Fl_Printer_H
//