Version: 3.3.0

#include <wx/bitmap.h>

+ Inheritance diagram for wxBitmapHandler:

Detailed Description

This is the base class for implementing bitmap file loading/saving, and bitmap creation from data.

It is used within wxBitmap and is not normally seen by the application.

If you wish to extend the capabilities of wxBitmap, derive a class from wxBitmapHandler and add the handler using wxBitmap::AddHandler() in your application initialization.

Note that all wxBitmapHandlers provided by wxWidgets are part of the wxCore library. For details about the default handlers, please see the note in the wxBitmap class documentation.

Library:  wxCore
Category:  Graphics Device Interface (GDI)
See also
Bitmaps and Icons, wxBitmap, wxIcon, wxCursor

Public Member Functions

 wxBitmapHandler ()
 Default constructor. More...
 
virtual ~wxBitmapHandler ()
 Destroys the wxBitmapHandler object. More...
 
virtual bool Create (wxBitmap *bitmap, const void *data, wxBitmapType type, int width, int height, int depth=1)
 Creates a bitmap from the given data, which can be of arbitrary type. More...
 
const wxStringGetExtension () const
 Gets the file extension associated with this handler. More...
 
const wxStringGetName () const
 Gets the name of this handler. More...
 
wxBitmapType GetType () const
 Gets the bitmap type associated with this handler. More...
 
virtual bool LoadFile (wxBitmap *bitmap, const wxString &name, wxBitmapType type, int desiredWidth, int desiredHeight)
 Loads a bitmap from a file or resource, putting the resulting data into bitmap. More...
 
virtual bool SaveFile (const wxBitmap *bitmap, const wxString &name, wxBitmapType type, const wxPalette *palette=nullptr) const
 Saves a bitmap in the named file. More...
 
void SetExtension (const wxString &extension)
 Sets the handler extension. More...
 
void SetName (const wxString &name)
 Sets the handler name. More...
 
void SetType (wxBitmapType type)
 Sets the handler type. More...
 
- Public Member Functions inherited from wxObject
 wxObject ()
 Default ctor; initializes to nullptr the internal reference data. More...
 
 wxObject (const wxObject &other)
 Copy ctor. More...
 
virtual ~wxObject ()
 Destructor. More...
 
virtual wxClassInfoGetClassInfo () const
 This virtual function is redefined for every class that requires run-time type information, when using the wxDECLARE_CLASS macro (or similar). More...
 
wxObjectRefDataGetRefData () const
 Returns the wxObject::m_refData pointer, i.e. the data referenced by this object. More...
 
bool IsKindOf (const wxClassInfo *info) const
 Determines whether this class is a subclass of (or the same class as) the given class. More...
 
bool IsSameAs (const wxObject &obj) const
 Returns true if this object has the same data pointer as obj. More...
 
void Ref (const wxObject &clone)
 Makes this object refer to the data in clone. More...
 
void SetRefData (wxObjectRefData *data)
 Sets the wxObject::m_refData pointer. More...
 
void UnRef ()
 Decrements the reference count in the associated data, and if it is zero, deletes the data. More...
 
void UnShare ()
 This is the same of AllocExclusive() but this method is public. More...
 
void operator delete (void *buf)
 The delete operator is defined for debugging versions of the library only, when the identifier __WXDEBUG__ is defined. More...
 
void * operator new (size_t size, const wxString &filename=nullptr, int lineNum=0)
 The new operator is defined for debugging versions of the library only, when the identifier __WXDEBUG__ is defined. More...
 

Additional Inherited Members

- Protected Member Functions inherited from wxObject
void AllocExclusive ()
 Ensure that this object's data is not shared with any other object. More...
 
virtual wxObjectRefDataCreateRefData () const
 Creates a new instance of the wxObjectRefData-derived class specific to this object and returns it. More...
 
virtual wxObjectRefDataCloneRefData (const wxObjectRefData *data) const
 Creates a new instance of the wxObjectRefData-derived class specific to this object and initializes it copying data. More...
 
- Protected Attributes inherited from wxObject
wxObjectRefDatam_refData
 Pointer to an object which is the object's reference-counted data. More...
 

Constructor & Destructor Documentation

◆ wxBitmapHandler()

wxBitmapHandler::wxBitmapHandler ( )

Default constructor.

In your own default constructor, initialise the members m_name, m_extension and m_type.

◆ ~wxBitmapHandler()

virtual wxBitmapHandler::~wxBitmapHandler ( )
virtual

Destroys the wxBitmapHandler object.

Member Function Documentation

◆ Create()

virtual bool wxBitmapHandler::Create ( wxBitmap bitmap,
const void *  data,
wxBitmapType  type,
int  width,
int  height,
int  depth = 1 
)
virtual

Creates a bitmap from the given data, which can be of arbitrary type.

The wxBitmap object bitmap is manipulated by this function.

Parameters
bitmapThe wxBitmap object.
widthThe width of the bitmap in pixels.
heightThe height of the bitmap in pixels.
depthThe depth of the bitmap in pixels. If this is wxBITMAP_SCREEN_DEPTH, the screen depth is used.
dataData whose type depends on the value of type.
typeA bitmap type identifier - see wxBitmapType for a list of possible values.
Returns
true if the call succeeded, false otherwise (the default).

◆ GetExtension()

const wxString& wxBitmapHandler::GetExtension ( ) const

Gets the file extension associated with this handler.

◆ GetName()

const wxString& wxBitmapHandler::GetName ( ) const

Gets the name of this handler.

◆ GetType()

wxBitmapType wxBitmapHandler::GetType ( ) const

Gets the bitmap type associated with this handler.

◆ LoadFile()

virtual bool wxBitmapHandler::LoadFile ( wxBitmap bitmap,
const wxString name,
wxBitmapType  type,
int  desiredWidth,
int  desiredHeight 
)
virtual

Loads a bitmap from a file or resource, putting the resulting data into bitmap.

Note
Under MSW, when loading a bitmap from resources (i.e. using wxBITMAP_TYPE_BMP_RESOURCE as type), the light grey colour is considered to be transparent, for historical reasons. If you want to handle the light grey pixels normally instead, call SetMask(nullptr) after loading the bitmap.
Parameters
bitmapThe bitmap object which is to be affected by this operation.
nameEither a filename or a Windows resource name. The meaning of name is determined by the type parameter.
typeSee wxBitmapType for values this can take.
desiredWidthThe desired width for the loaded bitmap.
desiredHeightThe desired height for the loaded bitmap.
Returns
true if the operation succeeded, false otherwise.
See also
wxBitmap::LoadFile, wxBitmap::SaveFile, SaveFile()

◆ SaveFile()

virtual bool wxBitmapHandler::SaveFile ( const wxBitmap bitmap,
const wxString name,
wxBitmapType  type,
const wxPalette palette = nullptr 
) const
virtual

Saves a bitmap in the named file.

Parameters
bitmapThe bitmap object which is to be affected by this operation.
nameA filename. The meaning of name is determined by the type parameter.
typeSee wxBitmapType for values this can take.
paletteAn optional palette used for saving the bitmap.
Returns
true if the operation succeeded, false otherwise.
See also
wxBitmap::LoadFile, wxBitmap::SaveFile, LoadFile()

◆ SetExtension()

void wxBitmapHandler::SetExtension ( const wxString extension)

Sets the handler extension.

Parameters
extensionHandler extension.

◆ SetName()

void wxBitmapHandler::SetName ( const wxString name)

Sets the handler name.

Parameters
nameHandler name.

◆ SetType()

void wxBitmapHandler::SetType ( wxBitmapType  type)

Sets the handler type.

Parameters
typeHandler type.