Commit Graph

275 Commits

Author SHA1 Message Date
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
Robert Roebling
6f5d78250c Move wxVariant support for GDI classes to their
files (and thus away from wxBase).
  Add export declaration field for variant macros.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41538 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-09-30 20:45:15 +00:00
Robert Roebling
1fc1e6af05 [ 1565385 ] wxImage scaling fix - apply mask when scaling
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41455 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-09-26 08:19:10 +00:00
Włodzimierz Skiba
888355224c Warning fixes.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41432 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-09-25 12:42:18 +00:00
Vadim Zeitlin
30f27c00d6 1. fixed many warnings about implicit double to int conversions in newly
checked in "advanced" image manipulation stuff
   (could we please avoid checking in the code with warnings?)
2. tried to simplify the new code a little, but much remains to be done,
   in particular it seems obvious that BlurVertical/Horizontal() must be
   refactored to avoid duplicating each other
3. reformatted (avoid jumbo lines, removed unnecessary double casts, declare
   the variables at the point of use, ...)

Hope this didn't break anything but as there are no tests it's really hard to
find out how was this supposed to behave.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41418 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-09-24 13:58:52 +00:00
Robert Roebling
07aaa1a4b8 [ 1537065 ] wxImage: Higher quality scaling/sampling
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41412 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-09-24 12:47:16 +00:00
Václav Slavík
22a35096a0 renamed wxRect::Inside() to wxRect::Contains(), wxRect::Inside(wxRect) is too confusing
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41198 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-09-13 17:12:25 +00:00
Paul Cornett
5ff14574fc some app.h cleanup: minimize includes, use static cast
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41099 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-09-09 17:29:19 +00:00
Włodzimierz Skiba
02761f6cd4 Include wx/module.h according to precompiled headers of wx/wx.h (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40943 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-08-31 19:31:43 +00:00