A drawing surface that's susceptible to receive graphical output. More...
#include <Fl_Device.H>
Public Member Functions | |
const char * | class_name () |
Returns the name of the class of this object. | |
Fl_Graphics_Driver * | driver () |
Returns the graphics driver of this drawing surface. | |
void | driver (Fl_Graphics_Driver *graphics_driver) |
Sets the graphics driver of this drawing surface. | |
virtual void | set_current (void) |
Make this surface the current drawing surface. | |
virtual | ~Fl_Surface_Device () |
The destructor. | |
Static Public Member Functions | |
static Fl_Surface_Device * | surface () |
The current drawing surface. | |
Static Public Attributes | |
static const char * | class_id = "Fl_Surface_Device" |
A string that identifies each subclass of Fl_Device. | |
Protected Member Functions | |
Fl_Surface_Device (Fl_Graphics_Driver *graphics_driver) | |
Constructor that sets the graphics driver to use for the created surface. |
A drawing surface that's susceptible to receive graphical output.
Any FLTK application has at any time a current drawing surface to which all drawing requests are directed. The current surface is given by Fl_Surface_Device::surface(). When main() begins running, the current drawing surface has been set to the computer's display, an instance of the Fl_Display_Device class.
A drawing surface other than the computer's display, is typically used as follows:
surface
, an object from a particular Fl_Surface_Device derived class (e.g., Fl_Copy_Surface, Fl_Printer). Fl_Surface_Device *old_current = Fl_Surface_Device::surface();
surface->set_current()
; to redirect all graphics requests to surface
which becomes the new current drawing surface (not necessary with class Fl_Printer because it is done by Fl_Printer::start_job()). old_current->set_current()
;. surface
. Fl_Surface_Device::Fl_Surface_Device | ( | Fl_Graphics_Driver * | graphics_driver | ) | [inline, protected] |
Constructor that sets the graphics driver to use for the created surface.
virtual Fl_Surface_Device::~Fl_Surface_Device | ( | ) | [inline, virtual] |
The destructor.
const char* Fl_Surface_Device::class_name | ( | ) | [inline, virtual] |
Returns the name of the class of this object.
Use of the class_name() function is discouraged because it will be removed from future FLTK versions.
The class of an instance of an Fl_Device subclass can be checked with code such as:
if ( instance->class_name() == Fl_Printer::class_id ) { ... }
Reimplemented from Fl_Device.
Reimplemented in Fl_Copy_Surface, Fl_Display_Device, Fl_Image_Surface, Fl_Paged_Device, Fl_PostScript_File_Device, Fl_System_Printer, Fl_PostScript_Printer, and Fl_Printer.
Fl_Graphics_Driver* Fl_Surface_Device::driver | ( | void | ) | [inline] |
Returns the graphics driver of this drawing surface.
Reimplemented in Fl_PostScript_File_Device, and Fl_Printer.
void Fl_Surface_Device::driver | ( | Fl_Graphics_Driver * | graphics_driver | ) | [inline] |
Sets the graphics driver of this drawing surface.
void Fl_Surface_Device::set_current | ( | void | ) | [virtual] |
Make this surface the current drawing surface.
This surface will receive all future graphics requests.
Reimplemented in Fl_Copy_Surface, Fl_Image_Surface, and Fl_Printer.
static Fl_Surface_Device* Fl_Surface_Device::surface | ( | ) | [inline, static] |
The current drawing surface.
In other words, the Fl_Surface_Device object that currently receives all graphics output
const char * Fl_Surface_Device::class_id = "Fl_Surface_Device" [static] |
A string that identifies each subclass of Fl_Device.
Function class_name() applied to a device of this class returns this string.
Reimplemented from Fl_Device.
Reimplemented in Fl_Copy_Surface, Fl_Display_Device, Fl_Image_Surface, Fl_Paged_Device, Fl_PostScript_File_Device, Fl_System_Printer, Fl_PostScript_Printer, and Fl_Printer.