Add support for specifying multiple animations to allow automatically
showing a higher resolution version when using high DPI, just as it was
already possible with the bitmaps.
See #23817.
Check that we have a label before repositioning it fix the crash
introduced by d847f3b039 (Fix position of label window in wxStaticBox
after DPI change, 2023-08-05).
See #23740.
Closes#23826.
When testing downloading with wxURL and header Content-Length
is not available, display "n/a" as the file size instead of
the value of (unsigned long)-1.
Closes#23825.
Changes using XKB for getting key codes for the events in wxGTK resulted
in always using the key codes for the US keyboard which was incompatible
and arguably wrong too.
Change the logic to only use XKB when we don't have a valid key code in
the current layout to restore the old behaviour.
Closes#23680.
Closes#23818.
Just refresh the window and repaint it from OnPaint().
This was already effectively done under Mac and now this class can be
also used in wxGTK (where it may be preferable to the native one as the
latter one doesn't support high DPI animations yet).
Deprecate wxXmlResourceHandler::GetAnimation() function which returns
just a single animation and add a new GetAnimations() replacing it.
Use the new function in wxAnimationCtrl XRC handler to pass all the
animations defined in the XRC file to the control.
Allow specifying multiple animation versions, for different resolutions,
when setting the animation to use via wxAnimationBundle class which is a
much simpler version of wxBitmapBundle used elsewhere.
This is not implemented for the native GTK version yet.
Update the sample, even though the difference in it is not really
noticeable as the "high DPI" throbber is just a scaled up version of the
existing standard DPI animation produced using gifsicle.
Instead of always scaling the single bitmap passed to it, allow passing
wxBitmapBundle and select the bitmap most appropriate for the current
resolution from it.
Closes#23813.
It shouldn't be possible to put characters that can't be entered into
the associated control directly by pasting them, so intercept paste
events too and filter out any invalid characters.
Closes#10281.
Closes#23812.
This reverts 5d630caabd (Make it enough to predefine only
wxUSE_DPI_AWARE_MANIFEST, 2023-08-23) and all the commits which tried to
fix the breakage caused by it.
While the original change had merit, it seems to be too difficult to fix
all our build systems to avoid embedding manifest when defining this in
the code, like samples/sample.rc does, so revert this change for now.
Maybe it can be reintroduced in the future after switching to some other
build system.
This is similar to f6255e456b (Don't embed default manifest in minimal
samples MSVC project, 2023-08-24) but for the GUI test, which was also
broken by 5d630caabd (Make it enough to predefine only
wxUSE_DPI_AWARE_MANIFEST, 2023-08-23).
Remove support for unsupported MSVS versions earlier than 2015
and Windows versions earlier than 7 from CMake build as they are not
supported any longer.
Also update wxUSE_GRAPHICS_GDIPLUS and wxUSE_GRAPHICS_DIRECT2D comments
in wxMSW setup.h to remove mentions of unsupported Windows XP but do
mention that MinGW-w64 can use Direct2D.
Closes#23787.
Don't embed the manifests explicitly when wxUSE_DPI_AWARE_MANIFEST is
set any more, as this is done by wx/msw/wx.rc after the changes of
5d630caabd (Make it enough to predefine only wxUSE_DPI_AWARE_MANIFEST,
2023-08-23).
This clashes with the wx manifest which is getting included now after
the changes of 5d630caabd (Make it enough to predefine only
wxUSE_DPI_AWARE_MANIFEST, 2023-08-23).
alpha and ia64 use libc.so.6.1, GNU/kFreeBSD uses libc.so.0.1, and
GNU/Hurd uses libc.so.0.3, so check for these versions too in addition
to 6 and 7 used under x86 Linux.
Closes#23801.
The note in the method description incorrectly stated that
"...the handlers are deleted in wxFileSystem's destructor so
that you don't have to care about it." However, unless a
handler is removed by calling wxFileSystem::RemoveHandler()
(or undocumented wxFileSystem::CleanUpHandlers()), it is deleted
only when wxWidgets shuts down in wxFileSystemModule::OnExit().
Update the method documentation that it is correct (and similar to
that of wxImage::AddHandler()).
Closes#23789.
While running the test_base on CYGWIN, this message will be printed on the console:
-------------------------------------------------------------------------------
DynamicLibrary::Load
-------------------------------------------------------------------------------
/cygdrive/c/Users/carlo/Documents/GitHub/wxWidgets/tests/misc/dynamiclib.cpp:26
...............................................................................
/cygdrive/c/Users/carlo/Documents/GitHub/wxWidgets/tests/misc/dynamiclib.cpp:80: warning:
Couldn't find libc.so, skipping DynamicLibrary::Load() test.
/cygdrive/c/Users/carlo/Documents/GitHub/wxWidgets/tests/misc/dynamiclib.cpp:84: warning:
Possible candidates:
/lib/libc.a
/usr/lib/libc.a
CYGWIN uses NEWLIB as C library and it is compiled into cygwin1.dll.
This patch adds the right test case for CYGWIN, for letting the execution of the test.
Closes#23781.
- caret: Use the system color for window background instead of
hard-coded white.
- image: Use hard-coded black for the text drawing since all other
drawings on the image canvas use hard-coded colours too. The default
text colour was barely readable in dark mode.
- joytest: Use wxCYAN_PEN instead of wxBLACK_PEN to ensure the line is
visible both in light and dark colour system mode.
- ownerdrw: Use such background colour that there is good contrast
between text and background both in light and dark colour system mode.
- popup: Use such background colour for the pop up so that there is a
good contrast between text and background both in light and dark
colour system mode.
Closes#23773.
Add another manually created solution file, after adding the solutions
for MSVS 2017 and 2019 in cfe4a10995 (Add manually created MSVS 201x
solutions files for wxrc, 2019-01-07) to make it possible to build wxrc
with MSVS 2022 easily too.
In the dialog, create the controls put in the static box sizer
with the sizer's static box as the parent instead of the dialog.
Improve appearance of custom drawn items in dark mode.
Closes#23765.
Add that anything using task dialog does not support dark mode.
Mention that most common dialogs do not support dark mode.
Mention that calling wxMenu::Break() will turn the menu light.
Closes#23769.
Handle multiple semicolon-separated paths in <bitmap> elements which are
used to provide several versions of the same bitmap in different
resolutions.
This commit is best viewed ignoring whitespace-only changes.