X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/adaaa68635b4c8a4d8c5284add40366ea3eefb07..0c46625036e3dfb9613aae310f72a00590530689:/interface/wx/iconbndl.h diff --git a/interface/wx/iconbndl.h b/interface/wx/iconbndl.h index 203ab938b1..e242d695c4 100644 --- a/interface/wx/iconbndl.h +++ b/interface/wx/iconbndl.h @@ -3,18 +3,17 @@ // Purpose: interface of wxIconBundle // Author: wxWidgets team // RCS-ID: $Id$ -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// /** @class wxIconBundle - This class contains multiple copies of an icon in different sizes, - see also wxDialog::SetIcons and - wxTopLevelWindow::SetIcons. + This class contains multiple copies of an icon in different sizes. + It is typically used in wxDialog::SetIcons and wxTopLevelWindow::SetIcons. @library{wxcore} - @category{FIXME} + @category{gdi} @stdobjects ::wxNullIconBundle @@ -22,61 +21,111 @@ class wxIconBundle : public wxGDIObject { public: - //@{ /** - Copy constructor. + Default ctor. */ wxIconBundle(); - wxIconBundle(const wxString& file, wxBitmapType type); + + /** + Initializes the bundle with the icon(s) found in the file. + */ + wxIconBundle(const wxString& file, wxBitmapType type = wxBITMAP_TYPE_ANY); + + /** + Initializes the bundle with the icon(s) found in the stream. + + Notice that the @a stream must be seekable, at least if it contains + more than one icon. The stream pointer is positioned after the last + icon read from the stream when this function returns. + + @since 2.9.0 + */ + wxIconBundle(wxInputStream& stream, wxBitmapType type = wxBITMAP_TYPE_ANY); + + /** + Initializes the bundle with a single icon. + */ wxIconBundle(const wxIcon& icon); + + /** + Copy constructor. + */ wxIconBundle(const wxIconBundle& ic); - //@} /** Destructor. */ virtual ~wxIconBundle(); - //@{ + /** + Adds all the icons contained in the file to the bundle; if the + collection already contains icons with the same width and height, they + are replaced by the new ones. + */ + void AddIcon(const wxString& file, wxBitmapType type = wxBITMAP_TYPE_ANY); + + /** + Adds all the icons contained in the stream to the bundle; if the + collection already contains icons with the same width and height, they + are replaced by the new ones. + + Notice that, as well as in the constructor loading the icon bundle from + stream, the @a stream must be seekable, at least if more than one icon + is to be loaded from it. + + @since 2.9.0 + */ + void AddIcon(wxInputStream& stream, wxBitmapType type = wxBITMAP_TYPE_ANY); + /** Adds the icon to the collection; if the collection already contains an icon with the same width and height, it is replaced by the new one. */ - void AddIcon(const wxString& file, wxBitmapType type); void AddIcon(const wxIcon& icon); - //@} - //@{ /** - Same as GetIcon( wxSize( size, size ) ). + Returns the icon with the given size; if no such icon exists, returns + the icon with size @c wxSYS_ICON_X and @c wxSYS_ICON_Y; if no such icon + exists, returns the first icon in the bundle. + + If size = wxDefaultSize, returns the icon with size @c wxSYS_ICON_X and + @c wxSYS_ICON_Y. */ wxIcon GetIcon(const wxSize& size) const; - const wxIcon GetIcon(wxCoord size = -1) const; - //@} /** - Returns the icon with exactly the given size or @c wxNullIcon if this + Same as @code GetIcon( wxSize( size, size ) ) @endcode. + */ + wxIcon GetIcon(wxCoord size = wxDefaultCoord) const; + + /** + Returns the icon with exactly the given size or ::wxNullIcon if this size is not available. */ wxIcon GetIconOfExactSize(const wxSize& size) const; /** - Returns @true if the bundle doesn't contain any icons, @false otherwise (in - which case a call to GetIcon() with default - parameter should return a valid icon). + Returns @true if the bundle doesn't contain any icons, @false otherwise + (in which case a call to GetIcon() with default parameter should return + a valid icon). */ bool IsEmpty() const; /** - Assignment operator, using @ref overview_trefcount "reference counting". + Assignment operator, using @ref overview_refcount "reference counting". */ - wxIconBundle operator =(const wxIconBundle& ic); + wxIconBundle& operator=(const wxIconBundle& ic); /** Equality operator. This returns @true if two icon bundles are equal. */ bool operator ==(const wxIconBundle& ic); + + /** + Inequality operator. This returns true if two icon bundles are not equal. + */ + bool operator !=(const wxIconBundle& ic); };