1 ///////////////////////////////////////////////////////////////////////////// 2 // Name: wx/cocoa/icon.h 3 // Purpose: wxIcon class 4 // Author: David Elliott 5 // Modified by: 6 // Created: 2003/08/11 7 // Copyright: (c) 2003 David Elliott 8 // Licence: wxWindows licence 9 ///////////////////////////////////////////////////////////////////////////// 10 11 #ifndef _WX_COCOA_ICON_H__ 12 #define _WX_COCOA_ICON_H__ 13 14 #include "wx/gdicmn.h" 15 #include "wx/gdiobj.h" 16 17 // ======================================================================== 18 // wxIcon 19 // ======================================================================== 20 class WXDLLIMPEXP_CORE wxIcon : public wxGDIObject 21 { 22 public: 23 wxIcon(); 24 wxIcon(const char * const * data)25 wxIcon(const char* const* data) { CreateFromXpm(data); } 26 wxIcon(const char bits[], int width , int height ); 27 wxIcon(const wxString& name, int flags = wxICON_DEFAULT_TYPE, 28 int desiredWidth = -1, int desiredHeight = -1); wxIcon(const wxIconLocation & loc)29 wxIcon(const wxIconLocation& loc) 30 { 31 LoadFile(loc.GetFileName(), wxBITMAP_TYPE_ICON); 32 } 33 virtual ~wxIcon(); 34 35 bool LoadFile(const wxString& name, wxBitmapType flags = wxICON_DEFAULT_TYPE, 36 int desiredWidth=-1, int desiredHeight=-1); 37 38 bool operator==(const wxIcon& icon) const 39 { return m_refData == icon.m_refData; } 40 bool operator!=(const wxIcon& icon) const { return !(*this == icon); } 41 42 // create from bitmap (which should have a mask unless it's monochrome): 43 // there shouldn't be any implicit bitmap -> icon conversion (i.e. no 44 // ctors, assignment operators...), but it's ok to have such function 45 void CopyFromBitmap(const wxBitmap& bmp); 46 47 int GetWidth() const; 48 int GetHeight() const; 49 GetSize()50 wxSize GetSize() const { return wxSize(GetWidth(), GetHeight()); } 51 52 WX_NSImage GetNSImage() const; 53 bool CreateFromXpm(const char* const* bits); 54 55 protected: 56 virtual wxGDIRefData *CreateGDIRefData() const; 57 virtual wxGDIRefData *CloneGDIRefData(const wxGDIRefData *data) const; 58 59 private: 60 DECLARE_DYNAMIC_CLASS(wxIcon) 61 }; 62 63 #endif // _WX_COCOA_ICON_H__ 64