Commit graph

31 commits

Author SHA1 Message Date
Vadim Zeitlin
ed89fc5f3b Make wxImageListBase DLL-exported to fix MSVS warnings
Without a DLL export declaration on this class MSVS complains about
using it as a base class for DLL-exported wxImageList, so do provide
this declaration, even if it's not normally necessary because there are
no member functions of this class in the shared library, just to avoid
the warning.

Closes #24232.
2024-01-21 01:42:54 +01:00
Vadim Zeitlin
53b4f4ddf2 Use physical size in wxImageList
This seems to be the only way to fix using this class, which is
fundamentally incompatible with high DPI support, with bitmaps of
different logical but identical physical sizes.

By using physical size we ensure that the code chopping up the provided
bitmap in multiple images doesn't do it with the bitmap having the same
physical size but a different logical size from all the other bitmaps.
And, conceptually, logical size of the bitmaps in it really shouldn't
matter to the image list as it doesn't have a scaling factor and so
can't do anything useful with the logical size.

Moreover, we can't add wxImageList::SetScaleFactor() neither because
this class is, by design, supposed to be shareable between different
controls which may use different scale factors, so it doesn't make sense
to speak of the scale factor of the image list itself.

This undoes the changes made in the generic implementation back in
c374eefd34 (Fold wxOSX-specific wxImageList into generic version,
2018-10-30) and also eb52e86553 (Take into account scale factor of
images added to wxImageList, 2021-04-03).

Also update a couple of places where wxImageList is still used to use
physical sizes. Unfortunately some others can't be easily fixed, e.g.
global wxFileIconsTable would have to be completely rewritten.

Finally, add a unit test checking that things work as expected now:
previously the size of 24x24 bitmap in the image list containing
(scaled) 32x32 bitmaps would be 21x21 due to sub-bitmap extraction
kicking in.

Closes #23994.
2023-11-06 21:18:34 +01:00
Vadim Zeitlin
0d4792cc2d Refactor wxImageList classes to use wxImageListBase
This ensures that the native MSW and generic implementations provide the
same API by forcing them to implement the same pure virtual functions.
2023-11-03 01:53:36 +01:00
Vadim Zeitlin
e43f913313 Remove all blank "Modified by:" lines from top comment blocks
Having this line is not useful at all as it doesn't contain any
information and shouldn't be filled in the future as git-shortlog can
provide the information about people who changed the given file more
more reliably than consulting the comments in any case.

Keep the non-blank lines for historical purposes.
2023-10-22 01:22:48 +02:00
Vadim Zeitlin
f5a735ed87 Stop using native MSW wxImageList in wxUniv
This doesn't make any sense, native image list implementation is only
needed for interoperability with the native controls which are not used
by wxUniv, so always use the generic version in it instead.
2023-04-22 19:03:08 +02:00
Vadim Zeitlin
c374eefd34 Fold wxOSX-specific wxImageList into generic version
Get rid of wxOSX wxImageList implementation as it was 99% identical to
the generic version and the non-identical parts should really have been
made part of the generic version too from the beginning.

Notably, use GetScaled{Width,Height}() in Add() method in the generic
version too now.
2018-10-30 16:28:07 +01:00
Catalin
338629e314 Removed obsolete symbols from comments. 2016-02-21 20:12:11 +02:00
Vadim Zeitlin
3f66f6a5b3 Remove all lines containing cvs/svn "$Id$" keyword.
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
2013-07-26 16:02:46 +00:00
Vadim Zeitlin
bd362275b8 Remove Palm OS port.
The platform targeted by this port doesn't exist any more and the port never
achieved really working state so remove the code to avoid having to maintain
it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70345 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-15 01:05:28 +00:00
Vadim Zeitlin
2856f57b37 Include wx/defs.h from all our public headers, including wx/imaglist.h.
Without including wx/defs.h first, symbols such as __WXMSW__ are not defined
if this header is the first wxWidgets header to be included.

Closes #11718.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63553 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-02-25 00:03:53 +00:00
Stefan Csomor
ef0e92205a fixing file paths after renaming
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54125 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-11 19:17:41 +00:00
Vadim Zeitlin
9b4da62701 PalmOS compilation fixes (wx-trunk-out.diff part of patch 1894861)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52226 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-02 00:43:06 +00:00
Stefan Csomor
623633eea9 cleanup
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49999 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-11-16 20:52:54 +00:00
Vadim Zeitlin
9cd7a3f700 use native wxImageList for wxUniv, it's a low level class and so it doesn't make sense to always usegeneric version (also fixes wxUniv build broken by recent changes)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41288 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-09-18 23:06:35 +00:00
Robin Dunn
2614da437c Kevin's prefered way to do the last fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41285 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-09-18 20:41:08 +00:00
Robin Dunn
bd6412b6d0 Don't unconditionally include the generic headers, fixes build
problems on Windows.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41280 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-09-18 19:13:11 +00:00
Kevin Ollivier
8a3e173a02 Remove duplication in wxImageList defines and always default to using the native wxImageList when available, even for wxGenericListCtrl.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41271 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-09-18 04:41:09 +00:00
Julian Smart
99d800190a Added licence/copyright information
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33948 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-05-04 18:57:50 +00:00
Stefan Csomor
32c19f25fc we need our own imaglist implementation because in wxmac wxIcon does not inherit from wxBitmap anymore
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33143 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-03-29 11:39:46 +00:00
Julian Smart
b31989e208 Added wxListCtrl to derive from wxGenericListCtrl,
ditto for wxImageList


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16254 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-07-22 23:03:03 +00:00
Julian Smart
3cd94a0d11 Applied patch [ 583922 ] Make generic/wxListCtrl avail. in WIN32
Generic wxListCtrl renamed to wxGenericListCtrl, wxImageList
renamed to wxGenericImageList, so they can be used on wxMSW
(Rene Rivera).


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16250 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-07-22 08:51:49 +00:00
Vadim Zeitlin
98c9194837 use the native wxImageList under Win32 as otherwise xUniv doesn't link currently
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@14204 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-02-14 14:23:35 +00:00
Vadim Zeitlin
b54e41c529 1. fixed typo ('&' instead of '|') in wxNotebook
2. changed wxTC_MULTILINE to be equal to wxNB_MULTILINE and != 0
3. much more efficient selection handling in virtual wxListCtrl,
   we can now select 1000000 items without problems
4. kbd/mouse selection (ctrl/shift handling) fixed in wxListCtrl
5. added wxSortedArray::IndexForInsert() and AddAt(), remove Remove(size_t),
   use RemoveAt() instead


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@10889 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-07-07 22:42:35 +00:00
Julian Smart
3e6e2754a6 Added some missing tests; replaced scrolwin.cpp with scrlwng.cpp
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@10811 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-07-04 10:08:44 +00:00
Julian Smart
fac3b4232c More wxMicroWindows fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@10785 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-07-02 14:20:32 +00:00
David Webster
1777b9bbf4 *** empty log message ***
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3173 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-07-28 03:38:12 +00:00
Julian Smart
1e6d94998f wxPaintDC -> wxDC in wxListCtrl; fixed compile problems in wxTreeCtrl (return
types in wxCHECK_MSG); compiles again for 16-bit Windows, though dialogs don't work;
added generic notebook implementation (copied from wxMotif); fixed event handler
arg in wxDirDialog; added preliminary wxImage reference; removed some constructors from documentation; fixed wxIniConfig compilation


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1247 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-12-20 23:49:21 +00:00
Julian Smart
34138703c3 Changes mostly as a result of __WXSTUBS__ compilation. The stubs code now
compiles under Windows with VC++. Also OGL enhancements espec. wxDrawnShape.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@540 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-15 00:23:28 +00:00
Robert Roebling
b4e76e0d7e More work on wxQt integration, configure
I tried notr to break anything...


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@454 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-08-07 20:23:17 +00:00
Karsten Ballüder
2049ba38ad Changed __GTK__, __WINDOWS__ and __MOTIF__ to __WXGTK__, __WXMSW__ and __WXMOTIF__
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@224 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-10 14:15:17 +00:00
Karsten Ballüder
c801d85f15 Initial revision
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@2 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-05-20 14:01:55 +00:00