FLTK 1.3.3
|
This class supports caching, loading, and drawing of image files. More...
#include <Fl_Shared_Image.H>
Public Member Functions | |
virtual void | color_average (Fl_Color c, float i) |
The color_average() method averages the colors in the image with the FLTK color value c. More... | |
virtual Fl_Image * | copy (int W, int H) |
The copy() method creates a copy of the specified image. More... | |
Fl_Image * | copy () |
virtual void | desaturate () |
The desaturate() method converts an image to grayscale. More... | |
virtual void | draw (int X, int Y, int W, int H, int cx, int cy) |
Draws the image with a bounding box. More... | |
void | draw (int X, int Y) |
const char * | name () |
Returns the filename of the shared image. | |
int | refcount () |
Returns the number of references of this shared image. More... | |
void | release () |
Releases and possibly destroys (if refcount <=0) a shared image. More... | |
void | reload () |
Reloads the shared image from disk. | |
virtual void | uncache () |
If the image has been cached for display, delete the cache data. More... | |
![]() | |
Fl_Image * | copy () |
The copy() method creates a copy of the specified image. More... | |
int | count () const |
The count() method returns the number of data values associated with the image. More... | |
int | d () const |
Returns the current image depth. More... | |
const char *const * | data () const |
Returns a pointer to the current image data array. More... | |
void | draw (int X, int Y) |
Draws the image. More... | |
Fl_Image (int W, int H, int D) | |
The constructor creates an empty image with the specified width, height, and depth. More... | |
int | h () const |
Returns the current image height in pixels. | |
void | inactive () |
The inactive() method calls color_average(FL_BACKGROUND_COLOR, 0.33f) to produce an image that appears grayed out. More... | |
virtual void | label (Fl_Widget *w) |
The label() methods are an obsolete way to set the image attribute of a widget or menu item. More... | |
virtual void | label (Fl_Menu_Item *m) |
The label() methods are an obsolete way to set the image attribute of a widget or menu item. More... | |
int | ld () const |
Returns the current line data size in bytes. More... | |
int | w () const |
Returns the current image width in pixels. | |
virtual | ~Fl_Image () |
The destructor is a virtual method that frees all memory used by the image. | |
Static Public Member Functions | |
static void | add_handler (Fl_Shared_Handler f) |
Adds a shared image handler, which is basically a test function for adding new formats. | |
static Fl_Shared_Image * | find (const char *n, int W=0, int H=0) |
Finds a shared image from its named and size specifications. | |
static Fl_Shared_Image * | get (const char *n, int W=0, int H=0) |
Find or load an image that can be shared by multiple widgets. More... | |
static Fl_Shared_Image ** | images () |
Returns the Fl_Shared_Image* array. | |
static int | num_images () |
Returns the total number of shared images in the array. More... | |
static void | remove_handler (Fl_Shared_Handler f) |
Removes a shared image handler. | |
![]() | |
static void | RGB_scaling (Fl_RGB_Scaling) |
Sets the RGB image scaling method used for copy(int, int). More... | |
static Fl_RGB_Scaling | RGB_scaling () |
Returns the currently used RGB image scaling method. More... | |
Protected Member Functions | |
void | add () |
Fl_Shared_Image () | |
Creates an empty shared image. More... | |
Fl_Shared_Image (const char *n, Fl_Image *img=0) | |
Creates a shared image from its filename and its corresponding Fl_Image* img. More... | |
void | update () |
virtual | ~Fl_Shared_Image () |
The destructor free all memory and server resources that are used by the image. More... | |
![]() | |
void | d (int D) |
Sets the current image depth. | |
void | data (const char *const *p, int c) |
Sets the current array pointer and count of pointers in the array. | |
void | draw_empty (int X, int Y) |
The protected method draw_empty() draws a box with an X in it. More... | |
void | h (int H) |
Sets the current image height in pixels. | |
void | ld (int LD) |
Sets the current line data size in bytes. | |
void | w (int W) |
Sets the current image width in pixels. | |
Static Protected Member Functions | |
static int | compare (Fl_Shared_Image **i0, Fl_Shared_Image **i1) |
![]() | |
static void | labeltype (const Fl_Label *lo, int lx, int ly, int lw, int lh, Fl_Align la) |
static void | measure (const Fl_Label *lo, int &lw, int &lh) |
Protected Attributes | |
int | alloc_image_ |
Fl_Image * | image_ |
const char * | name_ |
int | original_ |
int | refcount_ |
Static Protected Attributes | |
static int | alloc_handlers_ = 0 |
static int | alloc_images_ = 0 |
static Fl_Shared_Handler * | handlers_ = 0 |
static Fl_Shared_Image ** | images_ = 0 |
static int | num_handlers_ = 0 |
static int | num_images_ = 0 |
Friends | |
class | Fl_JPEG_Image |
class | Fl_PNG_Image |
This class supports caching, loading, and drawing of image files.
Most applications will also want to link against the fltk_images library and call the fl_register_images() function to support standard image formats such as BMP, GIF, JPEG, and PNG.
|
protected |
Creates an empty shared image.
The constructors create a new shared image record in the image cache.
The constructors are protected and cannot be used directly from a program. Use the get() method instead.
|
protected |
Creates a shared image from its filename and its corresponding Fl_Image* img.
The constructors create a new shared image record in the image cache.
The constructors are protected and cannot be used directly from a program. Use the get() method instead.
|
protectedvirtual |
The destructor free all memory and server resources that are used by the image.
The destructor is protected and cannot be used directly from a program. Use the Fl_Shared_Image::release() method instead.
|
virtual |
The color_average() method averages the colors in the image with the FLTK color value c.
The i argument specifies the amount of the original image to combine with the color, so a value of 1.0 results in no color blend, and a value of 0.0 results in a constant image of the specified color. The original image data is not altered by this method.
Reimplemented from Fl_Image.
|
virtual |
The copy() method creates a copy of the specified image.
If the width and height are provided, the image is resized to the specified size. The image should be deleted (or in the case of Fl_Shared_Image, released) when you are done with it.
Reimplemented from Fl_Image.
|
virtual |
The desaturate() method converts an image to grayscale.
If the image contains an alpha channel (depth = 4), the alpha channel is preserved. This method does not alter the original image data.
Reimplemented from Fl_Image.
|
virtual |
Draws the image with a bounding box.
This form specifies a bounding box for the image, with the origin (upper-lefthand corner) of the image offset by the cx and cy arguments.
Reimplemented from Fl_Image.
|
static |
Find or load an image that can be shared by multiple widgets.
Gets a shared image, if it exists already ; it will return it. If it does not exist or if it exist but with other size, then the existing image is deleted and replaced by a new image from the n filename of the proper dimension. If n is not a valid image filename, then get() will return NULL.
Shared JPEG and PNG images can also be created from memory by using their named memory access constructor.
n | name of the image |
W,H | desired size |
|
static |
Returns the total number of shared images in the array.
|
inline |
Returns the number of references of this shared image.
When reference is below 1, the image is deleted.
void Fl_Shared_Image::release | ( | ) |
Releases and possibly destroys (if refcount <=0) a shared image.
In the latter case, it will reorganize the shared image array so that no hole will occur.
|
virtual |
If the image has been cached for display, delete the cache data.
This allows you to change the data used for the image and then redraw it without recreating an image object.
Reimplemented from Fl_Image.