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_Copy_Surface Class Reference

Supports copying of graphical data to the clipboard. More...

`#include <Fl_Copy_Surface.H>`

Inheritance diagram for Fl_Copy_Surface:

## Public Member Functions
const char * | class_name ()
| Returns the name of the class of this object. More...
void | draw (Fl_Widget *widget, int delta_x=0, int delta_y=0)
| Copies a widget in the clipboard. More...
| Fl_Copy_Surface (int w, int h)
| Constructor. More...
void | set_current ()
| Use this drawing surface for future graphics requests. More...
| ~Fl_Copy_Surface ()
| Destructor.
Public Member Functions inherited from Fl_Surface_Device
const char * | class_name ()
| Returns the name of the class of this object. More...
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_Copy_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

Supports copying of graphical data to the clipboard.

After creation of an Fl_Copy_Surface object, call set_current() on it, and all subsequent graphics requests will be recorded in the clipboard. It's possible to draw widgets (using Fl_Copy_Surface::draw() ) or to use any of the Drawing functions or the Color & Font functions. Finally, delete the Fl_Copy_Surface object to load the clipboard with the graphical data.
Fl_GL_Window 's can be copied to the clipboard as well.
Usage example:

Fl_Widget *g = ...; // a widget you want to copy to the clipboard
Fl_Copy_Surface *copy_surf = new Fl_Copy_Surface(g->w(), g->h()); // create an Fl_Copy_Surface object
copy_surf->set_current(); // direct graphics requests to the clipboard
fl_color(FL_WHITE); fl_rectf(0, 0, g->w(), g->h()); // draw a white background
copy_surf->draw(g); // draw the g widget in the clipboard
delete copy_surf; // after this, the clipboard is loaded
Fl_Display_Device::display_device()->set_current(); // direct graphics requests back to the display

Platform details:

- MSWindows: Transparent RGB images copy without transparency. The graphical data is copied to the clipboard as an 'enhanced metafile'.
- Mac OS: The graphical data is copied to the clipboard (a.k.a. pasteboard) in 2 'flavors': 1) in vectorial form as PDF data; 2) in bitmap form as a TIFF image (or PICT for Mac OS 10.3). Applications to which the clipboard content is pasted can use the flavor that suits them best.
- X11: the graphical data is copied to the clipboard as an image in BMP format.

## Constructor & Destructor Documentation

Fl_Copy_Surface::Fl_Copy_Surface | ( | int | w,
|  | int | h
| ) |  |

Constructor.

Parameters

  w | and
  h | are the width and height of the clipboard surface in pixels where drawing will occur.

## Member Function Documentation

const char* Fl_Copy_Surface::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.

void Fl_Copy_Surface::draw | ( | Fl_Widget * | widget,
|  | int | delta_x = `0`,
|  | int | delta_y = `0`
| ) |  |

Copies a widget in the clipboard.

Parameters

  widget | any FLTK widget (e.g., standard, custom, window, GL view) to copy
  delta_x | and
  delta_y | give the position in the clipboard of the top-left corner of the widget

void Fl_Copy_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_Copy_Surface.H
- Fl_Copy_Surface.cxx

- © 1998-2014 by Bill Spitzak and others.