Don't use compiler-specific __thread and use the standard keyword
instead.
Keep the existing TLS-related macros for compatibility, but remove our
custom implementation of them, so that they're always trivial now.
The reserved wx IDs were previously in (wxID_LOWEST, wxID_HIGHEST]
range, which was very unusual, as C++ always uses intervals half-open in
the other direction, i.e. [begin, end).
It also conflicted (in theory, if not in practice, as wxID_HIGHEST
wasn't actually used for anything) with the common practice, used even
by wx own samples, of starting the custom IDs at wxID_HIGHEST rather
than wxID_HIGHEST+1.
So change this to use the standard convention, retroactively making all
the code using wxID_HIGHEST valid -- this seems better than insisting on
starting the IDs from wxID_HIGHEST+1.
Closes#22909.
Add a helper function calling wxDC::DrawBitmap() and hiding its ugly
"useMask" boolean parameter which was also error-prone, e.g. some
recently modified code passed wxIMAGELIST_DRAW_TRANSPARENT to it by
mistake.
No real changes, this is just a refactoring.
After the changes of the last commit this variable is not of wxImageList
type any more, so its name became confusing, so rename it and also be a
bit more precise by indicating that it corresponds to the small, and not
normal, images.
No real changes.
Use wxWithImages::GetImageBitmapFor() instead of wxImageList in this
control code to ensure that we use the provided high DPI bitmaps, if we
have them, instead of always scaling up the fixed-size image list
images.
Closes#22907.
This reverts commit 893ebbab0c because it
breaks cross-compiling using target-specific pkg-config installed on the
main system, which is a perfectly legitimate use case.
To avoid the original problem fixed by that commit, PKG_CONFIG_LIBDIR
needs to be set manually before running configure when using host
pkg-config -- but not when using target pkg-config.
Closes#22886.
Since 4f9186f (Increase usable scrolling range in wxMSW by a
factor of 10,000, 2022-04-30) the shift of wxDC origin is not passed
through HDC so we need to apply it as an internal transform of
Cairo context. This transform is for internal purposes only and is
not exposed with GetTransform().
See #22480.
See #22914.
Because since 4f9186f (Increase usable scrolling range in wxMSW by a
factor of 10,000, 2022-04-30) the shift of wxDC origin is not passed
through HDC so we need to apply it as an internal transform of
ID2D1RenderTarget. This transform is for internal purposes only and is
not exposed with GetTransform().
See #22480.
See #22914.
Instead of shifting origin of HDC we can apply required shift of wxDC
origin as an internal transform of the Graphics object. This transform
is for internal purposes only and is not exposed with GetTransform().
See #22480.
See #22914.
Instead of setting clipping for client area for wxOSX windows
with non-native borders in the common wxGCDC::DestroyClippingRegion()
we can encapsulate this operation in dedicated DestroyClippingRegion()
implementation in wxWindowDC.
See #19108.
See #22914.
Define wxBITMAP() for all non-MSW ports in the same, working, way
instead of using a weird definition which happened to accidentally work
before for wxQt due to implicitly using wxImage ctor from XPN, but
doesn't work any longer since the changes of 5e53f74af1 (Make wxImage
ctor from XPM data explicit, 2021-04-17).
Closes#22908.
Add new --enable-taskbarbutton option and define wxUSE_TASKBARBUTTON as
1 by default instead of always defining it as 0, as was the case before.
Closes#22900.
Conversion from 'size_t' to 'int' (MSVC).
-Wdefaulted-function-deleted (macOS Clang).
Redeclare 'enum class' as 'enum' (VS2015).
'std::string': type not allowed for 'constexpr' (VS2015).
Add missing namespaces and includes.
Use correct parameter types.
Remove overridden methods that do not exist anymore.
Add methods that do need to be overridden (without implementation).
Update listbox action implementation.
SCI_LOADLEXERLIBRARY is now handled inside ScintillaBase::WndProc.
Cleanup includes, use copy from ScintillaWin.cxx for scintilla includes.
Mention updating the CMake file in the readme.
Remove NO_CXX11_REGEX from scintilla build.
Manually update vcxproj files.
Define LPEG_LEXER=0, prevent LPEG_LEXER is not defined error.
Replace the deprecated functions with the new equivalents when this
doesn't really change the code semantics.
Also add new compat.h private header where more functions like
wxQtGetWidthFromMetrics() can be added in the future.
There are still quite a few of deprecation warnings requiring more
changes remaining.
We need to call IFileDialog::SetDefaultExtension() to ensure that the
native dialog itself appends the extension itself to the files entered
without extension it, otherwise it doesn't do it at all, in spite of
SetFileTypes() being already called, and so doesn't show "Confirm
overwrite" prompt for them, while wxMSW own code does append the
extension later, resulting in the existing files being overwritten
without any confirmation.
It would probably be a good idea to stop appending the extension on our
own and just use the one appended by the dialog to ensure that we don't
have similar problems in the future, but don't change this yet.
Closes#22898.