Commit Graph

84 Commits

Author SHA1 Message Date
Artur Wieczorek
b6f4e5cf59 Don't use image index to get the size of the image in generic wxImageList
The index parameter should be ignored as all images in the list have
the same size (see docs). Native wxMSW implementation also works this
 way.
2021-04-04 21:08:32 +02:00
Artur Wieczorek
f1c3ff4037 Don't allow adding image to invalid wxImageList (generic)
Native wxMSW implementation doesn't allow to do this.
2021-04-04 21:07:15 +02:00
Artur Wieczorek
4b7ca0b33d Add assertions to check if generic wxImageList is valid
This is for compatibility with native wxMSW implementation.
2021-04-04 21:06:18 +02:00
Artur Wieczorek
032c443c42 Report failure while creating generic wxImageList with invalid image size
Native wxMSW implementation reports failure if dimensions <= 0.
2021-04-04 21:05:06 +02:00
Artur Wieczorek
ba588fd072 Take into account scale actor while resizing the image in generic wxImageList
Too small image needs to be resized to the required physical size first
and next converted to wxBitmap with actual scale factor.
2021-04-03 18:56:29 +02:00
Artur Wieczorek
b6d305e4f2 Assure that all images in the generic wxImageList have the same scale factor
Mixing images with various scale factors could be misleading and error
prone.
2021-04-03 18:54:32 +02:00
Daniel Kulp
eb52e86553 Take into account scale factor of images added to wxImageList
Closes #19114.
2021-04-03 18:54:32 +02:00
Artur Wieczorek
ef9cd70b21 Avoid converting wxBitmap to wxImage
We can set wxBitmap colour mask directly so there is no need
to do it with converting wxBitmap to wxImage.
2021-01-16 23:01:49 +01:00
Artur Wieczorek
321f38831e Fix sizes of images stored in generic wxImageList
Sizing the images stored in the list should stick to the convention
adopted in the native wxImageList implemented in wxMSW.
Images stored in the list should have the sizes as it is declared for
the list even if provided bitmaps have different sizes.
In case of discrepancies their dimensions should be adjusted accordingly
(cropped or extended).
2021-01-16 23:01:49 +01:00
Artur Wieczorek
331840edb3 Fix replacing images in generic wxImageList
Bitmaps stored in the list as a result of replacing existing ones should
conform to the same constraints as bitmaps directly added to the list.
These constraints are applied in the shared GetImageListBitmap() function
called both on adding and replacing the images.
2021-01-13 18:38:57 +01:00
Artur Wieczorek
838e45fd9b Fix adding wxBitmap to generic wxImageList supporting masks
Wee need to assure that bitmap added to the internal collection always
have a mask. If necessary this mask is created from alpha channel values.
Also, for compatibility with wxMSW implementation we need to prevent
the bitmap from having both a mask and alpha channel.
2021-01-12 18:21:52 +01:00
Artur Wieczorek
dfb09d2ae9 Fix adding wxBitmap with mask to generic wxImageList
If wxBitmap with mask is added to wxImageList that doesn't support masks
we need to convert a bitmap mask to alpha channel values prior to adding
bitmap to the list to preserve bitmap transparency.
2021-01-12 18:21:37 +01:00
PB
f57f214122 Remove BCC-specific hdrstop pragma from everywhere 2020-10-12 21:58:37 +02:00
Vadim Zeitlin
83a7b49954 Always store wxBitmap objects in wxGenericImageList
There doesn't seem to be any point in storing pointers to wxBitmap or
wxIcon and storing the objects directly allows to avoid an extra heap
allocation and all the code dealing with freeing memory when replacing
or removing images from the list, making things much simpler.

Also use wxVector<> for storage instead of the obsolete and ugly
wxObjectList.

There shouldn't be any user-visible changes.
2018-10-31 15:35:30 +01:00
Vadim Zeitlin
3b5441f59e Deprecate wxGenericImageList::GetBitmapPtr()
This function was in effect deprecated since 2.5.5 (!) and it's not
finally time to do it formally and to stop using it in wxWidgets own
code.
2018-10-31 15:35:30 +01:00
Vadim Zeitlin
61e4534bd2 Deprecate useless wxGenericImageList::Create() overload
This overload doesn't do anything and doesn't exist in the MSW version,
so deprecate it.
2018-10-31 15:32:23 +01:00
Vadim Zeitlin
28e9ea6bd6 Simplify wxGenericImageList::Add() logic
Also improve the readability of the assert condition in it, this should
hopefully make it simpler to understand.

No real changes.
2018-10-30 22:40:48 +01:00
Vadim Zeitlin
26c6db4b90 Replace wxGenericImageList::m_{width,height} with m_size
Using a single wxSize variable is slightly simpler and shorter than
using 2 ints.

No real changes.
2018-10-30 22:01:32 +01: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
Dimitri Schoolwerth
8f8d58d193 Use wx-prefixed macros throughout the repository.
Change {DECLARE,IMPLEMENT}_*CLASS and {DECLARE,BEGIN,END}_EVENT_TABLE
occurrences to use the wx-prefixed version of the macros.
2015-04-23 22:00:35 +04:00
Vadim Zeitlin
01f9accd19 Remove wxPM, wxWidgets port to OS/2.
This port is not used and is not being worked on, so remove it to reduce the
amount of the code which needs to be updated for every global change.

Also remove tests for VisualAge compiler which isn't used since ages.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76533 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-15 23:56:58 +00: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
80a4659776 Use wxCLASSINFO() instead of deprecated CLASSINFO().
No real changes, just use the version of the macro with a "wx" prefix.

Closes #14356.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71625 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-01 11:01:24 +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
Dimitri Schoolwerth
a1b806b982 Replaced Ok() occurrences with IsOk() throughout trunk.
Additionally renamed wxOSX' private wxNativePrinterDC::Ok() function to IsOk().

Didn't deprecate the various Ok() functions: given the amount of changes already introduced in 3.0 a trivial one like this seems more suitable for after 3.0.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67681 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-05-03 16:29:04 +00:00
Dimitri Schoolwerth
4c51a665c6 Fixed various typos.
Applied patch by snowleopard2 fixing a bunch of typos such as misspellings and double words in the documentation. Combined the patch with some local queued typos waiting to be committed as well as adding new typo fixes inspired by the patch.

Function names with American spelling were not changed nor was third-party code touched. The only code changes involve some changes in strings that are translated ("Can not" -> "Cannot").

Closes #13063 (again).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67280 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-22 14:17:38 +00:00
Vadim Zeitlin
9a83f86094 Globally replace _T() with wxT().
Standardize on using a single macro across all wxWidgets sources and solve the name clash with Sun CC standard headers (see #10660).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61508 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-23 20:30:22 +00:00
Robert Roebling
a1abd1a923 Make wxImageList not copiable (fixes #10503), replace wxList with wxObjectList
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59036 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-19 20:26:00 +00:00
Vadim Zeitlin
d3b9f782ef don't use annoying and unneeded in C++ casts of NULL to "T *" in all other files neither
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58227 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-19 13:55:27 +00:00
Paul Cornett
0e1381f2fc return index of first added image in Add(), like MSW does, #10013
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58031 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-12 05:39:04 +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
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
Włodzimierz Skiba
155ecd4c42 Include wx/image.h according to precompiled headers of wx/wx.h (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39957 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-07-03 19:02:54 +00:00
Włodzimierz Skiba
923d28da0e Include wx/icon.h according to precompiled headers of wx/wx.h (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39261 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-05-21 21:45:44 +00:00
Włodzimierz Skiba
da80ae712a Include wx/dc.h according to precompiled headers of wx/wx.h (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39054 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-05-05 22:58:39 +00:00
Robert Roebling
5b9003ae32 Applied patch to add n bitmaps at once to an image
list of the bitmap is n times as wide as the
    image width of the image list. This was the case
    in the MSW image list before.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38965 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-30 11:58:40 +00:00
Robert Roebling
f644bc116b Blindly added wxImageList::replace( int, bitmap, mask )
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38961 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-30 10:38:32 +00:00
Włodzimierz Skiba
93763ad5ba wx/wxprec.h already includes wx/defs.h (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38788 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-18 08:11:26 +00:00
Mart Raudsepp
8907154c1a Nuke #pragma implementation/interface's
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35650 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-09-23 12:56:45 +00:00
Ryan Norton
58c5c7ecd2 wxUSE_IMAGLIST fix (good grief...)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32523 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-03-01 10:42:02 +00:00
Julian Smart
f45fac95d6 Fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32401 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-02-27 10:54:09 +00:00
Julian Smart
49bf4e3e68 Added GetBitmap, GetIcon to wxImageList
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32400 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-02-27 10:36:58 +00:00
Robin Dunn
b931414d91 Don't fail assertion about image size mismatch if the size hasn't been
set yet.  If the size hasn't been set then set it when the first image
is added.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31624 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-01-29 01:00:01 +00:00
Włodzimierz Skiba
4055ed8281 Use __WXPALMOS__ for PalmOS port which fits __WX$(TOOLKIT)__ of bakefiles. Do not depend on MSW macros in PalmOS port. Source cleaning.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31087 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-12-20 12:44:22 +00:00
Ryan Norton
9de05dfd08 fix compilo pointed out by OW
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30617 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-11-18 16:49:11 +00:00
Julian Smart
ffecfa5aeb Committed William Osborne's wxPalmOS port
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29996 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-10-19 13:40:30 +00:00
Włodzimierz Skiba
ca65c0440a Code cleaning: wxID_ANY, wxDefaultSize, wxDefaultPosition, true, false, wxEmptyString, tabs and white spaces.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27853 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-06-17 16:22:36 +00:00
Julian Smart
655719367a Use old licence name
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27408 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-05-23 20:53:33 +00:00
Julian Smart
77ffb5937e Name and version changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27404 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-05-23 14:56:36 +00:00
Vadim Zeitlin
3a5bcc4db0 removed Win16 code (patch 905241), last version with remains of Win16 support tagged with BEFORE_WIN16_REMOVAL
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@26423 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-03-28 13:10:14 +00:00