X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0bca03736369e836cce9297509505c5972e775dd..7198c3368055d88249a338eb33b21f051f674806:/src/cocoa/icon.mm diff --git a/src/cocoa/icon.mm b/src/cocoa/icon.mm index 9c5e15c950..3dc3027c48 100644 --- a/src/cocoa/icon.mm +++ b/src/cocoa/icon.mm @@ -6,7 +6,7 @@ // Created: 2003/08/11 // RCS-ID: $Id$ // Copyright: (c) 2003 David Elliott -// Licence: wxWidgets licence +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #include "wx/wxprec.h" @@ -32,6 +32,8 @@ public: wxIconRefData( const wxIconRefData& data ); virtual ~wxIconRefData(); + virtual bool IsOk() const { return m_ok; } + protected: int m_width; int m_height; @@ -98,27 +100,29 @@ wxIcon::~wxIcon() { } -bool wxIcon::CreateFromXpm(const char **xpm) +wxGDIRefData *wxIcon::CreateGDIRefData() const +{ + return new wxIconRefData; +} + +wxGDIRefData *wxIcon::CloneGDIRefData(const wxGDIRefData *data) const +{ + return new wxIconRefData(*static_cast(data)); +} + +bool wxIcon::CreateFromXpm(const char* const* xpm) { wxBitmap bitmap(xpm); CopyFromBitmap(bitmap); - return Ok(); + return IsOk(); } bool wxIcon::LoadFile(const wxString& filename, wxBitmapType type, int desiredWidth, int desiredHeight) { - UnRef(); - - m_refData = new wxIconRefData; - M_ICONDATA->m_width = 5; - M_ICONDATA->m_height = 5; - M_ICONDATA->m_cocoaNSImage = [[NSImage alloc] initWithSize:NSMakeSize(5,5)]; - M_ICONDATA->m_ok = true; - M_ICONDATA->m_numColors = 0; - M_ICONDATA->m_quality = 0; - - return false; + wxBitmap bitmap(filename, type); + CopyFromBitmap(bitmap); + return bitmap.IsOk(); } void wxIcon::CopyFromBitmap(const wxBitmap& bitmap) @@ -129,16 +133,11 @@ void wxIcon::CopyFromBitmap(const wxBitmap& bitmap) M_ICONDATA->m_height = bitmap.GetHeight(); wxAutoNSAutoreleasePool pool; M_ICONDATA->m_cocoaNSImage = [bitmap.GetNSImage(true) retain]; - M_ICONDATA->m_ok = bitmap.Ok(); + M_ICONDATA->m_ok = bitmap.IsOk(); M_ICONDATA->m_numColors = 0; M_ICONDATA->m_quality = 0; } -bool wxIcon::Ok() const -{ - return m_refData && M_ICONDATA->m_ok; -} - int wxIcon::GetWidth() const { if(!m_refData)