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

Fl_Pixmap Class Reference

#include <Fl_Pixmap.H>

Inheritance diagram for Fl_Pixmap:
[legend]
Collaboration diagram for Fl_Pixmap:
[legend]

Public Member Functions

 Fl_Pixmap (char *const *D)
 
 Fl_Pixmap (uchar *const *D)
 
 Fl_Pixmap (const char *const *D)
 
 Fl_Pixmap (const uchar *const *D)
 
virtual ~Fl_Pixmap ()
 
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 Member Functions inherited from Fl_Image
int w () const
 
int h () const
 
int d () const
 
int ld () const
 
int count () const
 
const char *constdata () const
 
int fail ()
 
 Fl_Image (int W, int H, int D)
 
virtual ~Fl_Image ()
 
Fl_Imagecopy ()
 
void inactive ()
 
void draw (int X, int Y)
 

Public Attributes

int alloc_data
 

Protected Member Functions

void measure ()
 
- Protected Member Functions inherited from Fl_Image
void w (int W)
 
void h (int H)
 
void d (int D)
 
void ld (int LD)
 
void data (const char *const *p, int c)
 
void draw_empty (int X, int Y)
 

Private Member Functions

void copy_data ()
 
void delete_data ()
 
void set_data (const char *const *p)
 
int prepare (int XP, int YP, int WP, int HP, int &cx, int &cy, int &X, int &Y, int &W, int &H)
 

Private Attributes

unsigned id_
 
unsigned mask_
 

Friends

class Fl_Quartz_Graphics_Driver
 
class Fl_GDI_Graphics_Driver
 
class Fl_GDI_Printer_Graphics_Driver
 
class Fl_Xlib_Graphics_Driver
 

Additional Inherited Members

- Static Public Member Functions inherited from Fl_Image
static void RGB_scaling (Fl_RGB_Scaling)
 
static Fl_RGB_Scaling RGB_scaling ()
 
- Static Public Attributes inherited from Fl_Image
static const int ERR_NO_IMAGE = -1
 
static const int ERR_FILE_ACCESS = -2
 
static const int ERR_FORMAT = -3
 
- Static Protected Member Functions inherited from Fl_Image
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)
 

Detailed Description

The Fl_Pixmap class supports caching and drawing of colormap (pixmap) images, including transparency.

Definition at line 41 of file Fl_Pixmap.H.

Constructor & Destructor Documentation

◆ Fl_Pixmap() [1/4]

Fl_Pixmap::Fl_Pixmap ( char *const D)
inlineexplicit

The constructors create a new pixmap from the specified XPM data.

Definition at line 79 of file Fl_Pixmap.H.

References Fl_Image::measure().

Referenced by copy().

◆ Fl_Pixmap() [2/4]

Fl_Pixmap::Fl_Pixmap ( uchar *const D)
inlineexplicit

The constructors create a new pixmap from the specified XPM data.

Definition at line 81 of file Fl_Pixmap.H.

References Fl_Image::measure().

◆ Fl_Pixmap() [3/4]

Fl_Pixmap::Fl_Pixmap ( const char *const D)
inlineexplicit

The constructors create a new pixmap from the specified XPM data.

Definition at line 83 of file Fl_Pixmap.H.

References Fl_Image::measure().

◆ Fl_Pixmap() [4/4]

Fl_Pixmap::Fl_Pixmap ( const uchar *const D)
inlineexplicit

The constructors create a new pixmap from the specified XPM data.

Definition at line 85 of file Fl_Pixmap.H.

References Fl_Image::measure().

◆ ~Fl_Pixmap()

Fl_Pixmap::~Fl_Pixmap ( )
virtual

The destructor frees all memory and server resources that are used by the pixmap.

Definition at line 248 of file Fl_Pixmap.cxx.

References delete_data(), and uncache().

Member Function Documentation

◆ color_average()

void Fl_Pixmap::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.

An internal copy is made of the original image before changes are applied, to avoid modifying the original image.

Reimplemented from Fl_Image.

Definition at line 421 of file Fl_Pixmap.cxx.

References b, chars_per_pixel, cmap, color(), copy_data(), Fl_Image::data(), f, fl_parse_color(), Fl::get_color(), ncolors, p, and uncache().

◆ copy() [1/2]

Fl_Image* Fl_Pixmap::copy ( )
inline

Definition at line 88 of file Fl_Pixmap.H.

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

Referenced by copy().

◆ copy() [2/2]

Fl_Image * Fl_Pixmap::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 323 of file Fl_Pixmap.cxx.

References alloc_data, chars_per_pixel, copy_data(), Fl_Image::data(), dx, dy, Fl_Pixmap(), H, Fl_Image::h(), ncolors, and Fl_Image::w().

◆ copy_data()

void Fl_Pixmap::copy_data ( )
private

Definition at line 274 of file Fl_Pixmap.cxx.

References alloc_data, chars_per_pixel, Fl_Image::data(), Fl_Image::h(), ncolors, and Fl_Image::w().

Referenced by color_average(), copy(), and desaturate().

◆ delete_data()

void Fl_Pixmap::delete_data ( )
private

Definition at line 494 of file Fl_Pixmap.cxx.

References alloc_data, Fl_Image::count(), and Fl_Image::data().

Referenced by ~Fl_Pixmap().

◆ desaturate()

void Fl_Pixmap::desaturate ( )
virtual

The desaturate() method converts an image to grayscale. If the image contains an alpha channel (depth = 4), the alpha channel is preserved.

An internal copy is made of the original image before changes are applied, to avoid modifying the original image.

Reimplemented from Fl_Image.

Definition at line 513 of file Fl_Pixmap.cxx.

References b, chars_per_pixel, cmap, copy_data(), Fl_Image::data(), fl_parse_color(), ncolors, p, and uncache().

◆ draw() [1/2]

void Fl_Pixmap::draw ( int  X,
int  Y 
)
inline

Definition at line 92 of file Fl_Pixmap.H.

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

Referenced by draw().

◆ draw() [2/2]

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

Draws the image with a bounding box. Arguments X,Y,W,H specify a bounding box for the image, with the origin
(upper-left corner) of the image offset by the cx and cy arguments.

In other words: fl_push_clip(X,Y,W,H) is applied, the image is drawn with its upper-left corner at X-cx,Y-cy and its own width and height, fl_pop_clip() is applied.

Reimplemented from Fl_Image.

Definition at line 72 of file Fl_Pixmap.cxx.

References Fl_Graphics_Driver::draw(), and fl_graphics_driver.

Referenced by Fl_FormsPixmap::draw(), and Widget_Browser::item_draw().

◆ label() [1/2]

void Fl_Pixmap::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 269 of file Fl_Pixmap.cxx.

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

◆ label() [2/2]

void Fl_Pixmap::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 265 of file Fl_Pixmap.cxx.

References Fl_Widget::image().

◆ measure()

void Fl_Pixmap::measure ( )
protected

Definition at line 62 of file Fl_Pixmap.cxx.

References Fl_Image::data(), fl_measure_pixmap(), H, Fl_Image::h(), and Fl_Image::w().

Referenced by Fl_XPM_Image::Fl_XPM_Image(), and prepare().

◆ prepare()

int Fl_Pixmap::prepare ( int  XP,
int  YP,
int  WP,
int  HP,
int &  cx,
int &  cy,
int &  X,
int &  Y,
int &  W,
int &  H 
)
private

◆ set_data()

void Fl_Pixmap::set_data ( const char *const p)
private

Definition at line 501 of file Fl_Pixmap.cxx.

References Fl_Image::data(), ncolors, and p.

◆ uncache()

void Fl_Pixmap::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 253 of file Fl_Pixmap.cxx.

References fl_delete_bitmask(), fl_delete_offscreen(), id_, and mask_.

Referenced by color_average(), desaturate(), Fl::reload_scheme(), and ~Fl_Pixmap().

Friends And Related Function Documentation

◆ Fl_GDI_Graphics_Driver

friend class Fl_GDI_Graphics_Driver
friend

Definition at line 43 of file Fl_Pixmap.H.

◆ Fl_GDI_Printer_Graphics_Driver

friend class Fl_GDI_Printer_Graphics_Driver
friend

Definition at line 44 of file Fl_Pixmap.H.

◆ Fl_Quartz_Graphics_Driver

friend class Fl_Quartz_Graphics_Driver
friend

Definition at line 42 of file Fl_Pixmap.H.

◆ Fl_Xlib_Graphics_Driver

friend class Fl_Xlib_Graphics_Driver
friend

Definition at line 45 of file Fl_Pixmap.H.

Member Data Documentation

◆ alloc_data

int Fl_Pixmap::alloc_data

◆ id_

unsigned Fl_Pixmap::id_
private

Definition at line 72 of file Fl_Pixmap.H.

Referenced by Fl_Xlib_Graphics_Driver::draw(), prepare(), and uncache().

◆ mask_

unsigned Fl_Pixmap::mask_
private

Definition at line 73 of file Fl_Pixmap.H.

Referenced by Fl_Xlib_Graphics_Driver::draw(), prepare(), and uncache().


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