Made the following changes:
* Formerly specifying to resize using wxIMAGE_QUALITY_BICUBIC or wxIMAGE_QUALITY_BILINEAR could result in the ResampleBox method being used. Now always resize with the method that the user actually specified.
* Added wxIMAGE_QUALITY_BOX_AVERAGE to explicitly allow resizing with the ResampleBox method.
* Previously wxIMAGE_QUALITY_HIGH was equal to wxIMAGE_QUALITY_BICUBIC. It has been changed to use wxIMAGE_QUALITY_BOX_AVERAGE when reducing the size of an image and wxIMAGE_QUALITY_BICUBIC in all other cases.
Closes#12845.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67203 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Previously when resizing by more than 50% (for example resizing from 100x100 to 51x51 or 140x140) a box size of 1x1 would be used which effectively would give the same result as using nearest neighbour. Make sure that at least a box size of 2x2 pixels is always used.
Patch by scottb, see also #12845.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67202 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Explicitly pass wxART_BUTTON to wxArtProvider to ensure that all the icons are
returned in the same size, otherwise they didn't look well and could result in
an assert too, see #12909.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67200 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Use literal strings instead of macros such as "newline", "space" and
"semicolon" and also use wxColour::GetAsString() instead of reimplementing it.
Closes#13037.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67195 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Demonstrate the use of styles such as wxNB_FIXEDWIDTH or wxTBK_HORZ_LAYOUT
specific to particular controls and not only the ones common to all of them.
Closes#13036.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67192 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This prevents the parent TLW from interfering with the keyboard handling of
the window that captured the mouse which very often needs Escape for itself to
cancel the capture.
In particular, this fixes the problems with Escape closing the entire dialog
containing the controls instead of closing just the combobox drop down or a
popup menu in wxMSW.
Also modify wxGTK for consistency and update the documentation.
Closes#12952.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67191 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Explain that it is sent to the active TLW and not the focus window and that
handling it suppresses all the normal keyboard events.
Mention that it is not generated by wxOSX/Cocoa currently, see #12431.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67190 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Escape is used by IME and intercepting it at wxWidgets level to generate
EVT_CHAR_HOOK breaks the IME UI and may result in unexpected loss of data
entered by user.
To work around this, don't generate EVT_CHAR_HOOK for Escape while IME is
active by checking for the special semaphore variable (which could be also
used for other things in the future, see #9102) value.
Closes#11386.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67189 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Using wxSVGFileDC in locales using comma as decimal separator resulted in
invalid SVG files being created as a decimal period should always be used in
them.
Fix this by replacing "%g" format specification with wxString::FromCDouble()
call (wrapped in a convenient NumStr() helper function).
Closes#12008.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67188 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The size of the wxImageList used to store the bitmaps wasn't updated before
and so the old bitmap size continued to be used even after changing the actual
bitmaps.
Recreate wxXPButtonImageData to ensure that the image list size does change.
Closes#12909.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67187 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
IF we don't show the dialog allowing the user to select the pages range, we
should print everything by default instead of printing nothing at all as we
used to do.
Closes#12998.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67186 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Add "wait mode" parameter to these methods which can be used to make them
block even under wxMSW where they currently dispatch messages when called
which can be totally unexpected.
Do keep the old behaviour for compatibility however, although it will change i
3.2.
Closes#12998.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67185 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Honour wxBU_{LEFT,RIGHT,TOP,BOTTOM} flags for owner drawn buttons too, this
ensures that you can both change the colour and align the text differently for
buttons under XP and later.
Closes#12995.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67184 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Optionally support fixed precision in wxString::FromDouble() and FromCDouble()
methods. This is mostly useful for the latter to be able to format numbers in
portable way (using dot as decimal separator) without loss of precision but
also do it for the former for consistency.
Closes#12973.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67181 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
It wasn't immediately obvious that this dialog could be used for multiline
text entry too so mention it explicitly in the documentation.
Also show this in action in the dialogs sample.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67179 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The cross, vertically and horizontally hatched brushes used 4 pixels between
the hatches in wxGTK but 7 in wxMSW which was very noticeable. Use the same
pattern in wxGTK as MSW uses (as we can't change it there anyhow).
Closes#13029.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67163 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The rubber banding selection message box was shown even after a simple click,
i.e. when nothing was actually selected which was quite annoying, so don't do
this.
Also remove unnecessary casts and use wxLogMessage() instead of
wxString::Printf() + wxMessageBox().
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67160 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Fix the signature of the overload returning row and column which got corrupted
during transition to Doxygen and document the overload returning the position
as well. Also document all the parameters.
Closes#12954.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67159 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
LVN_ODFINDITEM handler could enter infinite loop if its selection was 0 and a
key not matching any of the items first letters was pressed.
Rewrite the loop in a simpler form to ensure that it is correct. Also clarify
some comments. Finally, fix the behaviour when no matching item was found (if
it didn't hang in infinite loop, it used to select the first item in the
control).
Closes#13026.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67155 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Just use wxLogDebug() if this happens, asserting here is not the right thing
to do as it doesn't indicate an error in the program but rather invalid
external input and, moreover, we can recover from it easily.
No changes in behaviour in normal case.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67154 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775