+IMPLEMENT_DYNAMIC_CLASS(wxIcon, wxGDIObject)
+
+#define M_ICONDATA ((wxIconRefData *)m_refData)
+
+class WXDLLEXPORT wxIconRefData : public wxGDIRefData
+{
+public:
+ wxIconRefData() { Init(); }
+ wxIconRefData( WXHICON iconref, int desiredWidth, int desiredHeight );
+ virtual ~wxIconRefData() { Free(); }
+
+ virtual bool IsOk() const { return m_iconRef != NULL; }
+
+ virtual void Free();
+
+ void SetWidth( int width ) { m_width = width; }
+ void SetHeight( int height ) { m_height = height; }
+
+ int GetWidth() const { return m_width; }
+ int GetHeight() const { return m_height; }
+
+ WXHICON GetHICON() const { return (WXHICON) m_iconRef; }
+
+private:
+ void Init();
+
+ IconRef m_iconRef;
+ int m_width;
+ int m_height;
+};