Also add "wxWindow* win = NULL" argument to the existing functions to
convert from DIPs using the given window instead of the default DPI
scaling factor.
Closes#22022.
Define a single function and use it in both wxArtProvider and (the
generic implementation of) wxSearchCtrl instead of repeating the same
code elsewhere.
Note that another, but slightly different, version of RescaleBitmap()
still remains in wxPropertyGrid.
Deprecate undocumented wxArtProvider::RescaleBitmap() which is
completely useless now.
No real changes, this is just a refactoring.
This trivial function just allows to avoid checking if wxTheApp is not
null before calling GetTopWindow() on it.
Replace the existing "wxTheApp && wxTheApp->GetTopWindow()" calls with
wxApp::GetMainTopWindow().
No real changes.
The problem with MinGW 5.3 is not just due to the missing function
declaration in the header, but also due to the function missing from
libshell32.a import library, so we do need to load it during run-time,
contrary to what the comment in the previous commit said.
This should finally fix MinGW build.
At least the MinGW 5.3 used for AppVeyor builds doesn't declare this
function, so provide its declaration ourselves to fix MinGW build after
the recent changes.
Surprisingly, this doesn't seem to result in any ill effects, but
passing HICON to wxIcon already ensures that this HICON will be
destroyed in wxIcon dtor, so we shouldn't call ::DestroyIcon() on it
manually.
Avoid duplicating the same code in MSWGetBitmapForPath() and
CreateBitmap().
This also incidentally fixes SHDefExtractIcon() return value check,
which was inverted, in MSWGetBitmapForPath().
Use SHDefExtractIcon() to retrieve the most appropriately-sized icon
instead of always getting either the small or the large icon and then
scaling it ourselves to make it of the right size.
This results in incomparably better results for large icon sizes, e.g.
256*256, as can be seen in the artprov sample.
Bitmaps obtained using SHGetStockIconInfo can have only some predefined sizes.
If size of the retrieved bitmap doesn't correspond to the needed size or the
size given by wxArtProvider::GetNativeSizeHint() then the bitmap should be
rescaled appropriately.
Closes#17071.
Closes https://github.com/wxWidgets/wxWidgets/pull/64
Move duplicated code responsible for rescaling bitmaps in wxArtProvider to the
shared wxArtPrvider::RescaleBitmap() method.
Additionally, make this new method work even in wxUSE_IMAGE==0 case.
See #17071.
See https://github.com/wxWidgets/wxWidgets/pull/64.
This keyword is not expanded by Git which means it's not replaced with the
correct revision value in the releases made using git-based scripts and it's
confusing to have lines with unexpanded "$Id$" in the released files. As
expanding them with Git is not that simple (it could be done with git archive
and export-subst attribute) and there are not many benefits in having them in
the first place, just remove all these lines.
If nothing else, this will make an eventual transition to Git simpler.
Closes#14487.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This ensures that any user-defined art providers will be in front of them,
even when they are added at module-initialization time i.e. possibly before
the standard ones.
Closes#12519.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70154 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The standard size of the small icons in list controls under MSW is
traditionally 16*16 so return this from wxMSW wxArtProvider.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68850 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775