mirror of https://github.com/fltk/fltk
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
This commit is contained in:
parent
bb29437427
commit
18156dfb30
|
@ -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;};
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
@ -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() \
|
||||
|
|
4
FL/x.H
4
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()
|
||||
|
|
|
@ -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");
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
//
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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:
|
||||
|
|
Loading…
Reference in New Issue