summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--FL/Fl_Device.H31
-rw-r--r--FL/Fl_Paged_Device.H3
-rw-r--r--FL/Fl_PostScript.H2
-rw-r--r--FL/Fl_Printer.H7
-rw-r--r--src/Fl_GDI_Printer.cxx1
-rw-r--r--src/Fl_PostScript.cxx2
-rw-r--r--src/Fl_Printer.cxx1
-rw-r--r--src/Fl_Quartz_Printer.mm1
8 files changed, 21 insertions, 27 deletions
diff --git a/FL/Fl_Device.H b/FL/Fl_Device.H
index afd9def3d..41428e434 100644
--- a/FL/Fl_Device.H
+++ b/FL/Fl_Device.H
@@ -82,26 +82,19 @@ typedef short COORD_T;
\brief All graphical output devices and all graphics systems.
*/
class FL_EXPORT Fl_Device {
-private:
- const char *type_; // pointer to class name
-protected:
- /** \brief Sets the class name */
- inline void class_name(const char *name) { type_ = name;};
- /** \brief A string that identifies each subclass of Fl_Device.
-
- Function class_name() applied to a device of this class returns this string.
+public:
+ /** A string that identifies each subclass of Fl_Device.
+ Function class_name() applied to a device of this class returns this string.
*/
static const char *class_id;
-public:
/**
- \brief Returns the name of the class of this object.
- *
+ Returns the name of the class of this object.
The class of an instance of an Fl_Device subclass can be checked with code such as:
\code
if ( instance->class_name() == Fl_Printer::class_id ) { ... }
\endcode
*/
- inline const char *class_name() {return type_;};
+ virtual const char *class_name() {return class_id;};
};
/**
@@ -369,6 +362,7 @@ protected:
public:
static const char *class_id;
+ virtual const char *class_name() {return class_id;};
/** \brief see fl_font(Fl_Font face, Fl_Fontsize size). */
virtual void font(Fl_Font face, Fl_Fontsize size) {font_ = face; size_ = size;}
/** \brief see fl_font(void). */
@@ -403,9 +397,8 @@ public:
*/
class FL_EXPORT Fl_Quartz_Graphics_Driver : public Fl_Graphics_Driver {
public:
- /** \brief The constructor. */
- Fl_Quartz_Graphics_Driver() { class_name( class_id); };
static const char *class_id;
+ const char *class_name() {return class_id;};
void color(Fl_Color c);
void color(uchar r, uchar g, uchar b);
void draw(const char* str, int n, int x, int y);
@@ -437,9 +430,8 @@ public:
*/
class FL_EXPORT Fl_GDI_Graphics_Driver : public Fl_Graphics_Driver {
public:
- /** \brief The constructor. */
- Fl_GDI_Graphics_Driver() { class_name ( class_id); };
static const char *class_id;
+ const char *class_name() {return class_id;};
void color(Fl_Color c);
void color(uchar r, uchar g, uchar b);
void draw(const char* str, int n, int x, int y);
@@ -468,9 +460,8 @@ public:
*/
class Fl_Xlib_Graphics_Driver : public Fl_Graphics_Driver {
public:
- /** \brief The constructor. */
- Fl_Xlib_Graphics_Driver() { class_name ( class_id); };
static const char *class_id;
+ const char *class_name() {return class_id;};
void color(Fl_Color c);
void color(uchar r, uchar g, uchar b);
void draw(const char* str, int n, int x, int y);
@@ -504,6 +495,7 @@ protected:
Fl_Surface_Device(Fl_Graphics_Driver *graphics_driver) {_driver = graphics_driver; };
public:
static const char *class_id;
+ const char *class_name() {return class_id;};
virtual void set_current(void);
/** \brief Sets the graphics driver of this drawing surface. */
inline void driver(Fl_Graphics_Driver *graphics_driver) {_driver = graphics_driver;};
@@ -522,8 +514,9 @@ class FL_EXPORT Fl_Display_Device : public Fl_Surface_Device {
static Fl_Display_Device *_display; // the platform display device
public:
static const char *class_id;
+ const char *class_name() {return class_id;};
/** \brief A constructor that sets the graphics driver used by the display */
- Fl_Display_Device(Fl_Graphics_Driver *graphics_driver) : Fl_Surface_Device( graphics_driver) { class_name( class_id); };
+ Fl_Display_Device(Fl_Graphics_Driver *graphics_driver) : Fl_Surface_Device( graphics_driver) { };
/** Returns the platform display device. */
static inline Fl_Display_Device *display_device() {return _display;};
};
diff --git a/FL/Fl_Paged_Device.H b/FL/Fl_Paged_Device.H
index 5504b5192..bdc448925 100644
--- a/FL/Fl_Paged_Device.H
+++ b/FL/Fl_Paged_Device.H
@@ -115,11 +115,12 @@ protected:
/** \brief vertical offset to the origin of graphics coordinates */
int y_offset;
/** \brief The constructor */
- Fl_Paged_Device() : Fl_Surface_Device(NULL) {class_name( class_id);};
+ Fl_Paged_Device() : Fl_Surface_Device(NULL) {};
/** \brief The destructor */
virtual ~Fl_Paged_Device() {};
public:
static const char *class_id;
+ const char *class_name() {return class_id;};
virtual int start_job(int pagecount, int *frompage = NULL, int *topage = NULL);
virtual int start_page(void);
virtual int printable_rect(int *w, int *h);
diff --git a/FL/Fl_PostScript.H b/FL/Fl_PostScript.H
index 61f7faecc..a7d30f1c7 100644
--- a/FL/Fl_PostScript.H
+++ b/FL/Fl_PostScript.H
@@ -64,6 +64,7 @@
class Fl_PostScript_Graphics_Driver : public Fl_Graphics_Driver {
public:
static const char *class_id;
+ const char *class_name() {return class_id;};
Fl_PostScript_Graphics_Driver();
#ifndef FL_DOXYGEN
enum SHAPE{NONE=0, LINE, LOOP, POLYGON, POINTS};
@@ -224,6 +225,7 @@ protected:
Fl_PostScript_Graphics_Driver *driver();
public:
static const char *class_id;
+ const char *class_name() {return class_id;};
Fl_PostScript_File_Device();
~Fl_PostScript_File_Device();
int start_job(int pagecount, enum Fl_Paged_Device::Page_Format format = Fl_Paged_Device::A4,
diff --git a/FL/Fl_Printer.H b/FL/Fl_Printer.H
index 7b68a459b..9eff9fbd7 100644
--- a/FL/Fl_Printer.H
+++ b/FL/Fl_Printer.H
@@ -79,6 +79,7 @@ protected:
Fl_System_Printer(void);
public:
static const char *class_id;
+ const char *class_name() {return class_id;};
int start_job(int pagecount, int *frompage = NULL, int *topage = NULL);
int start_page (void);
int printable_rect(int *w, int *h);
@@ -108,10 +109,11 @@ public:
class Fl_PostScript_Printer : public Fl_PostScript_File_Device {
friend class Fl_Printer;
protected:
- /** \brief The constructor */
- Fl_PostScript_Printer(void) {class_name(class_id);};
+ /** The constructor */
+ Fl_PostScript_Printer(void) {};
public:
static const char *class_id;
+ const char *class_name() {return class_id;};
int start_job(int pages, int *firstpage = NULL, int *lastpage = NULL);
};
@@ -152,6 +154,7 @@ public:
class Fl_Printer : public Fl_Paged_Device {
public:
static const char *class_id;
+ const char *class_name() {return class_id;};
/** \brief The constructor */
Fl_Printer(void);
int start_job(int pagecount, int *frompage = NULL, int *topage = NULL);
diff --git a/src/Fl_GDI_Printer.cxx b/src/Fl_GDI_Printer.cxx
index b02c8ecab..9b3c59e20 100644
--- a/src/Fl_GDI_Printer.cxx
+++ b/src/Fl_GDI_Printer.cxx
@@ -36,7 +36,6 @@ extern HWND fl_window;
Fl_System_Printer::Fl_System_Printer(void) : Fl_Paged_Device() {
hPr = NULL;
- class_name(class_id);
driver(Fl_Display_Device::display_device()->driver());
}
diff --git a/src/Fl_PostScript.cxx b/src/Fl_PostScript.cxx
index c8e59cd8c..4ec1c654a 100644
--- a/src/Fl_PostScript.cxx
+++ b/src/Fl_PostScript.cxx
@@ -54,7 +54,6 @@ Fl_PostScript_Graphics_Driver::Fl_PostScript_Graphics_Driver(void)
lang_level_ = 2;
mask = 0;
ps_filename_ = NULL;
- class_name(class_id);
scale_x = scale_y = 1.;
bg_r = bg_g = bg_b = 255;
}
@@ -69,7 +68,6 @@ Fl_PostScript_Graphics_Driver::~Fl_PostScript_Graphics_Driver() {
*/
Fl_PostScript_File_Device::Fl_PostScript_File_Device(void)
{
- class_name(class_id);
#ifdef __APPLE__
gc = fl_gc; // the display context is used by fl_text_extents()
#endif
diff --git a/src/Fl_Printer.cxx b/src/Fl_Printer.cxx
index 2ff206eff..be4afe991 100644
--- a/src/Fl_Printer.cxx
+++ b/src/Fl_Printer.cxx
@@ -108,7 +108,6 @@ Fl_Printer::Fl_Printer(void) {
#else
printer = new Fl_PostScript_Printer();
#endif
- class_name(class_id);
}
int Fl_Printer::start_job(int pagecount, int *frompage, int *topage)
diff --git a/src/Fl_Quartz_Printer.mm b/src/Fl_Quartz_Printer.mm
index 153aef14a..b5fafbe31 100644
--- a/src/Fl_Quartz_Printer.mm
+++ b/src/Fl_Quartz_Printer.mm
@@ -40,7 +40,6 @@ Fl_System_Printer::Fl_System_Printer(void)
x_offset = 0;
y_offset = 0;
scale_x = scale_y = 1.;
- class_name(class_id);
gc = 0;
driver(Fl_Display_Device::display_device()->driver());
}