FLTK 1.3.3
Fl_Image_Surface Class Reference

Directs all graphics requests to an Fl_Image. More...

#include <Fl_Image_Surface.H>

Inheritance diagram for Fl_Image_Surface:
Fl_Surface_Device Fl_Device

Public Member Functions

const char * class_name ()
 Returns the name of the class of this object. More...
 
void draw (Fl_Widget *, int delta_x=0, int delta_y=0)
 Draws a widget in the image surface. More...
 
 Fl_Image_Surface (int w, int h)
 The constructor. More...
 
Fl_RGB_Imageimage ()
 Returns an image made of all drawings sent to the Fl_Image_Surface object. More...
 
void set_current ()
 Use this drawing surface for future graphics requests. More...
 
 ~Fl_Image_Surface ()
 The destructor.
 
- Public Member Functions inherited from Fl_Surface_Device
void driver (Fl_Graphics_Driver *graphics_driver)
 Sets the graphics driver of this drawing surface. More...
 
Fl_Graphics_Driverdriver ()
 Returns the graphics driver of this drawing surface. More...
 
virtual ~Fl_Surface_Device ()
 The destructor. More...
 
- Public Member Functions inherited from Fl_Device
virtual ~Fl_Device ()
 Virtual destructor. More...
 

Static Public Attributes

static const char * class_id = "Fl_Image_Surface"
 
- Static Public Attributes inherited from Fl_Surface_Device
static const char * class_id = "Fl_Surface_Device"
 
- Static Public Attributes inherited from Fl_Device
static const char * class_id = "Fl_Device"
 A string that identifies each subclass of Fl_Device. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from Fl_Surface_Device
static Fl_Surface_Devicesurface ()
 the surface that currently receives graphics output
 
- Protected Member Functions inherited from Fl_Surface_Device
 Fl_Surface_Device (Fl_Graphics_Driver *graphics_driver)
 Constructor that sets the graphics driver to use for the created surface. More...
 

Detailed Description

Directs all graphics requests to an Fl_Image.

After creation of an Fl_Image_Surface object, call set_current() on it, and all subsequent graphics requests will be recorded in the image. It's possible to draw widgets (using Fl_Image_Surface::draw()) or to use any of the Drawing functions or the Color & Font functions. Finally, call image() on the object to obtain a newly allocated Fl_RGB_Image object.
Fl_GL_Window objects can be drawn in the image as well.


Usage example:

Fl_Widget *g = ...; // a widget you want to draw in an image
Fl_Image_Surface *img_surf = new Fl_Image_Surface(g->w(), g->h()); // create an Fl_Image_Surface object
img_surf->set_current(); // direct graphics requests to the image
fl_color(FL_WHITE); fl_rectf(0, 0, g->w(), g->h()); // draw a white background
img_surf->draw(g); // draw the g widget in the image
Fl_RGB_Image* image = img_surf->image(); // get the resulting image
delete img_surf; // delete the img_surf object
Fl_Display_Device::display_device()->set_current(); // direct graphics requests back to the display

Constructor & Destructor Documentation

Fl_Image_Surface::Fl_Image_Surface ( int  w,
int  h 
)

The constructor.

Parameters
wand
hgive the size in pixels of the resulting image.

Member Function Documentation

const char* Fl_Image_Surface::class_name ( )
inlinevirtual

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_Surface_Device.

void Fl_Image_Surface::draw ( Fl_Widget widget,
int  delta_x = 0,
int  delta_y = 0 
)

Draws a widget in the image surface.

Parameters
widgetany FLTK widget (e.g., standard, custom, window, GL view) to draw in the image
delta_xand
delta_ygive the position in the image of the top-left corner of the widget
Fl_RGB_Image * Fl_Image_Surface::image ( )

Returns an image made of all drawings sent to the Fl_Image_Surface object.

The returned object contains its own copy of the RGB data.

void Fl_Image_Surface::set_current ( void  )
virtual

Use this drawing surface for future graphics requests.

Reimplemented from Fl_Surface_Device.


The documentation for this class was generated from the following files: