FLTK 1.3.8: Fl_Copy_Surface Class Reference

FLTK 1.3.8

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.
void | draw (Fl_Widget *widget, int delta_x=0, int delta_y=0)
| Copies a widget in the clipboard.
void | draw_decorated_window (Fl_Window *win, int delta_x=0, int delta_y=0)
| Copies a window and its borders and title bar to the clipboard.
| Fl_Copy_Surface (int w, int h)
| Constructor.
int | h ()
| Returns the pixel height of the copy surface.
void | set_current ()
| Make this surface the current drawing surface.
int | w ()
| Returns the pixel width of the copy surface.
| ~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.
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.
Public Member Functions inherited from Fl_Device
virtual const char * | class_name ()
| Returns the name of the class of this object.
virtual | ~Fl_Device ()
| Virtual destructor.

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

## Additional Inherited Members
Static Public Member Functions inherited from Fl_Surface_Device
static Fl_Surface_Device * | surface ()
| The current drawing surface.
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.

## 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
Fl_Copy_Surface
Supports copying of graphical data to the clipboard.
Definition: Fl_Copy_Surface.H:51
Fl_Copy_Surface::set_current
void set_current()
Make this surface the current drawing surface.
Definition: Fl_Copy_Surface.cxx:173
Fl_Copy_Surface::draw
void draw(Fl_Widget *widget, int delta_x=0, int delta_y=0)
Copies a widget in the clipboard.
Definition: Fl_Copy_Surface.cxx:168
Fl_Display_Device::display_device
static Fl_Display_Device * display_device()
Returns the platform display device.
Definition: Fl_Device.cxx:83
Fl_Surface_Device::set_current
virtual void set_current(void)
Make this surface the current drawing surface.
Definition: Fl_Device.cxx:44
Fl_Widget
Fl_Widget is the base class for all widgets in FLTK.
Definition: Fl_Widget.H:101
Fl_Widget::w
void w(int v)
Internal use only.
Definition: Fl_Widget.H:143
Fl_Widget::h
void h(int v)
Internal use only.
Definition: Fl_Widget.H:145
fl_color
Fl_Color fl_color()
Returns the last fl_color() that was set.
Definition: fl_draw.H:70
fl_rectf
void fl_rectf(int x, int y, int w, int h)
Colors with current color a rectangle that exactly fills the given bounding box.
Definition: fl_draw.H:206

Platform details:

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

## Constructor & Destructor Documentation

## ◆ Fl_Copy_Surface()

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

## ◆ class_name()

const char * Fl_Copy_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_Device.

## ◆ draw()

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

## ◆ draw_decorated_window()

void Fl_Copy_Surface::draw_decorated_window | ( | Fl_Window * | win,
|  | int | delta_x = `0`,
|  | int | delta_y = `0`
| ) |  |

Copies a window and its borders and title bar to the clipboard.

Parameters

  win | an FLTK window to copy
  delta_x | and
  delta_y | give the position in the clipboard of the top-left corner of the window's title bar

## ◆ set_current()

void Fl_Copy_Surface::set_current | ( | void |  | ) |
| virtual

Make this surface the current drawing surface.

This surface will receive all 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

- Copyright © 1998-2021 by Bill Spitzak and others.