]> git.saurik.com Git - wxWidgets.git/commitdiff
added GetIconOfExactSize()
authorVadim Zeitlin <vadim@wxwidgets.org>
Sat, 7 Apr 2007 23:53:06 +0000 (23:53 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sat, 7 Apr 2007 23:53:06 +0000 (23:53 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45323 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

docs/latex/wx/iconbndl.tex
include/wx/iconbndl.h
src/common/iconbndl.cpp

index efd9defb8456d85e0945b9b3de7bc310dd095ff3..ac9fdece25fe74b603e8a2f33d1178e2d6be4297 100644 (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}
index 8f8e3d1f5b98afff50be4a3925ff2e2fb60139ab..e96b1995472aac7e46f840a67581c330e6131d68 100644 (file)
@@ -64,10 +64,15 @@ public:
     // returns the first icon in the bundle
     wxIcon GetIcon(const wxSize& size) const;
 
-    // equivalent to GetIcon( wxSize( size, size ) )
+    // equivalent to GetIcon(wxSize(size, size))
     wxIcon GetIcon(wxCoord size = wxDefaultCoord) const
-        { return GetIcon( wxSize( size, size ) ); }
+        { 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
index f5b2b2cafe1e3b2b37deb8e55bdd1eec492b21eb..961eb7f4a32e3f82735d5d95ad1590b62a12b9de 100644 (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") );