X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4bb6408c2631988fab9925014c6619358bf867de..7dd8b1ea102a9c25be25ef6ef33630afed1dbc7c:/src/motif/icon.cpp?ds=sidebyside diff --git a/src/motif/icon.cpp b/src/motif/icon.cpp index 834c9ff1cc..692175a812 100644 --- a/src/motif/icon.cpp +++ b/src/motif/icon.cpp @@ -9,62 +9,59 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma implementation "icon.h" #endif #include "wx/icon.h" -#if !USE_SHARED_LIBRARIES -IMPLEMENT_DYNAMIC_CLASS(wxIcon, wxBitmap) -#endif - -/* - * Icons - */ +IMPLEMENT_DYNAMIC_CLASS(wxIcon, wxBitmap); +// ============================================================================ +// Icons +// ============================================================================ -wxIconRefData::wxIconRefData() +wxIcon::wxIcon() { - // TODO: init icon handle } -wxIconRefData::~wxIconRefData() +// Create from XBM data +wxIcon::wxIcon(const char bits[], int width, int height) { - // TODO: destroy icon handle + (void) Create((void*) bits, wxBITMAP_TYPE_XBM_DATA, width, height, 1); } -wxIcon::wxIcon() +// Create from XPM data +wxIcon::wxIcon(char **data) { + (void) Create((void*) data, wxBITMAP_TYPE_XPM_DATA, 0, 0, 0); } -wxIcon::wxIcon(const char WXUNUSED(bits)[], int WXUNUSED(width), int WXUNUSED(height)) +wxIcon::wxIcon(const char **data) { + (void) Create((void*) data, wxBITMAP_TYPE_XPM_DATA, 0, 0, 0); } -wxIcon::wxIcon(const wxString& icon_file, long flags, - int desiredWidth, int desiredHeight) - +void wxIcon::CopyFromBitmap(const wxBitmap& bmp) { - LoadFile(icon_file, flags, desiredWidth, desiredHeight); + wxIcon *icon = (wxIcon*)(&bmp); + *this = *icon; } wxIcon::~wxIcon() { } -bool wxIcon::LoadFile(const wxString& filename, long type, - int desiredWidth, int desiredHeight) +bool wxIcon::LoadFile(const wxString& filename, wxBitmapType type, + int desiredWidth, int desiredHeight) { - UnRef(); - - m_refData = new wxIconRefData; - - wxBitmapHandler *handler = FindHandler(type); - - if ( handler ) - return handler->LoadFile(this, filename, type, desiredWidth, desiredHeight); - else - return FALSE; + UnRef(); + + wxBitmapHandler *handler = FindHandler(type); + + if ( handler ) + return handler->LoadFile(this, filename, type, + desiredWidth, desiredHeight); + else + return FALSE; } -