FLTK 1.3.3: Fl_Image_Surface Class Reference

FLTK 1.3.3

- Main Page
- Related Pages
- Modules
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | Static Public Attributes | List of all members
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:

## 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_Image * | image ()
| 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_Driver * | driver ()
| 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_Device * | surface ()
| 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

  w | and
  h | give 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

  widget | any FLTK widget (e.g., standard, custom, window, GL view) to draw in the image
  delta_x | and
  delta_y | give 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:

- Fl_Image_Surface.H
- Fl_Image_Surface.cxx

- © 1998-2014 by Bill Spitzak and others.