fltk 1.3.0rc3
About: FLTK (Fast Light Tool Kit) is a cross-platform C++ GUI toolkit for UNIX/Linux (X11), Microsoft Windows, and MacOS X. Release candidate.
  SfR Fresh Dox: fltk-1.3.0rc3-source.tar.gz ("inofficial" and yet experimental doxygen-generated source code documentation)  

Fl_RGB_Image Class Reference

#include <Fl_Image.H>

Inheritance diagram for Fl_RGB_Image:
Collaboration diagram for Fl_RGB_Image:

List of all members.

Public Member Functions

 Fl_RGB_Image (const uchar *bits, int W, int H, int D=3, int LD=0)
virtual ~Fl_RGB_Image ()
virtual Fl_Imagecopy (int W, int H)
Fl_Imagecopy ()
virtual void color_average (Fl_Color c, float i)
virtual void desaturate ()
virtual void draw (int X, int Y, int W, int H, int cx=0, int cy=0)
void draw (int X, int Y)
virtual void label (Fl_Widget *w)
virtual void label (Fl_Menu_Item *m)
virtual void uncache ()

Public Attributes

const uchararray
int alloc_array

Friends

class Fl_Quartz_Graphics_Driver
class Fl_GDI_Graphics_Driver
class Fl_Xlib_Graphics_Driver

Detailed Description

The Fl_RGB_Image class supports caching and drawing of full-color images with 1 to 4 channels of color information. Images with an even number of channels are assumed to contain alpha information, which is used to blend the image with the contents of the screen.

Fl_RGB_Image is defined in <FL/Fl_Image.H>, however for compatibility reasons <FL/Fl_RGB_Image.H> should be included.

Definition at line 190 of file Fl_Image.H.


Constructor & Destructor Documentation

Fl_RGB_Image::Fl_RGB_Image ( const uchar bits,
int  W,
int  H,
int  D = 3,
int  LD = 0 
) [inline]

The constructor creates a new image from the specified data.

Definition at line 212 of file Fl_Image.H.

References Fl_Image::data(), and Fl_Image::ld().

Referenced by copy().

Fl_RGB_Image::~Fl_RGB_Image ( ) [virtual]

The destructor free all memory and server resources that are used by the image.

Definition at line 176 of file Fl_Image.cxx.

References alloc_array, array, and uncache().


Member Function Documentation

void Fl_RGB_Image::color_average ( Fl_Color  c,
float  i 
) [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.

Definition at line 280 of file Fl_Image.cxx.

References alloc_array, array, b, Fl_Image::d(), f, Fl::get_color(), Fl_Image::h(), Fl_Image::ld(), uncache(), Fl_Image::w(), x, and y.

Fl_Image* Fl_RGB_Image::copy ( ) [inline]

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.

Definition at line 216 of file Fl_Image.H.

References copy(), Fl_Image::h(), and Fl_Image::w().

Referenced by copy().

Fl_Image * Fl_RGB_Image::copy ( int  W,
int  H 
) [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.

Definition at line 200 of file Fl_Image.cxx.

References alloc_array, array, Fl_Image::d(), dh, dx, dy, Fl_RGB_Image(), H, Fl_Image::h(), Fl_Image::ld(), and Fl_Image::w().

void Fl_RGB_Image::desaturate ( ) [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.

Definition at line 339 of file Fl_Image.cxx.

References alloc_array, array, Fl_Image::d(), Fl_Image::h(), Fl_Image::ld(), uncache(), Fl_Image::w(), x, and y.

void Fl_RGB_Image::draw ( int  X,
int  Y,
int  W,
int  H,
int  cx = 0,
int  cy = 0 
) [virtual]

The draw() methods draw the image. 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.

Definition at line 436 of file Fl_Image.cxx.

References Fl_Graphics_Driver::draw(), and fl_graphics_driver.

void Fl_RGB_Image::draw ( int  X,
int  Y 
) [inline]

The draw() methods draw the image. This form specifies the upper-lefthand corner of the image

Reimplemented from Fl_Image.

Definition at line 220 of file Fl_Image.H.

References draw(), Fl_Image::h(), and Fl_Image::w().

Referenced by draw().

void Fl_RGB_Image::label ( Fl_Menu_Item m) [virtual]

The label() methods are an obsolete way to set the image attribute of a widget or menu item. Use the image() or deimage() methods of the Fl_Widget and Fl_Menu_Item classes instead.

Reimplemented from Fl_Image.

Definition at line 582 of file Fl_Image.cxx.

References _FL_IMAGE_LABEL, Fl_Menu_Item::label(), Fl_Image::labeltype(), Fl_Image::measure(), and Fl::set_labeltype().

void Fl_RGB_Image::label ( Fl_Widget widget) [virtual]

The label() methods are an obsolete way to set the image attribute of a widget or menu item. Use the image() or deimage() methods of the Fl_Widget and Fl_Menu_Item classes instead.

Reimplemented from Fl_Image.

Definition at line 578 of file Fl_Image.cxx.

References Fl_Widget::image().

void Fl_RGB_Image::uncache ( ) [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.

Definition at line 181 of file Fl_Image.cxx.

References fl_delete_bitmask(), and fl_delete_offscreen().

Referenced by color_average(), desaturate(), and ~Fl_RGB_Image().


Friends And Related Function Documentation

friend class Fl_GDI_Graphics_Driver [friend]

Definition at line 192 of file Fl_Image.H.

friend class Fl_Quartz_Graphics_Driver [friend]

Definition at line 191 of file Fl_Image.H.

friend class Fl_Xlib_Graphics_Driver [friend]

Definition at line 193 of file Fl_Image.H.


Member Data Documentation


The documentation for this class was generated from the following files: