wxWidgets/interface/wx/imaglist.h

208 lines
5.1 KiB
C
Raw Normal View History

/////////////////////////////////////////////////////////////////////////////
// Name: imaglist.h
// Purpose: interface of wxImageList
// Author: wxWidgets team
// RCS-ID: $Id$
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
/**
@class wxImageList
A wxImageList contains a list of images, which are stored in
an unspecified form. Images can have masks for transparent
drawing, and can be made from a variety of sources including bitmaps
and icons.
wxImageList is used principally in conjunction with wxTreeCtrl and
wxListCtrl classes.
@library{wxcore}
@category{gdi}
@see wxTreeCtrl, wxListCtrl
*/
class wxImageList : public wxObject
{
public:
//@{
/**
Constructor specifying the image size, whether image masks should be created,
and the initial size of the list.
@param width
Width of the images in the list.
@param height
Height of the images in the list.
@param mask
@true if masks should be created for all images.
@param initialCount
The initial size of the list.
@see Create()
*/
wxImageList();
wxImageList(int width, int height, bool mask = true,
int initialCount = 1);
//@}
//@{
/**
Adds a new image using an icon.
@param bitmap
Bitmap representing the opaque areas of the image.
@param mask
Monochrome mask bitmap, representing the transparent areas of the image.
@param maskColour
Colour indicating which parts of the image are transparent.
@param icon
Icon to use as the image.
@return The new zero-based image index.
@remarks The original bitmap or icon is not affected by the Add
operation, and can be deleted afterwards.
*/
int Add(const wxBitmap& bitmap,
const wxBitmap& mask = wxNullBitmap);
int Add(const wxBitmap& bitmap, const wxColour& maskColour);
int Add(const wxIcon& icon);
//@}
/**
Initializes the list. See wxImageList() for details.
*/
bool Create(int width, int height, bool mask = true,
int initialCount = 1);
/**
Draws a specified image onto a device context.
@param index
Image index, starting from zero.
@param dc
Device context to draw on.
@param x
X position on the device context.
@param y
Y position on the device context.
@param flags
How to draw the image. A bitlist of a selection of the following:
wxIMAGELIST_DRAW_NORMAL
Draw the image normally.
wxIMAGELIST_DRAW_TRANSPARENT
Draw the image with transparency.
wxIMAGELIST_DRAW_SELECTED
Draw the image in selected state.
wxIMAGELIST_DRAW_FOCUSED
Draw the image in a focused state.
@param solidBackground
For optimisation - drawing can be faster if the function is told
that the background is solid.
*/
virtual bool Draw(int index, wxDC& dc, int x, int y,
int flags = wxIMAGELIST_DRAW_NORMAL,
bool solidBackground = false);
/**
Returns the bitmap corresponding to the given index.
*/
wxBitmap GetBitmap(int index) const;
/**
Returns the icon corresponding to the given index.
*/
wxIcon GetIcon(int index) const;
/**
Returns the number of images in the list.
*/
virtual int GetImageCount() const;
/**
Retrieves the size of the images in the list. Currently, the @a index
parameter is ignored as all images in the list have the same size.
@param index
currently unused, should be 0
@param width
receives the width of the images in the list
@param height
receives the height of the images in the list
@return @true if the function succeeded, @false if it failed (for example,
if the image list was not yet initialized).
*/
virtual bool GetSize(int index, int& width, int& height) const;
/**
Removes the image at the given position.
*/
bool Remove(int index);
/**
Removes all the images in the list.
*/
bool RemoveAll();
//@{
/**
Replaces the existing image with the new image.
@param bitmap
Bitmap representing the opaque areas of the image.
@param mask
Monochrome mask bitmap, representing the transparent areas of the image.
@param icon
Icon to use as the image.
@return @true if the replacement was successful, @false otherwise.
@remarks The original bitmap or icon is not affected by the Replace
operation, and can be deleted afterwards.
*/
bool Replace(int index, const wxBitmap& bitmap,
const wxBitmap& mask = wxNullBitmap);
bool Replace(int index, const wxIcon& icon);
//@}
};