Commit Graph
22296 Commits
Author SHA1 Message Date
Mohmed abdel-fattah 8e2ac38462 Add dark mode support for task dialog-based dialogs
Show wxMessageDialog and wxProgressDialog using appropriate colours when
dark mode is active.

Closes #26240.

Closes #26311.
2026-06-07 18:14:58 +02:00
Vadim Zeitlin 92254ce2db Factor out wxIsSystemColourChange() helper function
Check whether the LPARAM of WM_SETTINGCHANGE is "ImmersiveColorSet".

No real changes yet, just make it possible to reuse this in the upcoming
commits.
2026-06-07 18:14:58 +02:00
Steve Cornett f12b247d26 Implement support for switching between light/dark modes in wxMSW
MSW builds / wxMSW vs2022 DLL Debug x64 (push) Has been cancelled
MSW builds / wxMSW vs2022 DLL Release x64 (push) Has been cancelled
MSW builds / wxMSW vs2022 Debug Win32 (push) Has been cancelled
MSW builds / wxMSW vs2022 Release arm64 (push) Has been cancelled
MSW builds / wxMSW vs2026 DLL Release x64 (push) Has been cancelled
MSW cross-builds / wxMSW 64 bits not compatible (push) Has been cancelled
MSW cross-builds / wxMSW/Univ (push) Has been cancelled
MSW cross-builds / wxMSW 32 bits (push) Has been cancelled
Code Checks / Check Spelling (push) Has been cancelled
Code Checks / Check Whitespace (push) Has been cancelled
Code Checks / Check Mixed EOL (push) Has been cancelled
Code Checks / Check C++ Style (push) Has been cancelled
Code Checks / Check All Headers In allheaders.h (push) Has been cancelled
Replace MSWGetDarkModeSupport() with MSWSetDarkOrLightMode() which can
now be called to initialize dark mode for a window or to switch it from
one mode to the other and call this function when the mode changes.

Closes #26516.
2026-06-07 03:15:08 +02:00
Maarten Bent a113ddc9e5 Add some guards against missing build options 2026-06-06 12:43:17 +02:00
Vadim Zeitlin a935e63c40 Merge branch 'pg-dpi-change'
Fix text size in wxPropertyGrid after DPI change.

See #26549.
2026-06-02 14:44:59 +02:00
Vadim Zeitlin 09234b9ea3 Merge branch 'aui-dpi-change'
Improve handling of DPI changes in wxAUI.

Currently pane positions are scaled linearly, which may result in small
discrepancies between the initial layout at the given DPI and the layout
at the same DPI after a change from another value, but this is still
much better than not doing anything.

See #26075, #26546.
2026-06-02 14:41:43 +02:00
Vadim Zeitlin b8a8f2e3ff Factor out wxPropertyGrid::ReallocDoubleBufferIfNeeded()
No real changes, just extract the code (re)creating m_doubleBuffer into
its own function to allow for its reuse in the upcoming commit.
2026-06-02 01:32:40 +02:00
Hugo Armando Castellanos MoralesandVadim Zeitlin c52190e3d1 Fix building wxBase under Android
Link with "log" library and account for Android having gethostbyname_r()
but not getservbyname_r().

Also remove unnecessary include/wx/android/setup.h and config_android.h
files which seem to have been never used since they were added back in
1b4bff8262 (Add minimal support for building non-GUI parts of wxWidgets
for Android., 2012-02-26).

Closes #26539.

Co-authored-by: Vadim Zeitlin <vadim@wxwidgets.org>
2026-06-01 23:39:03 +02:00
Vadim Zeitlin d32c574141 Update AUI layout on DPI change
Scale the pane and dock sizes and positions to keep the same layout in
the new DPI.
2026-06-01 21:05:53 +02:00
Vadim Zeitlin e053d3840a Rename OnDpiChanged() in wxAUI to OnDPIChanged() for consistency
All the other wxDPIChangedEvent handlers use the upper-case version, so
rename a couple which didn't to follow them.
2026-06-01 18:30:41 +02:00
Fefedu973 5bd892f7ac Fix dark mode selection in list controls in latest Windows 11
MSW builds / wxMSW vs2022 DLL Debug x64 (push) Has been cancelled
MSW builds / wxMSW vs2022 DLL Release x64 (push) Has been cancelled
MSW builds / wxMSW vs2022 Debug Win32 (push) Has been cancelled
MSW builds / wxMSW vs2022 Release arm64 (push) Has been cancelled
MSW builds / wxMSW vs2026 DLL Release x64 (push) Has been cancelled
MSW cross-builds / wxMSW 64 bits not compatible (push) Has been cancelled
MSW cross-builds / wxMSW/Univ (push) Has been cancelled
MSW cross-builds / wxMSW 32 bits (push) Has been cancelled
Code Checks / Check Spelling (push) Has been cancelled
Code Checks / Check Whitespace (push) Has been cancelled
Code Checks / Check Mixed EOL (push) Has been cancelled
Code Checks / Check C++ Style (push) Has been cancelled
Code Checks / Check All Headers In allheaders.h (push) Has been cancelled
This limits the dark-mode theme applied to native list HWNDs to the
ScrollBar class instead of applying a full list/control theme which made
the text of the selected items unreadable in Windows 26300.8553
(Windows 11 Insider).

The main combobox control still keeps the existing CFD theme, preserving
the dark drop button/trigger. The popup list HWND for wxChoice and
wxComboBox and standalone wxListBox now use Explorer with the ScrollBar
sub-id so scrollbars remain dark without applying the list item theme
that makes selected rows unreadable.

Fixes #26535.

Closes #26538.
2026-05-31 23:57:49 +02:00
Vadim Zeitlin cf50020259 Avoid buffer read overflow in wxCharTypeBuffer ctor
Don't assume that the data is always followed by NUL.

Closes #26527.
2026-05-30 18:00:35 +02:00
ryancog eedc16bc89 Add wxSizer::DetachItem()
Unix builds / Ubuntu 18.04 wxGTK 3 compatible 3.0 (push) Has been cancelled
Unix builds / Ubuntu 24.04 wxGTK ASAN not compatible (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK UTF-8 (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxQt (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxX11 (push) Has been cancelled
Unix builds / Ubuntu 20.04 wxGTK 3 with clang (push) Has been cancelled
Unix builds / Ubuntu 22.04 wxGTK with wx containers (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxDFB (push) Has been cancelled
Unix builds / Ubuntu 24.04 wxGTK UBSAN (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK 3 static with gcc 4.8 (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK 2 (push) Has been cancelled
CMake builds / Ubuntu 22.04 wxGTK 3 (push) Has been cancelled
CMake builds / macOS latest wxGTK 3 Unix Makefiles (push) Has been cancelled
CMake builds / MSW/MSVC wxMSW (push) Has been cancelled
CMake builds / MSW/Clang wxMSW (push) Has been cancelled
CMake builds / macOS latest wxOSX Ninja (push) Has been cancelled
CMake builds / macOS 14 wxOSX Xcode (push) Has been cancelled
CMake builds / macOS 14 wxIOS (push) Has been cancelled
CMake builds / MSW/MSVC wxQt 5.15 (push) Has been cancelled
CMake builds / MSW/MSVC wxQt 6.10 (push) Has been cancelled
Mac builds / wxMac ARM ASAN not compatible (push) Has been cancelled
Mac builds / wxMac Universal C++14 (push) Has been cancelled
Mac builds / wxiOS Simulator on Silicon Mac (push) Has been cancelled
Mac builds / wxiOS (push) Has been cancelled
Mac builds / wxMac Intel C++17 (push) Has been cancelled
Mac Xcode builds / iOS Simulator static (push) Has been cancelled
Mac Xcode builds / macOS dynamic Release (push) Has been cancelled
Mac Xcode builds / iOS static Debug (push) Has been cancelled
MSW builds / wxMSW vs2022 DLL Debug x64 (push) Has been cancelled
MSW builds / wxMSW vs2022 DLL Release x64 (push) Has been cancelled
MSW builds / wxMSW vs2022 Debug Win32 (push) Has been cancelled
MSW builds / wxMSW vs2022 Release arm64 (push) Has been cancelled
MSW builds / wxMSW vs2026 DLL Release x64 (push) Has been cancelled
MSW cross-builds / wxMSW 64 bits not compatible (push) Has been cancelled
MSW cross-builds / wxMSW/Univ (push) Has been cancelled
MSW cross-builds / wxMSW 32 bits (push) Has been cancelled
Code Checks / Check Spelling (push) Has been cancelled
Code Checks / Check Whitespace (push) Has been cancelled
Code Checks / Check Mixed EOL (push) Has been cancelled
Code Checks / Check C++ Style (push) Has been cancelled
Code Checks / Check All Headers In allheaders.h (push) Has been cancelled
Update Documentation / Update Online Documentation (push) Has been cancelled
Unlike the existing Detach(), this function doesn't delete wxSizerItem
itself, allowing to add it back to this or another sizer later.

Closes #26512.
2026-05-27 16:17:21 +02:00
Vadim Zeitlin 8ff2ba11cc Merge branch 'msw-settings-change'
Unix builds / Ubuntu 18.04 wxGTK 3 compatible 3.0 (push) Has been cancelled
Unix builds / Ubuntu 24.04 wxGTK ASAN not compatible (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK UTF-8 (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxQt (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxX11 (push) Has been cancelled
Unix builds / Ubuntu 20.04 wxGTK 3 with clang (push) Has been cancelled
Unix builds / Ubuntu 22.04 wxGTK with wx containers (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxDFB (push) Has been cancelled
Unix builds / Ubuntu 24.04 wxGTK UBSAN (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK 3 static with gcc 4.8 (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK 2 (push) Has been cancelled
CMake builds / Ubuntu 22.04 wxGTK 3 (push) Has been cancelled
CMake builds / macOS latest wxGTK 3 Unix Makefiles (push) Has been cancelled
CMake builds / MSW/MSVC wxMSW (push) Has been cancelled
CMake builds / MSW/Clang wxMSW (push) Has been cancelled
CMake builds / macOS latest wxOSX Ninja (push) Has been cancelled
CMake builds / macOS 14 wxOSX Xcode (push) Has been cancelled
CMake builds / macOS 14 wxIOS (push) Has been cancelled
CMake builds / MSW/MSVC wxQt 5.15 (push) Has been cancelled
CMake builds / MSW/MSVC wxQt 6.10 (push) Has been cancelled
Mac builds / wxMac ARM ASAN not compatible (push) Has been cancelled
Mac builds / wxMac Universal C++14 (push) Has been cancelled
Mac builds / wxiOS Simulator on Silicon Mac (push) Has been cancelled
Mac builds / wxiOS (push) Has been cancelled
Mac builds / wxMac Intel C++17 (push) Has been cancelled
Mac Xcode builds / iOS Simulator static (push) Has been cancelled
Mac Xcode builds / macOS dynamic Release (push) Has been cancelled
Mac Xcode builds / iOS static Debug (push) Has been cancelled
MSW builds / wxMSW vs2022 DLL Debug x64 (push) Has been cancelled
MSW builds / wxMSW vs2022 DLL Release x64 (push) Has been cancelled
MSW builds / wxMSW vs2022 Debug Win32 (push) Has been cancelled
MSW builds / wxMSW vs2022 Release arm64 (push) Has been cancelled
MSW builds / wxMSW vs2026 DLL Release x64 (push) Has been cancelled
MSW cross-builds / wxMSW 64 bits not compatible (push) Has been cancelled
MSW cross-builds / wxMSW/Univ (push) Has been cancelled
MSW cross-builds / wxMSW 32 bits (push) Has been cancelled
Code Checks / Check Spelling (push) Has been cancelled
Code Checks / Check Whitespace (push) Has been cancelled
Code Checks / Check Mixed EOL (push) Has been cancelled
Code Checks / Check C++ Style (push) Has been cancelled
Code Checks / Check All Headers In allheaders.h (push) Has been cancelled
Update Documentation / Update Online Documentation (push) Has been cancelled
Fixes for settings/colours changes in wxMSW.

See #26503.
2026-05-25 21:22:31 +02:00
Steve Cornett 8ac3d483a6 Remove wxUSE_UXTHEME option and assume it is always on
It has not been possible to build with this option disabled for 4 years.
It appears there has been little effort to support this option since
then. For 8 years, there has been a duplicate definition of
wxUxThemeIsActive(), causing a linker warning.

Closes #26509.
2026-05-25 21:19:07 +02:00
Steve Cornett 625efe66f1 Fix wxFrame system color change in wxMSW
This change fixes wxFrame so that it properly responds to switching
between high contrast themes as well as dark mode.

Do it by not setting the frame background colour by default and
implementing GetDefaultAttributes() properly instead, as this ensures
that the correct colour is used by default, in both light and dark
modes, while explicitly set colour still overrides it.

See #25755.

Closes #26427.
2026-05-23 18:43:22 +02:00
Steve Cornett bb47481f4c Update non-client colors upon theme change in wxMSW
This change updates the colors in the top level window title bar, menu
bar, etc, with dark/light theme change.

wxMSWDarkMode::EnableForTLW() is renamed to ConfigureTLW() as this
function can now either enable or disable the use of dark theme.

Closes #26425.
2026-05-23 18:38:53 +02:00
Vadim Zeitlin 7b938b8376 Revert "Add system color change event handler to wxDataViewCtrl"
This reverts commit 5f75241f3a which is
not necessary any longer as all windows are refreshed on colour change
anyhow in wxMSW too now.

See #26424.
2026-05-23 18:35:43 +02:00
Vadim Zeitlin e3b05163e3 Don't override deprecated wxPGProperty virtual functions
This provokes MSVS 2026 warnings about using deprecated functions (which
makes sense, as overriding a function is a kind of use) and just seems
unnecessary as the only point of these overrides seems to be to prevent
the base class function from being hidden -- but this can be achieved
more clearly and simpler by a using declaration.
2026-05-23 18:17:30 +02:00
Vadim Zeitlin aa5b929ecb Revert "Use wxDEPRECATED_BUT_USED_INTERNALLY_MSG() in wxPG headers"
This reverts commit 2d8898b02c because it
doesn't really solve the problem with deprecation warnings given by the
latest version of MSVS 2026 and these warnings will be fixed in a better
way by the upcoming commits.
2026-05-23 16:58:14 +02:00
Tanzinul Islam d1e22202ff Enlist wx/string.h header in wx/colour.h
The full `wxString` class definition is needed, not just the forward
declaration. Otherwise the `const char*`- and `const wchar_t*`-based
`wxColour` constructors attempt to call the `Set()` overload that takes
a `unsigned long`, causing the following error:

```
$WXWIN/build-debug/bk-deps g++ -c -o corelib_msw_colour.o         -I$WXWIN/build-debug/lib/wx/include/msw-unicode-static-3.3 -I../include -D_FILE_OFFSET_BITS=64  -D__WXMSW__      -DWXBUILDING -DwxUSE_BASE=0 -Wall -Wundef -Wunused-parameter -Wno-ctor-dtor-privacy -Woverloaded-virtual -g -O0     ../src/msw/colour.cpp
In file included from ../src/msw/colour.cpp:14:
../include/wx/msw/colour.h: In constructor 'wxColour::wxColour(const char*)':
../include/wx/colour.h:26:52: error: invalid conversion from 'const char*' to 'long unsigned int' [-fpermissive]
   26 |     wxColour(const char *colourName) { Init(); Set(colourName); }
      |                                                    ^~~~~~~~~~
      |                                                    |
      |                                                    const char*
../include/wx/colour.h:39:5: note: in expansion of macro 'wxWXCOLOUR_CTOR_FROM_CHAR'
   39 |     wxWXCOLOUR_CTOR_FROM_CHAR                                                 \
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~
../include/wx/msw/colour.h:24:5: note: in expansion of macro 'DEFINE_STD_WXCOLOUR_CONSTRUCTORS'
   24 |     DEFINE_STD_WXCOLOUR_CONSTRUCTORS
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../include/wx/colour.h:100:28: note:   initializing argument 1 of 'void wxColourBase::Set(long unsigned int)'
  100 |     void Set(unsigned long colRGB)
      |              ~~~~~~~~~~~~~~^~~~~~
../include/wx/msw/colour.h: In constructor 'wxColour::wxColour(const wchar_t*)':
../include/wx/colour.h:40:55: error: invalid conversion from 'const wchar_t*' to 'long unsigned int' [-fpermissive]
   40 |     wxColour(const wchar_t *colourName) { Init(); Set(colourName); }
      |                                                       ^~~~~~~~~~
      |                                                       |
      |                                                       const wchar_t*
../include/wx/msw/colour.h:24:5: note: in expansion of macro 'DEFINE_STD_WXCOLOUR_CONSTRUCTORS'
   24 |     DEFINE_STD_WXCOLOUR_CONSTRUCTORS
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../include/wx/colour.h:100:28: note:   initializing argument 1 of 'void wxColourBase::Set(long unsigned int)'
  100 |     void Set(unsigned long colRGB)
      |              ~~~~~~~~~~~~~~^~~~~~
make: *** [Makefile:30649: corelib_msw_colour.o] Error 1
```
2026-05-23 08:51:34 +01:00
Vadim Zeitlin 2d8898b02c Use wxDEPRECATED_BUT_USED_INTERNALLY_MSG() in wxPG headers
It shouldn't be necessary to use this macro instead of the previously
used wxDEPRECATED_MSG() here because none of the functions is actually
used by wxWidgets, but MSVS 2026 somehow thinks they are and gives
warnings about it, so avoid the warning to fix the GitHub Actions CI job
using this compiler.
2026-05-22 17:11:49 +02:00
Paul Cornett 47c35e67f5 Some small fixes for wxAboutBox HiDPI support
Always use the wxApp top window for default icon bundle, it's possible the
provided window is not the main one. Pass window argument to GetIcon() in
generic implementation. Make GetIcon() window parameter pointer-to-const.
2026-05-21 15:17:38 -07:00
Blake-Madden ee4fbdfb88 Add getters to wxSVGAttributes, add unit tests
Closes #26479.
2026-05-21 22:45:09 +02:00
Vadim Zeitlin 238978f429 Merge branch 'webp-read-buffer-speed' of github.com:MaartenBent/wxWidgets
Improve speed of reading WebP images and add generally useful
wxInputStream::Read(vector<byte>&) overload.

See #26461.
2026-05-21 22:42:43 +02:00
Maarten Bent 836f199177 Add function to read entire wxInputStream to a buffer
When the size is known, read the data directly into the buffer.
Otherwise read it in chucks until the end of the stream is reached.
2026-05-21 21:43:32 +02:00
paulcor bbad4b8eeb Add support for wxBitmapBundle to wxAboutBox
Unix builds / Ubuntu 18.04 wxGTK 3 compatible 3.0 (push) Has been cancelled
Unix builds / Ubuntu 24.04 wxGTK ASAN not compatible (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK UTF-8 (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxQt (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxX11 (push) Has been cancelled
Unix builds / Ubuntu 20.04 wxGTK 3 with clang (push) Has been cancelled
Unix builds / Ubuntu 22.04 wxGTK with wx containers (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxDFB (push) Has been cancelled
Unix builds / Ubuntu 24.04 wxGTK UBSAN (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK 3 static with gcc 4.8 (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK 2 (push) Has been cancelled
CMake builds / Ubuntu 22.04 wxGTK 3 (push) Has been cancelled
CMake builds / macOS latest wxGTK 3 Unix Makefiles (push) Has been cancelled
CMake builds / MSW/MSVC wxMSW (push) Has been cancelled
CMake builds / MSW/Clang wxMSW (push) Has been cancelled
CMake builds / macOS latest wxOSX Ninja (push) Has been cancelled
CMake builds / macOS 14 wxOSX Xcode (push) Has been cancelled
CMake builds / macOS 14 wxIOS (push) Has been cancelled
CMake builds / MSW/MSVC wxQt 5.15 (push) Has been cancelled
CMake builds / MSW/MSVC wxQt 6.10 (push) Has been cancelled
Mac builds / wxMac ARM ASAN not compatible (push) Has been cancelled
Mac builds / wxMac Universal C++14 (push) Has been cancelled
Mac builds / wxiOS Simulator on Silicon Mac (push) Has been cancelled
Mac builds / wxiOS (push) Has been cancelled
Mac builds / wxMac Intel C++17 (push) Has been cancelled
Mac Xcode builds / iOS Simulator static (push) Has been cancelled
Mac Xcode builds / macOS dynamic Release (push) Has been cancelled
Mac Xcode builds / iOS static Debug (push) Has been cancelled
MSW builds / wxMSW vs2022 DLL Debug x64 (push) Has been cancelled
MSW builds / wxMSW vs2022 DLL Release x64 (push) Has been cancelled
MSW builds / wxMSW vs2022 Debug Win32 (push) Has been cancelled
MSW builds / wxMSW vs2022 Release arm64 (push) Has been cancelled
MSW builds / wxMSW vs2026 DLL Release x64 (push) Has been cancelled
MSW cross-builds / wxMSW 64 bits not compatible (push) Has been cancelled
MSW cross-builds / wxMSW/Univ (push) Has been cancelled
MSW cross-builds / wxMSW 32 bits (push) Has been cancelled
Code Checks / Check Spelling (push) Has been cancelled
Code Checks / Check Whitespace (push) Has been cancelled
Code Checks / Check Mixed EOL (push) Has been cancelled
Code Checks / Check C++ Style (push) Has been cancelled
Code Checks / Check All Headers In allheaders.h (push) Has been cancelled
Update Documentation / Update Online Documentation (push) Has been cancelled
See #22192
2026-05-20 08:46:44 -07:00
Stefan Csomor e15db260b2 OSX 10.10 compatiblity for compositing operators (#26476)
Unix builds / Ubuntu 18.04 wxGTK 3 compatible 3.0 (push) Has been cancelled
Unix builds / Ubuntu 24.04 wxGTK ASAN not compatible (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK UTF-8 (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxQt (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxX11 (push) Has been cancelled
Unix builds / Ubuntu 20.04 wxGTK 3 with clang (push) Has been cancelled
Unix builds / Ubuntu 22.04 wxGTK with wx containers (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxDFB (push) Has been cancelled
Unix builds / Ubuntu 24.04 wxGTK UBSAN (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK 3 static with gcc 4.8 (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK 2 (push) Has been cancelled
CMake builds / Ubuntu 22.04 wxGTK 3 (push) Has been cancelled
CMake builds / macOS latest wxGTK 3 Unix Makefiles (push) Has been cancelled
CMake builds / MSW/MSVC wxMSW (push) Has been cancelled
CMake builds / MSW/Clang wxMSW (push) Has been cancelled
CMake builds / macOS latest wxOSX Ninja (push) Has been cancelled
CMake builds / macOS 14 wxOSX Xcode (push) Has been cancelled
CMake builds / macOS 14 wxIOS (push) Has been cancelled
CMake builds / MSW/MSVC wxQt 5.15 (push) Has been cancelled
CMake builds / MSW/MSVC wxQt 6.10 (push) Has been cancelled
Mac builds / wxMac ARM ASAN not compatible (push) Has been cancelled
Mac builds / wxMac Universal C++14 (push) Has been cancelled
Mac builds / wxiOS Simulator on Silicon Mac (push) Has been cancelled
Mac builds / wxiOS (push) Has been cancelled
Mac builds / wxMac Intel C++17 (push) Has been cancelled
Mac Xcode builds / iOS Simulator static (push) Has been cancelled
Mac Xcode builds / macOS dynamic Release (push) Has been cancelled
Mac Xcode builds / iOS static Debug (push) Has been cancelled
Code Checks / Check Spelling (push) Has been cancelled
Code Checks / Check Whitespace (push) Has been cancelled
Code Checks / Check Mixed EOL (push) Has been cancelled
Code Checks / Check C++ Style (push) Has been cancelled
Code Checks / Check All Headers In allheaders.h (push) Has been cancelled
* Add defines for macOS < 10.12 in private header
2026-05-20 07:32:36 +02:00
ryancog e71c4032d0 Ensure wxWebRequestSync saves data when downloading to a file
Unix builds / Ubuntu 18.04 wxGTK 3 compatible 3.0 (push) Has been cancelled
Unix builds / Ubuntu 24.04 wxGTK ASAN not compatible (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK UTF-8 (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxQt (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxX11 (push) Has been cancelled
Unix builds / Ubuntu 20.04 wxGTK 3 with clang (push) Has been cancelled
Unix builds / Ubuntu 22.04 wxGTK with wx containers (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxDFB (push) Has been cancelled
Unix builds / Ubuntu 24.04 wxGTK UBSAN (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK 3 static with gcc 4.8 (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK 2 (push) Has been cancelled
CMake builds / Ubuntu 22.04 wxGTK 3 (push) Has been cancelled
CMake builds / macOS latest wxGTK 3 Unix Makefiles (push) Has been cancelled
CMake builds / MSW/MSVC wxMSW (push) Has been cancelled
CMake builds / MSW/Clang wxMSW (push) Has been cancelled
CMake builds / macOS latest wxOSX Ninja (push) Has been cancelled
CMake builds / macOS 14 wxOSX Xcode (push) Has been cancelled
CMake builds / macOS 14 wxIOS (push) Has been cancelled
CMake builds / MSW/MSVC wxQt 5.15 (push) Has been cancelled
CMake builds / MSW/MSVC wxQt 6.10 (push) Has been cancelled
Mac builds / wxMac ARM ASAN not compatible (push) Has been cancelled
Mac builds / wxMac Universal C++14 (push) Has been cancelled
Mac builds / wxiOS Simulator on Silicon Mac (push) Has been cancelled
Mac builds / wxiOS (push) Has been cancelled
Mac builds / wxMac Intel C++17 (push) Has been cancelled
Mac Xcode builds / iOS Simulator static (push) Has been cancelled
Mac Xcode builds / macOS dynamic Release (push) Has been cancelled
Mac Xcode builds / iOS static Debug (push) Has been cancelled
MSW builds / wxMSW vs2022 DLL Debug x64 (push) Has been cancelled
MSW builds / wxMSW vs2022 DLL Release x64 (push) Has been cancelled
MSW builds / wxMSW vs2022 Debug Win32 (push) Has been cancelled
MSW builds / wxMSW vs2022 Release arm64 (push) Has been cancelled
MSW builds / wxMSW vs2026 DLL Release x64 (push) Has been cancelled
MSW cross-builds / wxMSW 64 bits not compatible (push) Has been cancelled
MSW cross-builds / wxMSW/Univ (push) Has been cancelled
MSW cross-builds / wxMSW 32 bits (push) Has been cancelled
Code Checks / Check Spelling (push) Has been cancelled
Code Checks / Check Whitespace (push) Has been cancelled
Code Checks / Check Mixed EOL (push) Has been cancelled
Code Checks / Check C++ Style (push) Has been cancelled
Code Checks / Check All Headers In allheaders.h (push) Has been cancelled
Update Documentation / Update Online Documentation (push) Has been cancelled
Call wxWebResponseImpl::Finalize() to ensure the file is flushed before
wxWebRequestSync::Execute() returns.

Closes #26477.

Closes #26478.
2026-05-19 04:36:23 +02:00
Vadim Zeitlin 1bebb41046 Merge branch 'msw-rtl-fixes' of github.com:AliKet/wxWidgets
Don't mirror coordinates passed to GDI functions in RTL layout as they
already mirror them internally, resulting in incorrect coordinates being
used. As a consequence, wxDC::LogicalToDevice() now always returns
unmirrored coordinates, even in RTL layout, which is consistent with
wxGTK3 and wxQt.

Also fix scaling even in LTR layout by using ::ScaleWindowExtEx().

See #26398.
2026-05-19 03:15:07 +02:00
Vadim Zeitlin e1c72e28fc Add wxSVGGraphicsContext
Allow using wxGraphicsContext API for SVG generation.

Also add wxSVGFileDC::Begin/EndLayer() and wxSVGLayer RAII helper.

Closes #26395.
2026-05-19 03:01:39 +02:00
AliKet 49b4e65fac wxDC::LogicalToDevice{Rel}() now return unmirrored coordinates in RTL under wxMSW
Ditto for wxDC::DeviceToLogical{Rel}() functions.

In RTL layout, these functions always return unmirrored coordinates under wxGTK3
and wxQt. This is now the case under wxMSW too for consistency and also to fix
double-mirroring problem when passing the transformed coordinates to GDI drawing
functions. See wxGrid::Render() for example.
2026-05-16 14:12:48 +01:00
Vadim Zeitlin 7fd8ed3f1f Merge branch 'msw-listctrl-col-width-from-resize'
Unix builds / Ubuntu 18.04 wxGTK 3 compatible 3.0 (push) Has been cancelled
Unix builds / Ubuntu 24.04 wxGTK ASAN not compatible (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK UTF-8 (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxQt (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxX11 (push) Has been cancelled
Unix builds / Ubuntu 20.04 wxGTK 3 with clang (push) Has been cancelled
Unix builds / Ubuntu 22.04 wxGTK with wx containers (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxDFB (push) Has been cancelled
Unix builds / Ubuntu 24.04 wxGTK UBSAN (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK 3 static with gcc 4.8 (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK 2 (push) Has been cancelled
CMake builds / Ubuntu 22.04 wxGTK 3 (push) Has been cancelled
CMake builds / macOS latest wxGTK 3 Unix Makefiles (push) Has been cancelled
CMake builds / MSW/MSVC wxMSW (push) Has been cancelled
CMake builds / MSW/Clang wxMSW (push) Has been cancelled
CMake builds / macOS latest wxOSX Ninja (push) Has been cancelled
CMake builds / macOS 14 wxOSX Xcode (push) Has been cancelled
CMake builds / macOS 14 wxIOS (push) Has been cancelled
CMake builds / MSW/MSVC wxQt 5.15 (push) Has been cancelled
CMake builds / MSW/MSVC wxQt 6.10 (push) Has been cancelled
Mac builds / wxMac ARM ASAN not compatible (push) Has been cancelled
Mac builds / wxMac Universal C++14 (push) Has been cancelled
Mac builds / wxiOS Simulator on Silicon Mac (push) Has been cancelled
Mac builds / wxiOS (push) Has been cancelled
Mac builds / wxMac Intel C++17 (push) Has been cancelled
Mac Xcode builds / iOS Simulator static (push) Has been cancelled
Mac Xcode builds / macOS dynamic Release (push) Has been cancelled
Mac Xcode builds / iOS static Debug (push) Has been cancelled
MSW builds / wxMSW vs2022 DLL Debug x64 (push) Has been cancelled
MSW builds / wxMSW vs2022 DLL Release x64 (push) Has been cancelled
MSW builds / wxMSW vs2022 Debug Win32 (push) Has been cancelled
MSW builds / wxMSW vs2022 Release arm64 (push) Has been cancelled
MSW builds / wxMSW vs2026 DLL Release x64 (push) Has been cancelled
MSW cross-builds / wxMSW 64 bits not compatible (push) Has been cancelled
MSW cross-builds / wxMSW/Univ (push) Has been cancelled
MSW cross-builds / wxMSW 32 bits (push) Has been cancelled
Code Checks / Check Spelling (push) Has been cancelled
Code Checks / Check Whitespace (push) Has been cancelled
Code Checks / Check Mixed EOL (push) Has been cancelled
Code Checks / Check C++ Style (push) Has been cancelled
Code Checks / Check All Headers In allheaders.h (push) Has been cancelled
Update Documentation / Update Online Documentation (push) Has been cancelled
Fix setting wxListCtrl column widths from wxEVT_SIZE in wxMSW.

See #26422.
2026-05-08 16:35:50 +02:00
Vadim Zeitlin 4f8fb4d0f2 Merge branch 'qt-rtl' of github.com:AliKet/wxWidgets
Make wxDC::LogicalToDevice() and sister functions return unmirrored
coordinates when using RTL in wxQt.

See #26401.
2026-05-08 16:28:21 +02:00
AtesComp 488e7363bc Add support for private fonts to wxQt
Use QFontDatabase::addApplicationFont() to implement AddPrivateFont().

Closes #26403.

Closes #26419.
2026-05-08 15:48:12 +02:00
ali kettab 250e45e176 wxDC::LogicalToDevice{Rel}() now return unmirrored coordinates in RTL under wxQt
Ditto for wxDC::DeviceToLogical{Rel}() functions.

In RTL layout, these functions always return unmirrored coordinates under wxGTK3
This is now the case under wxQt too for consistency and also to fix incorrect
drawings. See wxGrid::Render() for example.
2026-05-06 18:22:44 +01:00
Vadim Zeitlin df0d6be9ca Revert "Change return type of wxGetTranslation"
This reverts commit 02cff90601 because it
broke a lot of existing code which did anything that boiled down to

	const char* whatever = _("Some message");

because the pointer became dangling instead of pointing to the memory
used by the cached translated string.

See #26195.
2026-05-03 15:20:35 +02:00
Steve Cornett 5f75241f3a Add system color change event handler to wxDataViewCtrl
Make the control update its appearance after system theme change under
Windows.

Closes #26420.
2026-05-02 22:55:17 +02:00
Vadim Zeitlin bb1cc62d84 Fix setting wxListCtrl column widths from wxEVT_SIZE in wxMSW
Calling SetColumnWidth() from wxEVT_SIZE handler could break the native
control refresh logic and result in it not being refreshed at all any
more.

Work around this by delaying actually setting the column width until the
resizing is done.

Closes #26394.
2026-05-02 18:17:11 +02:00
Richard fecee7773a Replace \275 (DOS character code for 1/2) with .5 in page size comments 2026-04-28 15:17:24 -06:00
Vadim Zeitlin 8a41fd01d1 Fix creating wxGLCanvas when using EGL 1.4 with X11
Unix builds / Ubuntu 18.04 wxGTK 3 compatible 3.0 (push) Has been cancelled
Unix builds / Ubuntu 24.04 wxGTK ASAN not compatible (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK UTF-8 (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxQt (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxX11 (push) Has been cancelled
Unix builds / Ubuntu 20.04 wxGTK 3 with clang (push) Has been cancelled
Unix builds / Ubuntu 22.04 wxGTK with wx containers (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxDFB (push) Has been cancelled
Unix builds / Ubuntu 24.04 wxGTK UBSAN (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK 3 static with gcc 4.8 (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK 2 (push) Has been cancelled
CMake builds / Ubuntu 22.04 wxGTK 3 (push) Has been cancelled
CMake builds / macOS latest wxGTK 3 Unix Makefiles (push) Has been cancelled
CMake builds / MSW/MSVC wxMSW (push) Has been cancelled
CMake builds / MSW/Clang wxMSW (push) Has been cancelled
CMake builds / macOS latest wxOSX Ninja (push) Has been cancelled
CMake builds / macOS 14 wxOSX Xcode (push) Has been cancelled
CMake builds / macOS 14 wxIOS (push) Has been cancelled
CMake builds / MSW/MSVC wxQt 5.15 (push) Has been cancelled
CMake builds / MSW/MSVC wxQt 6.10 (push) Has been cancelled
Mac builds / wxMac ARM ASAN not compatible (push) Has been cancelled
Mac builds / wxMac Universal C++14 (push) Has been cancelled
Mac builds / wxiOS Simulator on Silicon Mac (push) Has been cancelled
Mac builds / wxiOS (push) Has been cancelled
Mac builds / wxMac Intel C++17 (push) Has been cancelled
Mac Xcode builds / iOS Simulator static (push) Has been cancelled
Mac Xcode builds / macOS dynamic Release (push) Has been cancelled
Mac Xcode builds / iOS static Debug (push) Has been cancelled
MSW builds / wxMSW vs2022 DLL Debug x64 (push) Has been cancelled
MSW builds / wxMSW vs2022 DLL Release x64 (push) Has been cancelled
MSW builds / wxMSW vs2022 Debug Win32 (push) Has been cancelled
MSW builds / wxMSW vs2022 Release arm64 (push) Has been cancelled
MSW builds / wxMSW vs2026 DLL Release x64 (push) Has been cancelled
MSW cross-builds / wxMSW 64 bits not compatible (push) Has been cancelled
MSW cross-builds / wxMSW/Univ (push) Has been cancelled
MSW cross-builds / wxMSW 32 bits (push) Has been cancelled
Code Checks / Check Spelling (push) Has been cancelled
Code Checks / Check Whitespace (push) Has been cancelled
Code Checks / Check Mixed EOL (push) Has been cancelled
Code Checks / Check C++ Style (push) Has been cancelled
Code Checks / Check All Headers In allheaders.h (push) Has been cancelled
No Response / no-response (push) Has been cancelled
The changes of 602b80d (Support EGL 1.4 instead of previously required
1.5, 2025-11-23) were wrong for X11 because eglCreateWindowSurface(),
used as the fallback when newer EGL functions are not available,
requires passing it the actual X11 Window (i.e. an XID) rather than a
pointer to it.

Fix this by passing both the XID and a pointer to it to this function
and calling the different functions with the appropriate parameter.

Note that we still need to pass wl_egl_window pointer to this function
when using Wayland and we need to pass a pointer to XID when using newer
EGL functions.

Closes #26410.
2026-04-27 17:16:11 +02:00
stevecor 1bc4900ed6 Remove wxUSE_GEOMETRY
Disabling it doesn't save much on code size and the build without it is
currently broken anyhow, so just remove the possibility to turn it off.

Closes #26388.

Closes #26402.
2026-04-24 19:10:09 +02:00
Vadim Zeitlin bad7d09d4f Fix positioning images in generic wx{List,Tree}Ctrl in high DPI
The implementation of GetImageLogicalSize() overload taking the image
index returned correct answer for this individual image, but was wrong
when used in the control with multiple images with different logical
sizes. This resulted in the actual bitmap being drawn, as returned by
GetImageBitmapFor(), being of different size than the size returned by
this function, as GetImageBitmapFor() uses the best ("consensus") size
for all images, which is also returned by GetImageLogicalSize() overload
not taking the image.

Solve this by simply getting rid of the overload taking the image and
replacing all existing calls to it with the calls to the other overload.
This is backwards-incompatible, but this function was only added in 3.3
and removing it is a lesser evil than either leaving a function which
can only be misused, or keeping the unused image index parameter which
would be confusing.

See #26397.

Closes #26391.
2026-04-24 16:56:12 +02:00
Vadim Zeitlin f8d4759804 Move fallback definitions used only in wxWebViewIE to its header
Don't define INET_E_XXX symbols use only by wxWebViewIE in
wx/msw/missing.h included by all files, this is unnecessary and also can
result in problems if the application predefines WIN32_LEAN_AND_MEAN, as
these symbols are not defined after including just windows.h in this
case but are defined if urlmon.h is included later, e.g. by one of COM
headers, as their definitions in urlmon.h would results in redefinition
warnings.

Instead, define them only in webview_missing.h and include it after all
Windows headers to ensure that these symbols are defined if they are
present there (which is probably always the case by now).
2026-04-20 23:09:16 +02:00
Vadim Zeitlin 6026d2f609 Merge branch 'clang-cl-fixes'
Unix builds / Ubuntu 18.04 wxGTK 3 compatible 3.0 (push) Has been cancelled
Unix builds / Ubuntu 24.04 wxGTK ASAN not compatible (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK UTF-8 (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxQt (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxX11 (push) Has been cancelled
Unix builds / Ubuntu 20.04 wxGTK 3 with clang (push) Has been cancelled
Unix builds / Ubuntu 22.04 wxGTK with wx containers (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxDFB (push) Has been cancelled
Unix builds / Ubuntu 24.04 wxGTK UBSAN (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK 3 static with gcc 4.8 (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK 2 (push) Has been cancelled
CMake builds / Ubuntu 22.04 wxGTK 3 (push) Has been cancelled
CMake builds / macOS latest wxGTK 3 Unix Makefiles (push) Has been cancelled
CMake builds / MSW/MSVC wxMSW (push) Has been cancelled
CMake builds / MSW/Clang wxMSW (push) Has been cancelled
CMake builds / macOS latest wxOSX Ninja (push) Has been cancelled
CMake builds / macOS 14 wxOSX Xcode (push) Has been cancelled
CMake builds / macOS 14 wxIOS (push) Has been cancelled
CMake builds / MSW/MSVC wxQt 5.15 (push) Has been cancelled
CMake builds / MSW/MSVC wxQt 6.10 (push) Has been cancelled
Mac builds / wxMac ARM ASAN not compatible (push) Has been cancelled
Mac builds / wxMac Universal C++14 (push) Has been cancelled
Mac builds / wxiOS Simulator on Silicon Mac (push) Has been cancelled
Mac builds / wxiOS (push) Has been cancelled
Mac builds / wxMac Intel C++17 (push) Has been cancelled
Mac Xcode builds / iOS Simulator static (push) Has been cancelled
Mac Xcode builds / macOS dynamic Release (push) Has been cancelled
Mac Xcode builds / iOS static Debug (push) Has been cancelled
MSW builds / wxMSW vs2022 DLL Debug x64 (push) Has been cancelled
MSW builds / wxMSW vs2022 DLL Release x64 (push) Has been cancelled
MSW builds / wxMSW vs2022 Debug Win32 (push) Has been cancelled
MSW builds / wxMSW vs2022 Release arm64 (push) Has been cancelled
MSW builds / wxMSW vs2026 DLL Release x64 (push) Has been cancelled
MSW cross-builds / wxMSW 64 bits not compatible (push) Has been cancelled
MSW cross-builds / wxMSW/Univ (push) Has been cancelled
MSW cross-builds / wxMSW 32 bits (push) Has been cancelled
Code Checks / Check Spelling (push) Has been cancelled
Code Checks / Check Whitespace (push) Has been cancelled
Code Checks / Check Mixed EOL (push) Has been cancelled
Code Checks / Check C++ Style (push) Has been cancelled
Code Checks / Check All Headers In allheaders.h (push) Has been cancelled
Update Documentation / Update Online Documentation (push) Has been cancelled
No Response / no-response (push) Has been cancelled
Fix multiple clang-cl warnings in wxMSW build.

See #26393.
2026-04-19 00:26:46 +02:00
Vadim Zeitlin 892fb7f2d5 Use "__declspec(nothrow)" when overriding IUnknown functions
Use STDMETHOD and STDMETHOD_ macros instead of STDMETHODIMP[_] to get
the Microsoft-specific exception specification which is present in the
former macros but not the latter ones and avoid clang warning about
overriding the base class virtual function using laxer exception
specification.
2026-04-18 18:19:54 +02:00
Vadim Zeitlin dcec891a5c Use WinStruct<> instead of manually initializing HIGHCONTRAST
This is simpler and avoids clang warning about missing field
initializers.
2026-04-18 17:04:21 +02:00
Vadim Zeitlin d2f572bdb6 Define WX_ATTRIBUTE_UNUSED correctly for clang-cl
It needs the usual clang definition of this attribute to avoid warnings
about unused local typedefs in wxDELETE[A] but the macro was defined as
empty for it because clang-cl doesn't predefine __GNUC__ (it predefines
_MSC_VER instead).
2026-04-18 16:45:38 +02:00
Steve Cornett 09321123e8 Fix linking with RTTI disabled
Don't reference ms_wxDummy variable which was never defined in the
version of WX_DECLARE_TYPEINFO_INLINE() macro used when compiler RTTI
support is disabled, as this resulted in link errors.

Just remove this variable completely.

Closes #26389.
2026-04-18 15:23:40 +02:00
Blake-Madden 6d818815c8 Add accessibility support to wxSVGFileDC
Adds an ARIA group builder and wrapper for drawing commands within SVG
output.

Closes #26379.
2026-04-15 02:30:09 +02:00