X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4bb6408c2631988fab9925014c6619358bf867de..f6e9a8189cfd9189418d6c0976a8a07f3bcd914b:/src/motif/icon.cpp diff --git a/src/motif/icon.cpp b/src/motif/icon.cpp index 834c9ff1cc..2006a62b4e 100644 --- a/src/motif/icon.cpp +++ b/src/motif/icon.cpp @@ -9,62 +9,62 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma implementation "icon.h" #endif -#include "wx/icon.h" +// For compilers that support precompilation, includes "wx.h". +#include "wx/wxprec.h" -#if !USE_SHARED_LIBRARIES -IMPLEMENT_DYNAMIC_CLASS(wxIcon, wxBitmap) -#endif +#include "wx/icon.h" -/* - * 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; } -