added GetIconOfExactSize()

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45323 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2007-04-07 23:53:06 +00:00
parent ea098413d0
commit 9b5933bcbc
3 changed files with 27 additions and 2 deletions

View File

@@ -72,6 +72,14 @@ returns the icon with size wxSYS\_ICON\_X/wxSYS\_ICON\_Y.
Same as GetIcon( wxSize( size, size ) ).
\membersection{wxIconBundle::GetIconOfExactSize}\label{wxiconbundlegeticonofexactsize}
\constfunc{wxIcon}{GetIconOfExactSize}{\param{const wxSize\& }{size}}
Returns the icon with exactly the given size or \texttt{wxNullIcon} if this
size is not available.
\membersection{wxIconBundle::IsEmpty}\label{wxiconbundleisempty}
\constfunc{bool}{IsEmpty}{\void}

View File

@@ -68,6 +68,11 @@ public:
wxIcon GetIcon(wxCoord size = wxDefaultCoord) const
{ return GetIcon(wxSize(size, size)); }
// returns the icon exactly of the specified size or wxNullIcon if no icon
// of exactly given size are available
wxIcon GetIconOfExactSize(const wxSize& size) const;
wxIcon GetIconOfExactSize(wxCoord size) const
{ return GetIconOfExactSize(wxSize(size, size)); }
// enumerate all icons in the bundle: don't use these functions if ti can
// be avoided, using GetIcon() directly is better

View File

@@ -191,6 +191,18 @@ wxIcon wxIconBundle::GetIcon(const wxSize& size) const
#endif
}
wxIcon wxIconBundle::GetIconOfExactSize(const wxSize& size) const
{
wxIcon icon = GetIcon(size);
if ( icon.Ok() &&
(icon.GetWidth() != size.x || icon.GetHeight() != size.y) )
{
icon = wxNullIcon;
}
return icon;
}
void wxIconBundle::AddIcon(const wxIcon& icon)
{
wxCHECK_RET( icon.IsOk(), _T("invalid icon") );