summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorManolo Gouy <Manolo>2011-02-02 12:42:47 +0000
committerManolo Gouy <Manolo>2011-02-02 12:42:47 +0000
commit18156dfb30a291ca99422bd1bbebcb390bf9d570 (patch)
tree6687d9dc49ab32d4f44f5d3725b58704ba195831
parentbb29437427d44ee47ab1039f0bab3b66fdb40b62 (diff)
Removed global variable fl_surface that was not very useful because equivalent
to Fl_Surface_Device::surface(). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8360 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
-rw-r--r--FL/Fl_Device.H14
-rw-r--r--FL/win32.H2
-rw-r--r--FL/x.H4
-rw-r--r--src/Fl_Bitmap.cxx2
-rw-r--r--src/Fl_Device.cxx2
-rw-r--r--src/Fl_Double_Window.cxx2
-rw-r--r--src/Fl_Pixmap.cxx2
-rw-r--r--src/Fl_cocoa.mm4
-rw-r--r--src/Fl_win32.cxx4
-rw-r--r--src/Fl_x.cxx4
10 files changed, 18 insertions, 22 deletions
diff --git a/FL/Fl_Device.H b/FL/Fl_Device.H
index f7c7fecbb..e47343e28 100644
--- a/FL/Fl_Device.H
+++ b/FL/Fl_Device.H
@@ -40,12 +40,8 @@
#include <FL/Fl_RGB_Image.H>
class Fl_Graphics_Driver;
-class Fl_Display_Device;
-class Fl_Surface_Device;
/** \brief Points to the driver that currently receives all graphics requests */
FL_EXPORT extern Fl_Graphics_Driver *fl_graphics_driver;
-/** \brief Points to the surface that currently receives all graphics requests */
-FL_EXPORT extern Fl_Surface_Device *fl_surface;
/**
signature of image generation callback function.
@@ -365,6 +361,7 @@ public:
class FL_EXPORT Fl_Surface_Device : public Fl_Device {
/** \brief The graphics driver in use by this surface. */
Fl_Graphics_Driver *_driver;
+ static Fl_Surface_Device *_surface; // the surface that currently receives graphics output
protected:
/** \brief Constructor that sets the graphics driver to use for the created surface. */
Fl_Surface_Device(Fl_Graphics_Driver *graphics_driver) {_driver = graphics_driver; };
@@ -376,7 +373,7 @@ public:
/** \brief Returns the graphics driver of this drawing surface. */
inline Fl_Graphics_Driver *driver() {return _driver; };
/** \brief the surface that currently receives graphics output */
- static Fl_Surface_Device *surface() {return fl_surface; };
+ static inline Fl_Surface_Device *surface() {return _surface; };
/** \brief The destructor. */
virtual ~Fl_Surface_Device() {}
};
@@ -385,14 +382,13 @@ public:
\brief A display to which the computer can draw.
*/
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;
/** \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); };
- /**
- @brief Returns the platform's display device.
- */
- static Fl_Display_Device *display_device();
+ /** Returns the platform display device. */
+ static inline Fl_Display_Device *display_device() {return _display;};
};
/**
diff --git a/FL/win32.H b/FL/win32.H
index cb19475df..ac484db6b 100644
--- a/FL/win32.H
+++ b/FL/win32.H
@@ -136,7 +136,7 @@ typedef HBITMAP Fl_Offscreen;
# define fl_begin_offscreen(b) \
HDC _sgc=fl_gc; Window _sw=fl_window; \
- Fl_Surface_Device *_ss = fl_surface; Fl_Display_Device::display_device()->set_current(); \
+ Fl_Surface_Device *_ss = Fl_Surface_Device::surface(); Fl_Display_Device::display_device()->set_current(); \
fl_gc=fl_makeDC(b); int _savedc = SaveDC(fl_gc); fl_window=(HWND)b; fl_push_no_clip()
# define fl_end_offscreen() \
diff --git a/FL/x.H b/FL/x.H
index 587822baf..7113f4af9 100644
--- a/FL/x.H
+++ b/FL/x.H
@@ -84,13 +84,13 @@ extern FL_EXPORT ulong fl_event_time;
typedef ulong Fl_Offscreen;
# define fl_create_offscreen(w,h) \
XCreatePixmap(fl_display, \
- (fl_surface->class_name() == Fl_Display_Device::class_id ? \
+ (Fl_Surface_Device::surface()->class_name() == Fl_Display_Device::class_id ? \
fl_window : fl_xid(Fl::first_window()) ) , \
w, h, fl_visual->depth)
// begin/end are macros that save the old state in local variables:
# define fl_begin_offscreen(pixmap) \
Window _sw=fl_window; fl_window=pixmap; \
- Fl_Surface_Device *_ss = fl_surface; Fl_Display_Device::display_device()->set_current(); \
+ Fl_Surface_Device *_ss = Fl_Surface_Device::surface(); Fl_Display_Device::display_device()->set_current(); \
fl_push_no_clip()
# define fl_end_offscreen() \
fl_pop_clip(); fl_window = _sw; _ss->set_current()
diff --git a/src/Fl_Bitmap.cxx b/src/Fl_Bitmap.cxx
index 1c49dc530..0f2e0220f 100644
--- a/src/Fl_Bitmap.cxx
+++ b/src/Fl_Bitmap.cxx
@@ -304,7 +304,7 @@ void Fl_GDI_Graphics_Driver::draw(Fl_Bitmap *bm, int XP, int YP, int WP, int HP,
HDC tempdc;
int save;
BOOL use_print_algo = false;
- if (fl_surface->class_name() == Fl_Printer::class_id) {
+ if (Fl_Surface_Device::surface()->class_name() == Fl_Printer::class_id) {
static HMODULE hMod = NULL;
if (!hMod) {
hMod = LoadLibrary("MSIMG32.DLL");
diff --git a/src/Fl_Device.cxx b/src/Fl_Device.cxx
index d74ce11fb..0a099bc85 100644
--- a/src/Fl_Device.cxx
+++ b/src/Fl_Device.cxx
@@ -48,7 +48,7 @@ const char *Fl_Xlib_Graphics_Driver::class_id = "Fl_Xlib_Graphics_Driver";
void Fl_Surface_Device::set_current(void)
{
fl_graphics_driver = _driver;
- fl_surface = this;
+ _surface = this;
}
//
diff --git a/src/Fl_Double_Window.cxx b/src/Fl_Double_Window.cxx
index b64f949cf..fa59c8cec 100644
--- a/src/Fl_Double_Window.cxx
+++ b/src/Fl_Double_Window.cxx
@@ -278,7 +278,7 @@ static Fl_Surface_Device *_ss;
\param ctx the offscreen buffer.
*/
void fl_begin_offscreen(Fl_Offscreen ctx) {
- _ss = fl_surface;
+ _ss = Fl_Surface_Device::surface();
Fl_Display_Device::display_device()->set_current();
if (stack_ix<stack_max) {
stack_gc[stack_ix] = fl_gc;
diff --git a/src/Fl_Pixmap.cxx b/src/Fl_Pixmap.cxx
index 18f533761..75200c60e 100644
--- a/src/Fl_Pixmap.cxx
+++ b/src/Fl_Pixmap.cxx
@@ -145,7 +145,7 @@ void Fl_GDI_Graphics_Driver::draw(Fl_Pixmap *pxm, int XP, int YP, int WP, int HP
}
fl_end_offscreen();
}
- if (fl_surface->class_name() == Fl_Printer::class_id) {
+ if (Fl_Surface_Device::surface()->class_name() == Fl_Printer::class_id) {
typedef BOOL (WINAPI* fl_transp_func) (HDC,int,int,int,int,HDC,int,int,int,int,UINT);
static HMODULE hMod = NULL;
static fl_transp_func fl_TransparentBlt = NULL;
diff --git a/src/Fl_cocoa.mm b/src/Fl_cocoa.mm
index ca25ee54e..90e40a07a 100644
--- a/src/Fl_cocoa.mm
+++ b/src/Fl_cocoa.mm
@@ -99,8 +99,8 @@ static void cocoaMouseHandler(NSEvent *theEvent);
static Fl_Quartz_Graphics_Driver fl_quartz_driver;
static Fl_Display_Device fl_quartz_display(&fl_quartz_driver);
FL_EXPORT Fl_Graphics_Driver *fl_graphics_driver = (Fl_Graphics_Driver*)&fl_quartz_driver; // the current target device of graphics operations
-FL_EXPORT Fl_Surface_Device *fl_surface = (Fl_Surface_Device*)&fl_quartz_display; // the current target surface of graphics operations
-Fl_Display_Device *Fl_Display_Device::display_device() { return &fl_quartz_display; };
+Fl_Surface_Device* Fl_Surface_Device::_surface = (Fl_Surface_Device*)&fl_quartz_display; // the current target surface of graphics operations
+Fl_Display_Device *Fl_Display_Device::_display = &fl_quartz_display; // the platform display
// public variables
int fl_screen;
diff --git a/src/Fl_win32.cxx b/src/Fl_win32.cxx
index 7f7328914..c9f1f64b3 100644
--- a/src/Fl_win32.cxx
+++ b/src/Fl_win32.cxx
@@ -87,8 +87,8 @@
static Fl_GDI_Graphics_Driver fl_gdi_driver;
static Fl_Display_Device fl_gdi_display(&fl_gdi_driver);
FL_EXPORT Fl_Graphics_Driver *fl_graphics_driver = (Fl_Graphics_Driver*)&fl_gdi_driver; // the current target driver of graphics operations
-FL_EXPORT Fl_Surface_Device *fl_surface = (Fl_Surface_Device*)&fl_gdi_display; // the current target surface of graphics operations
-Fl_Display_Device *Fl_Display_Device::display_device() { return &fl_gdi_display; };
+Fl_Surface_Device* Fl_Surface_Device::_surface = (Fl_Surface_Device*)&fl_gdi_display; // the current target surface of graphics operations
+Fl_Display_Device *Fl_Display_Device::_display = &fl_gdi_display; // the platform display
// dynamic wsock dll handling api:
#if defined(__CYGWIN__) && !defined(SOCKET)
diff --git a/src/Fl_x.cxx b/src/Fl_x.cxx
index a00b4ac13..9215b2256 100644
--- a/src/Fl_x.cxx
+++ b/src/Fl_x.cxx
@@ -54,8 +54,8 @@
static Fl_Xlib_Graphics_Driver fl_xlib_driver;
static Fl_Display_Device fl_xlib_display(&fl_xlib_driver);
FL_EXPORT Fl_Graphics_Driver *fl_graphics_driver = (Fl_Graphics_Driver*)&fl_xlib_driver; // the current target device of graphics operations
-FL_EXPORT Fl_Surface_Device *fl_surface = (Fl_Surface_Device*)&fl_xlib_display; // the current target surface of graphics operations
-Fl_Display_Device *Fl_Display_Device::display_device() { return &fl_xlib_display; };
+Fl_Surface_Device* Fl_Surface_Device::_surface = (Fl_Surface_Device*)&fl_xlib_display; // the current target surface of graphics operations
+Fl_Display_Device *Fl_Display_Device::_display = &fl_xlib_display;// the platform display
////////////////////////////////////////////////////////////////
// interface to poll/select call: