FLTK 1.3.8
|
Directs all graphics requests to an Fl_Image. More...
#include <Fl_Image_Surface.H>
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... | |
void | draw_decorated_window (Fl_Window *win, int delta_x=0, int delta_y=0) |
Draws a window and its borders and title bar to the image drawing surface. More... | |
Fl_Image_Surface (int w, int h, int highres=0) | |
Constructor with optional high resolution. More... | |
Fl_Shared_Image * | highres_image () |
Returns a possibly high resolution image made of all drawings sent to the Fl_Image_Surface object. More... | |
Fl_RGB_Image * | image () |
Returns an image made of all drawings sent to the Fl_Image_Surface object. More... | |
void | set_current () |
Make this surface the current drawing surface. More... | |
~Fl_Image_Surface () | |
The destructor. | |
Public Member Functions inherited from Fl_Surface_Device | |
const char * | class_name () |
Returns the name of the class of this object. More... | |
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. More... | |
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. More... | |
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 current drawing surface. More... | |
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. | |
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_Image_Surface::Fl_Image_Surface | ( | int | w, |
int | h, | ||
int | highres = 0 |
||
) |
Constructor with optional high resolution.
w | and |
h | give the size in pixels of the resulting image. |
highres | if non-zero, the surface pixel size is twice as high and wide as w and h, which is useful to draw it later on a high resolution display (e.g., retina display). This is implemented for the Mac OS platform only. If highres is non-zero, use Fl_Image_Surface::highres_image() to get the image data. |
|
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:
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.
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 |
void Fl_Image_Surface::draw_decorated_window | ( | Fl_Window * | win, |
int | delta_x = 0 , |
||
int | delta_y = 0 |
||
) |
Draws a window and its borders and title bar to the image drawing surface.
win | an FLTK window to draw in the image |
delta_x | and |
delta_y | give the position in the image of the top-left corner of the window's title bar |
Fl_Shared_Image * Fl_Image_Surface::highres_image | ( | ) |
Returns a possibly high resolution image made of all drawings sent to the Fl_Image_Surface object.
The Fl_Image_Surface object should have been constructed with Fl_Image_Surface(W, H, 1). The returned image is scaled to a size of WxH drawing units and may have a pixel size twice as wide and high. The returned object should be deallocated with Fl_Shared_Image::release() after use.
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. Prefer Fl_Image_Surface::highres_image() if the surface was constructed with the highres option on.
|
virtual |
Make this surface the current drawing surface.
This surface will receive all future graphics requests.
Reimplemented from Fl_Surface_Device.