Commit Graph

283 Commits

Author SHA1 Message Date
Vadim Zeitlin
5d4510dc48 No real changes, just minor cleanup of wxImage code.
Make more local variables const. Use consistent spacing. Don't use needless
comparison with NULL. Don't avoid not using double negation.

See #12682.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66177 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-11-17 01:20:44 +00:00
Vadim Zeitlin
0fe7cd1da4 Don't pass a bool to wxImage::MakeEmptyClone() which takes an enum.
Correct the changes of r66167 which accidentally left a call to
MakeEmptyClone() using its previous signature.

See #12682.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66176 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-11-17 01:20:38 +00:00
Vadim Zeitlin
496dbbe76e No changes, just refactor common code in wxImage cloning functions.
Extract code common to several wxImage methods creating new images based on an
existing one in a new MakeEmptyClone() method.

Closes #12682.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66167 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-11-16 22:37:59 +00:00
Vadim Zeitlin
0547ad09cc Handle image hot spot in wxImage::Rotate180().
Set the hot spot coordinates correctly for the image returned from
Rotate180(), just as it's already done by Rotate90().

Closes #12680.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66149 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-11-14 12:09:51 +00:00
Vadim Zeitlin
8524dec372 Add wxImage::Rotate180() function.
Closes #12679.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66146 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-11-14 01:02:35 +00:00
Vadim Zeitlin
000c2be40d Handle hot spots in wxImage::Rotate90().
Set hot spot coordinates for the rotated image if the original one had them.

Also handle the case when the source image has both alpha and mask correctly.

Closes #3680.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66145 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-11-14 01:02:27 +00:00
Vadim Zeitlin
878f28d8c8 Changed wxImage::ConvertAlphaToMask() return type to bool.
Make this function more useful by returning true from it if alpha channel was
really converted to the mask by it.

Closes #12637.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65990 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-11-02 11:57:09 +00:00
Vadim Zeitlin
b7c31456fe Fix print format specifiers used for enum values.
Enums are ints, not longs, so use %d instead of %ld to avoid asserts under LP64
64 bit architectures.

Closes #12556.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65797 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-13 22:10:33 +00:00
Vadim Zeitlin
90fbb09ae2 Add wxImage::ClearAlpha().
This simple method can be used to remove alpha channel from the image.

See #10915.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63922 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-04-09 13:15:20 +00:00
Paul Cornett
b50e6e416e preserve type when loaded image is rescaled, #11543
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62900 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-16 17:10:52 +00:00
Vadim Zeitlin
945c909da9 Suppress harmless g++ warnings about converting float/double to int.
The conversion is done on purpose on these places so just suppress the warning
by using explicit casts.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62679 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-11-18 09:56:59 +00:00
Julian Smart
198c264dbc Applied part of #10034: wxImage::ConvertToDisabled()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62099 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-09-24 20:05:33 +00:00
Vadim Zeitlin
a4dac1907b Avoid spurious uninitialized variable warning.
Last change introduced a new warning in optimized g++ build, fix it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61793 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-31 00:05:29 +00:00
Vadim Zeitlin
2e51fb3041 Correct wxImage::Size() again; add unit tests for it.
wxImage::Size() didn't handle the paste position correctly.

Closes #7874.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61792 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-30 21:43:11 +00:00
Vadim Zeitlin
180f3c7461 Add support for bilinear resize algorithm to wxImage.
Add wxIMAGE_QUALITY_BILINEAR in addition to the existing wxIMAGE_QUALITY_BICUBIC,
it is supposed to be much faster yet yield almost the same results.

Closes #11034.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61791 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-30 21:11:37 +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
Francesco Montorsi
8faef7ccbc document that CanRead() and GetImageCount() functions of wxImageHandlers do NOT modify the current stream position and that they require seekable streams; rename current GetImageCount() functions to DoGetImageCount() and put save-and-restore stream position logic in GetImageCount(); add comments in the various DoCanRead() and in DoGetImageCount() where the stream position is modified; remove unneeded SeekI(0) calls from DoCanRead() and DoGetImageCount() functions: they didn't allow to load images from non-seekable streams; implement forward-seeking in wxInputStream::SeekI() also for non-seekable streams
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60852 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-06-01 11:43:36 +00:00
Francesco Montorsi
72a9034bd4 add overloads of ctors and Create() functions taking wxSize; document the various Create() overloads; reorganize wxImage docs categorizing the various functions
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59525 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-14 13:28:28 +00:00
Vadim Zeitlin
ba4800d3ae add support for multiple extensions to wxImage handlers (closes #10570)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59461 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-09 23:13:34 +00:00
Vadim Zeitlin
c0c133e13b add wx-prefixed and semicolon-requiring versions of DECLARE_NO_{COPY,ASSIGN}_CLASS macros
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58757 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-08 11:45:59 +00:00
Vadim Zeitlin
c1099d9254 allow specifying the mask colour in wxImage::ConvertAlphaToMask() (closes #10143)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58404 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-25 17:23:39 +00:00
Francesco Montorsi
fc3762b5fc add wxImage::Clear (patch by troelsk); closes #10141
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57946 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-09 15:35:59 +00:00
Robert Roebling
a805de23ff Mark alpha a static data (not to be freed), too
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57528 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-24 15:45:34 +00:00
Vadim Zeitlin
36abe9d421 added the possibility to rescale the image during loading, especially useful with JPEGs (#8390) (change to the sample accidentally committed as r56820)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56821 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-17 13:54:42 +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
Vadim Zeitlin
85f818733c copy both alpha and mask in Paste() (#9658)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54935 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-02 22:00:53 +00:00
Vadim Zeitlin
9d1c7e8474 add wxImage::SetType() and use it in animation decoders (#9639)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54932 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-02 20:13:41 +00:00
Vadim Zeitlin
591d3fa210 remember the last type used for loading or saving the image and return it from GetType() (#9551)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54086 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-11 00:28:23 +00:00
Vadim Zeitlin
e98e625cbb change longs used for bitmap types to wxBitmapType (#9126)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53999 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-06 23:33:58 +00:00
Robert Roebling
1a8fa7d2fa [ 1942756 ] wxImage:SaveFile() returns true instead of result of subcall
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53244 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-04-17 15:07:26 +00:00
Vadim Zeitlin
f71b0c2d56 continue with other handlers if some handler fails in LoadFile() after returning true from CanRead() (modified patch 1926226)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53048 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-04-06 15:31:18 +00:00
Vadim Zeitlin
14678d6d22 added alpha support to wxImage::Paste() (patch 1883497, bug 1831612)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51617 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-02-09 15:32:04 +00:00
Vadim Zeitlin
c7a284c79b fixes to wxImage::ResambleBox() (patch 1843902)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50901 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-12-22 15:52:48 +00:00
Václav Slavík
b4c26503d3 use NULL for NULL pointers, not 0
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50151 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-11-22 13:34:34 +00:00
Vadim Zeitlin
24904055f3 made Blur() methods const (bug 180914)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49077 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-10-07 17:02:12 +00:00
Vadim Zeitlin
eb86e7755e don't free "static" alpha data (patch 1738966)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46548 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-20 00:10:35 +00:00
Robin Dunn
993f08452d Coerce to floating point to fix ResampleBicubic. See bug #1736953.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46531 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-18 19:39:13 +00:00
Václav Slavík
8d6c5e4f3f prefer wxFFile to wxFile if both are available, for better performance (see bug #1736365)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46457 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-13 20:49:27 +00:00
Václav Slavík
8650108199 don't use implicit wxString->char*/wchar_t* conversion, it will not be available in wxUSE_STL build in the future
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46391 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-10 17:42:41 +00:00
Vadim Zeitlin
361f4288eb added support for image resolution options to PNG handler (heavily modified patch 1704128)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45567 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-21 19:29:01 +00:00
Václav Slavík
47b378bd88 removed extra semicolons (patch #1700459; fixes compilation with gcc's -pedantic flag)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45450 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-14 09:58:37 +00:00
Vadim Zeitlin
641ed513f8 check for alpha first, then mask, in BlurHorizontal/Vertical(): not only this makes more sense but it also prevents crashing for images which have both (see coverity CID 172)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45151 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-30 15:49:08 +00:00
Vadim Zeitlin
e26d5213ec call GetWidth/Height() only once in Rotate() and not inside the loops (patch 1681544); some minor code cleanup
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44839 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-16 00:19:16 +00:00
Vadim Zeitlin
3fff396675 replaced wxCint() with wxRound() (which is exactly the same) in Rotate(); small code cleanup
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42757 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-30 20:03:33 +00:00
Vadim Zeitlin
55ccdb93e4 COW cleanup patch (1583966):
1. perform deep comparison for the classes for which it makes sense in the
   ports where this wasn't done yet
2. remove (shallow) comparison operators for the classes for which it does
   not make sense (such as wxBitmap)
3. makes wxBitmap use COW on all ports
4. adds wxObject::IsRefTo()
5. centralizes and improves COW docs


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42752 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-30 19:26:48 +00:00
Robert Roebling
dcc36b34be [ 1579793 ] numerous bug fixes when mask is used
Corrects PNG handling and wxImage::Paste()


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42092 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-18 17:06:11 +00:00
Włodzimierz Skiba
e8a8d0dc2d [#1577388] - fix for scaling in wxImage.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42049 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-16 13:26:08 +00:00
Vadim Zeitlin
b7cacb43db add IsOk() to all classes having Ok() method (patch 1570985)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41751 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-08 21:56:55 +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