When loading a TGA file that has an image type of uncompressed true colour it would be falsely detected as a cursor file and as an icon file if type is of uncompressed colour mapped. Lower the chance of this happening by also checking the remaining member of an ICO and CUR header which represents the number of images in the file. This member has to be non-zero (checked against all found ICO and CUR files in an XP installation).
See also #12702.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66491 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Supports saving 24-bit and 32-bit (RGB with alpha).
Updated image unit test to verify the alpha channel of saved TGA images. Also removed a condition skipping a test which only was in place for TGA (formerly its saving handler would do nothing yet say saving was succesful).
See also #7661.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66485 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Compare the alpha data of saved images (where applicable, currently for PNG only) to a generated alpha channel. Refactored most of ImageTestCase.CompareSavedImage into (static) function CompareImage to easily compare with a 24-bit image and then a 32-bit one.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66483 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Compare the data of loaded images in different formats against a reference image (one for 8-bit images, another for 24-bit). Do the same for images saved using SaveFile. Excluded some formats because they are either lossy or don't pass the test right now.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66478 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
For PNG it was mentioned only loading supports alpha, but alpha saving support has been available since r32414. Similarly there was no mention of alpha loading support for TIFF (supported since r47204) as well as BMP (since r54942).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66476 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The base lines of the text in wxTextCtrl and wxStaticText which were
themselves vertically aligned didn't align, the text in the latter was one
pixel too low. This seems to be happening because we don't give enough
vertical space to the native static control by default and so, while the text
wasn't truncated, it was positioned differently than usual.
Work around this problem by allocating two extra pixels to wxStaticText
height. While the exact explanation of the problem remains mysterious, this
hack does result in correct appearance which seems to be sufficiently
important to apply it.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66452 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Contrary to the comment in wx/wxcrtbase.h, wcsftime() doesn't seem to be
available under quite all the systems, notably it doesn't seem to be present
in OpenBSD at all, even in the very latest version.
Add a configure test for this function and fall back to our own implementation
if the system doesn't have it.
Closes#12766.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66446 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
wxWidgets 2.9 doesn't support building without wchar_t any more so always
define wxUSE_WCHAR_T and give an error from configure if wchar_t is really not
available.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66445 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Native MSW wxSpinCtrl uses a single pixel margin between the text part and the
spin button while the generic version used 2 pixels which resulted in a
slightly different appearance (see #12767).
Use the same margin as MSW now in the generic version too, it should be fine
for the other platforms as well and if it isn't we can always tweak them
later.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66444 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The code in DoMoveWindow() didn't account for the margin and made the text
control part of the window too large resulting in the truncation of the spin
button.
Simply remember to take margin into account when computing the text width.
See #12767.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66443 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Add unit tests checking that the behaviour really corresponds to the
documentation too.
And also mention that it's not a good idea to have strings differing by case
only in wxComboBox anyhow.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66442 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Mention that wxCB_DROPDOWN is MSW (and Motif...) specific and don't document
the much more often used wxCB_READONLY in its terms, just describe it directly
instead.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66441 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
OS X build slave used its own commands to run unit tests, add -t to them too
to be (hopefully) able to see better where does the test crash exactly.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66440 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Correct the syntax of preprocessor check for wxOSX_USE_IPHONE in libpng, it
got somehow broken during upgrade to 1.4.4.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66439 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
As wxAcceleratorEntry::Create() now expects the full menu item label, just
pass GetItemLabel() to it in wxMenuItemBase::GetAccel() instead of half-
parsing it ourselves there.
Closes#12794.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66430 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
wxDFB compilation was broken by recent wxObjectRefData copy ctor-related
changes. Fix it by not using wxCursorRefData copy ctor any more, call
wxCursorRefData::Clone() which does the right thing explicitly instead.
Closes#12791.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66429 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This not only removes some unnecessary code from the sample but also fixes a
problem due to the use of a 0 id under wxOSX (which is unsupported there).
Closes#12788.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66428 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Replace hardcoded 72 DPI which was "compensated" for with a 0.8 fudge factor
with the values using the real screen DPI in wxGTK and PostScript print
preview classes.
Closes#12777.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66427 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Replace mentions of the non-existent wxCONFIG_WIN32_NATIVE with
wxUSE_CONFIG_NATIVE. Also explain what does the "best implementation" really
mean and link to wxAppTraitsBase::CreateConfig().
Closes#12787.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66426 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Replace the test for the OS version with the test for comtrl32.dll version in
HasNativeHyperlinkCtrl() wxMSW function as the native control could be not
available even under Vista/7 if we're not using comtrl32.dll v6 and this can
happen if the program was linked without the appropriate manifest or, possibly
more likely, if a DLL using wxWidgets was loaded by such a program.
Closes#12711.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66425 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775