// Created: 1998-01-01
// RCS-ID: $Id$
// Copyright: (c) Stefan Csomor
-// Licence: wxWidgets licence
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_ICON_H_
#define _WX_ICON_H_
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-#pragma interface "icon.h"
-#endif
-
#include "wx/bitmap.h"
// Icon
-class WXDLLEXPORT wxIcon: public wxBitmap
+class WXDLLIMPEXP_CORE wxIcon : public wxGDIObject
{
public:
- wxIcon();
-
- // Copy constructors
- wxIcon(const wxIcon& icon)
- : wxBitmap()
- { Ref(icon); }
+ wxIcon();
- wxIcon(const char **data);
- wxIcon(char **data);
- wxIcon(const char bits[], int width , int height );
- wxIcon(const wxString& name, int flags = wxBITMAP_TYPE_ICON_RESOURCE,
+ wxIcon(const char* const* data);
+ wxIcon(const char bits[], int width , int height );
+ wxIcon(const wxString& name, int flags = wxBITMAP_TYPE_ICON_RESOURCE,
int desiredWidth = -1, int desiredHeight = -1);
- wxIcon(const wxIconLocation& loc)
- {
+ wxIcon(const wxIconLocation& loc)
+ {
LoadFile(loc.GetFileName(), wxBITMAP_TYPE_ICON);
- }
- ~wxIcon();
+ }
+
+ wxIcon(WXHICON icon, const wxSize& size);
- bool LoadFile(const wxString& name, wxBitmapType flags /* = wxBITMAP_TYPE_ICON_RESOURCE */ ,
+ virtual ~wxIcon();
+
+ bool LoadFile(const wxString& name, wxBitmapType flags /* = wxBITMAP_TYPE_ICON_RESOURCE */ ,
int desiredWidth /* = -1 */ , int desiredHeight = -1);
- bool LoadFile(const wxString& name ,wxBitmapType flags = wxBITMAP_TYPE_ICON_RESOURCE )
+ bool LoadFile(const wxString& name ,wxBitmapType flags = wxBITMAP_TYPE_ICON_RESOURCE )
{ return LoadFile( name , flags , -1 , -1 ) ; }
- wxIcon& operator=(const wxIcon& icon)
- { if (this != &icon) Ref(icon); return *this; }
- bool operator==(const wxIcon& icon) const { return m_refData == icon.m_refData; }
- bool operator!=(const wxIcon& icon) const { return !(*this == icon); }
- // create from bitmap (which should have a mask unless it's monochrome):
- // there shouldn't be any implicit bitmap -> icon conversion (i.e. no
- // ctors, assignment operators...), but it's ok to have such function
- void CopyFromBitmap(const wxBitmap& bmp);
+ // create from bitmap (which should have a mask unless it's monochrome):
+ // there shouldn't be any implicit bitmap -> icon conversion (i.e. no
+ // ctors, assignment operators...), but it's ok to have such function
+ void CopyFromBitmap(const wxBitmap& bmp);
+
+ int GetWidth() const;
+ int GetHeight() const;
+ int GetDepth() const;
+ void SetWidth(int w);
+ void SetHeight(int h);
+ void SetDepth(int d);
+ void SetOk(bool isOk);
+
+ WXHICON GetHICON() const ;
+
+protected:
+ virtual wxGDIRefData *CreateGDIRefData() const;
+ virtual wxGDIRefData *CloneGDIRefData(const wxGDIRefData *data) const;
- DECLARE_DYNAMIC_CLASS(wxIcon)
+private:
+ DECLARE_DYNAMIC_CLASS(wxIcon)
};
/*
-class WXDLLEXPORT wxICONFileHandler: public wxBitmapHandler
+class WXDLLIMPEXP_CORE wxICONFileHandler: public wxBitmapHandler
{
DECLARE_DYNAMIC_CLASS(wxICONFileHandler)
public:
};
*/
-class WXDLLEXPORT wxICONResourceHandler: public wxBitmapHandler
+class WXDLLIMPEXP_CORE wxICONResourceHandler: public wxBitmapHandler
{
DECLARE_DYNAMIC_CLASS(wxICONResourceHandler)
public:
inline wxICONResourceHandler()
{
- m_name = wxT("ICON resource");
- m_extension = wxEmptyString;
- m_type = wxBITMAP_TYPE_ICON_RESOURCE;
+ SetName(wxT("ICON resource"));
+ SetExtension(wxEmptyString);
+ SetType(wxBITMAP_TYPE_ICON_RESOURCE);
};
virtual bool LoadFile(wxBitmap *bitmap, const wxString& name, long flags,