Commit Graph

228 Commits

Author SHA1 Message Date
Vadim Zeitlin
2c2138e937 Fix creation of wxBitmap from wxIcon in wxMSW: premultiply the pixels.
wxBitmap in wxMSW is supposed to store its data in alpha-premultiplied format
but didn't do it when it was created from an icon (or a cursor), resulting in
wrong display of wxIcons with alpha channel when they were used for e.g. menu
items.

Fix this by ensuring that the data is always premultiplied. This is not the
best solution as in some cases (e.g. if this wxBitmap is added to wxImageList
later) we could need to undo this premultiplication later which is quite
inefficient but at least it's simple and straightforward.

Closes #11414.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71385 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-09 14:24:12 +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
Vadim Zeitlin
f7196178a5 No changes, just use AutoHBITMAP instead of manual DeleteObject() in wxMSW.
Use RAII AutoHBITMAP class instead of manually calling DeleteObject() on
temporary bitmaps in wxMSW wxImageList and wxBitmap code.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65962 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-30 23:51:09 +00:00
Vadim Zeitlin
2e7a64e9e6 Fix conversion of bitmaps with alpha to icons/cursors in wxMSW.
CreateIconIndirect() applies pre-multiplication to the bitmap itself (as can be
seen by experimenting with this or reading WINE sources for it) and so we must
pass it a bitmap with data in non-pre-multiplied format to avoid doing it
twice.

This is similar to the change to wxImageList in the previous commit, see #9050.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65961 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-30 23:51:04 +00:00
Vadim Zeitlin
f48a115976 No real changes, just use const_cast<> instead of C casts.
Replace many comments indicating that the C cast used was really a
const_cast<> with the proper cast itself. There is no reason to not use it any
longer, all the supported compilers understand it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65861 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-22 14:17:30 +00:00
Vadim Zeitlin
5276b0a53c Use wxDELETE() and wxDELETEA() when possible.
Use wxDELETE[A]() functions which automatically NULL out their arguments after
deleting them instead of doing it manually.

Closes #9685.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64656 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-20 18:18:23 +00:00
Vadim Zeitlin
03647350fc No changes, just removed hard tabs and trailing white space.
This commit is huge but there are no non-white-space changes in it.

Some files containing third-party sources (src/msw/wince/time.cpp,
src/x11/pango*.cpp) were left unchanged.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61724 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-21 10:41:26 +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
Vadim Zeitlin
657a8a3598 first round of debug/release merge: introduce wxDEBUG_LEVEL, for now defined as 1 if __WXDEBUG__ is defined, i.e. no real changes; don't use __WXDEBUG__ in the headers to keep debug and release builds ABI-compatible; add functions to customize or disable asserts handling
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59711 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-21 23:36:37 +00:00
Francesco Montorsi
732d8c74f8 add wxSize overloads to wxBitmap ctors and to wxBitmap::Create
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59526 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-14 13:57:51 +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
Vadim Zeitlin
5c33522fca replace wx_{const,static,reinterpret}_cast with their standard C++ equivalents
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56644 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-02 02:39:52 +00:00
Robert Roebling
bf7160a83e Ticket #10108 (bitmap from wxImage depth regression)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56487 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-10-22 16:58:51 +00:00
Vadim Zeitlin
c7639882c1 copy alpha presence flag when copying bitmaps using DIBs (#9883)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55449 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-03 20:45:52 +00:00
Vadim Zeitlin
42046cf5e3 don't always create DIBs in wxBitmap(wxImage) ctor
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55153 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-21 20:43:48 +00:00
Vadim Zeitlin
3fb1e0594a use wxHAS_RAW_BITMAP instead of wxHAVE_RAW_BITMAP
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53916 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-01 20:19:43 +00:00
Francesco Montorsi
e86f2cc84a reorganized wxBitmap/wxBitmapHandler classes to use wxBitmapType instead of "long" where possible; made them const-correct; introduce wxBITMAP_SCREEN_DEPTH instead of -1 for clearness (specially in the docs); remove wxBitmapHandler empty stubs and rename wxBitmapHandlerBase as wxBitmapHandler
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52820 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-25 20:31:48 +00:00
Vadim Zeitlin
025f7d775c don't include wx/msw/dc.h from wx/msw/private.h, this results in circular inclusion of wx/stream.h from wx/filefn.h before wxFileOffset is defined which results in compilation errors under WinCE and is bad/confusing anyhow
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52054 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-02-24 22:32:23 +00:00
Vadim Zeitlin
8f884a0dcc Fix Ok/IsOk() mess in wxGDIObject-derived classes; also added
wxGDIObject::Create/CloneGDIRefData() and implemented them for (almost) all
ports


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50727 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-12-15 17:54:20 +00:00
Robert Roebling
888dde65f4 DC reorganization
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50348 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-11-30 13:48:22 +00:00
Kevin Ollivier
18f2ae4965 Fix for wxMemoryDC::GetAsBitmap() not working on Windows.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48235 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-08-20 23:26:35 +00:00
Vadim Zeitlin
d6f2a8911e many compilation fixes for WinCE using VC8 (it now build, although still doesn't work)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47749 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-07-27 16:34:24 +00:00
Vadim Zeitlin
11f406f91f allow overriding automatic alpha detection during icon->bitmap conversions (slightly modified patch 1738168)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47629 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-07-21 22:56:07 +00:00
Vadim Zeitlin
664f3fd4eb wxCreateDIB() seems to be unused, removed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47423 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-07-13 11:13:55 +00:00
Vadim Zeitlin
f4322df68b no changes, just removed TABs/trailing spaces
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44657 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-07 22:56:34 +00:00
Vadim Zeitlin
c1dc9f8394 removed WXWIN_COMPATIBILITY_2_4 from common and wxMSW files (patch 1675546)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44625 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-07 11:35:04 +00:00
Vadim Zeitlin
0a704d3973 call base class ctor in copy ctors explicitly (fixes gcc warnings with -Wextra)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43020 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-11-04 11:16:03 +00:00
Vadim Zeitlin
1b7c01c976 fix wxBitmap mask copying
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42850 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-31 14:43:04 +00:00
Paul Cornett
a42588069c remove unneeded include
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42661 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-29 20:37:33 +00:00
Paul Cornett
8adefcac72 restore needed functions, wxMSW doesn't use wxBitmapHandlerBase
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41728 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-08 15:54:02 +00:00
Paul Cornett
452418c4b0 Move some things to wxBitmapBase to avoid much duplication.
Use proper const for XPM data, and const void* for arbitary bitmap data.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41689 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-08 08:04:49 +00:00
Robert Roebling
c4d3971185 revert bits for XBM bitmaps under MSW
adapt XBM usage in wxAUI to this logic


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40786 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-08-24 09:54:36 +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
0bca037363 Include wx/bitmap.h according to precompiled headers of wx/wx.h (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39710 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-06-14 10:02:19 +00:00
Włodzimierz Skiba
e4db172a3b Include wx/log.h according to precompiled headers of wx/wx.h (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38920 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-26 08:21:31 +00:00
Włodzimierz Skiba
8ecff18117 Include wx/list.h according to precompiled headers of wx/wx.h (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38857 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-20 07:31:44 +00:00
Vadim Zeitlin
637b7e4f3a added semicolons after wxCHECK()s (part of patch 1450705)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38248 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-03-21 14:16:34 +00:00
Vadim Zeitlin
50a9dd77f5 provide stubs for conversion to/from image functions even when wxUSE_WXDIB==0, this allows to not test for it in other places
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38230 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-03-20 23:23:00 +00:00
Vadim Zeitlin
511fb92a6c removed hard tabs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38229 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-03-20 22:57:07 +00:00
Vadim Zeitlin
f8855e4725 great copy ctor/assignment operators cleanup by Paul Cornett (patch 1307665)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37402 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-02-09 00:51:23 +00:00
Julian Smart
64c288fa47 Compile with wxUSE_DYNLIB_CLASS and wxUSE_WXDIB set to 0
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37037 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-01-21 16:47:30 +00:00
Julian Smart
074308476d Applied patch [ 1378522 ] fixed bitmap w/alpha->icon/cursor conversion
Vince Harron


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36942 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-01-17 20:06:00 +00:00
Julian Smart
7532f691fb Applied patch [ 1310251 ] Fixed a pixel depth bug converting wxImageb to wxBitmap
By Mike Fahl


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36244 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-11-24 17:41: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
Włodzimierz Skiba
92218ce600 [1231183] 'cleanup: mismatched indentation' and other cleanings.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34915 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-07-22 17:13:46 +00:00
Włodzimierz Skiba
d0ee33f5c6 '[1219035] cleanup: miscellaneous' and minor source cleaning.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34643 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-06-13 12:19:33 +00:00
Robin Dunn
0806fc2071 Convert alpha (if any) to mask in wxBitmapToIconOrCursor. Note that
it is possible to put alpha in the icon instead of using a mask, but I
don't have time to figure that out today.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34476 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-05-31 23:53:09 +00:00
Julian Smart
3103e8a97e Typo correction patch [ 1208110 ] Lots of typo corrections
Olly Betts


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34436 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-05-31 09:20:43 +00:00
Robin Dunn
5a60b5f041 When converting a wxIcon to a bitmap check if the icon has an alpha
channel and set the bitmap to use it.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34340 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-05-25 17:06:58 +00:00
Vadim Zeitlin
ec023a6e0b added wxBitmap::GetMaskBitmap()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33100 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-03-27 17:47:39 +00:00