17#ifndef Fl_Image_Surface_H
18#define Fl_Image_Surface_H
20#include <FL/Fl_Widget_Surface.H>
66 friend class Fl_Graphics_Driver;
68 class Fl_Image_Surface_Driver *platform_surface;
108 int external_offscreen;
109 Fl_Image_Surface_Driver(
int w,
int h,
int ,
Fl_Offscreen off) :
Fl_Widget_Surface(NULL), width(w), height(h), offscreen(off) {external_offscreen = (off != 0);}
110 virtual ~Fl_Image_Surface_Driver() {}
111 static void copy_with_mask(Fl_RGB_Image* mask,
uchar *dib_dst,
uchar *dib_src,
112 int line_size,
bool bottom_to_top);
113 static Fl_RGB_Image *RGB3_to_RGB1(
const Fl_RGB_Image *rgb3,
int W,
int H);
118 virtual Fl_RGB_Image *image() = 0;
119 virtual
void mask(const Fl_RGB_Image *) {}
124 static Fl_Image_Surface_Driver *newImageSurfaceDriver(
int w,
int h,
int high_res,
Fl_Offscreen off);
127 Fl_Image_Surface *image_surface() {
return image_surface_; }
Fl_Image, Fl_RGB_Image classes.
Directs all graphics requests to an Fl_Image.
Definition Fl_Image_Surface.H:65
Fl_Shared_Image * highres_image()
Returns a possibly high resolution image made of all drawings sent to the Fl_Image_Surface object.
Definition Fl_Image_Surface.cxx:168
void rescale()
Adapts the Fl_Image_Surface object to the new value of the GUI scale factor.
Definition Fl_Image_Surface.cxx:190
Fl_Image_Surface(int w, int h, int high_res=0, Fl_Offscreen off=0)
Constructor with optional high resolution.
Definition Fl_Image_Surface.cxx:38
Fl_RGB_Image * image()
Returns a depth-3 image made of all drawings sent to the Fl_Image_Surface object.
Definition Fl_Image_Surface.cxx:151
void mask(const Fl_RGB_Image *)
Defines a mask applied to drawings made after use of this function.
Definition Fl_Image_Surface.cxx:260
Fl_Offscreen offscreen()
Returns the Fl_Offscreen object associated to the image surface.
Definition Fl_Image_Surface.cxx:77
The Fl_RGB_Image class supports caching and drawing of full-color images with 1 to 4 channels of colo...
Definition Fl_Image.H:339
This class supports caching, loading, and drawing of image files.
Definition Fl_Shared_Image.H:94
virtual bool is_current()
Is this surface the current drawing surface?
Definition Fl_Device.cxx:103
virtual void set_current(void)
Make this surface the current drawing surface.
Definition Fl_Device.cxx:91
#define FL_OVERRIDE
This macro makes it safe to use the C++11 keyword override with older compilers.
Definition fl_attr.h:46
unsigned char uchar
unsigned char
Definition fl_types.h:30