Window initial/minimum/maximum sizes are now treated as logical pixels.
Furthermore, many margins and paddings are now converted using
wxWindow::FromDIP() to allow their growth in accord with screen DPI.
This places buttons on toolbars more apart on high DPI screens providing
space for easier touch operations.
Closes https://github.com/wxWidgets/wxWidgets/pull/933
Use wxVector<wxListLineData*> instead of WX_DECLARE_OBJARRAY().
This modernizes the code and allows to get rid of the static variables
previously used for sorting as now we can use std::sort().
Closes https://github.com/wxWidgets/wxWidgets/pull/924
This is a preliminary ARM64 platform support for wxWidgets at "it
compiles" stage. This will allow building and testing wxWidgets based
apps for oncoming Windows 10 ARM64.
Requirements:
- Visual Studio 2017 Update 4 or later with Visual C++ compilers and
libraries for ARM64 component installed
Building:
1. Open command prompt.
2. Change directory to build\msw subfolder.
3. Run "C:\Program Files (x86)\Microsoft Visual
Studio\2017\Community\VC\Auxiliary\Build\vcvarsamd64_arm64.bat" once.
4. Use `nmake TARGET_CPU=ARM64 ...` to build required flavor of wxWidget
libraries.
Notes:
1. Building of *.sln/*.vcxproj files does not support ARM64 yet. This
requires to hardcode Windows SDK to 10.0.15063.0 or later in
*.vcxproj files, which would render them non-compilable in older
Visual Studio versions. Microsoft is aware of this issue and is
planning a fix in the next version of Visual Studio.
2. wxmsw31ud_gl.dll does not build yet. Awaiting Microsoft to deliver
missing opengl32.lib for ARM64. Please, specify USE_OPENGL=0.
Closes https://github.com/wxWidgets/wxWidgets/pull/923
This reverts commit 8d1063389a which
prevents https://github.com/wxWidgets/wxWidgets/pull/919 from being
automatically merged and CI builds from running. The changes of that
commit will soon be replaced with the more extensive fixes from this PR.
Inside wxBitmap we have a direct access to wxBitampData so HBITMAP can be stored directly in this structure and there is no need to call SetHBITMAP() function.
To avoid separate calls to SetSize() function after calling SetHICON() use newly implemented InitFromHICON() function which allows set HICON together with its parameters in one call.
To avoid separate calls to SetWidth/Height/Size/Depth functions after calling SetHBITMAP() use newly implemented InitFromHBITMAP() function which allows to set HBITMAP together with its parameters in one call.
The icon wasn't updated when the node was expanded (or collapsed) due to
the inversed check for HasImageList().
Fix this by correcting the check.
Closes https://github.com/wxWidgets/wxWidgets/pull/929
When using IE wxWebView backend, this event wasn't generated as expected
when the client was redirected.
Fix this by using DOCHOSTUIFLAG_ENABLE_REDIRECT_NOTIFICATION flag.
Closes https://github.com/wxWidgets/wxWidgets/pull/893
The returned pointer must be allocated on the heap as
wxGridCellDateTimeRenderer::GetString() currently deletes it.
This seems like a rather poor idea, as any internally stored values must
be cloned on each call, but it seems too dangerous to change this as it
could result in massive memory leaks in the existing code.
In wxImage, it is possible to set the Load_Verbose flag (default) if
messages are to be shown to the user in popup message boxes (via
wxLogError and wxLogWarning).
Unsetting this flag is supposed to remove these message boxes but in
practice, this was only applied in the function DoLoad() while other
messages could be issued earlier in overloads of the function LoadFile().
This commit checks if Load_Verbose is set or not and behaves accordingly
in LoadFile() overloads so that all messages can be suppressed.
See https://github.com/wxWidgets/wxWidgets/pull/920
Resolve ambiguity in wxCFTypeRef::GetValue() calls: CGFloat is float,
not double, in 32 bit builds, so the type of the first argument is
"float *" while the type of 0.0 is "double".
Fix this by casting 0 to CGFloat too, as this works in both 32 and 64
bit builds.
Move the entire contents of wxAdv library into wxCore.
In the future, wxAdv will disappear entirely, but for now keep it as an
empty placeholder to allow the existing make/project files to work.
See https://github.com/wxWidgets/wxWidgets/pull/900
* Switch to pure Core Text Implementation, Start extended Font API
* mac fixes
* First msw implementation
* Fixing paste error
* fixing typo
* Rearranging lines to former fallthrough order
* Blind fixes for covering new abstract methods
* Blind gtk implementations
* Fixing according to travis ..
* Removing method defined in base
* formatting adaptions
* Extending the schema definition for new weights
* fixing typo, using wxRound, other fixes according to comments
* changes according to suggestions
* fixing init order, before the init of m_info was overridden by Init()
* redo
* redo
* redo
* Cleanup
Removing obsolete code snippets, proper traces for font names
* Moving common code
Only the Get/SetNumericWeight calls should now be implemented in the native part, the ‚old‘ Get/SetWeight are common code and use the numeric counterparts.
* Updating docs
* commit wa missing changes.txt
* Doc fixes
* Full stops added
On OSX, wxImageList::GetIcon() returned wxNullIcon when a wxBitmap was
stored. This could lead to no image seen in controls like wxTreeListCtrl.
Instead of that, we convert the wxBitmap to wxIcon with CopyFromBitmap.
The value returned by wxDataViewColumn::IsSortOrderAscending() wasn't
updated when the sort order changed due to the user clicking on a column
and reversing the sort order.
Fix this now by explicitly calling SetSortOrderVariable() when this
happens.
Closes https://github.com/wxWidgets/wxWidgets/pull/901
No library was created as no symbols were exported by the DLL any more,
so add a dummy symbol just to force the import library creation -- this
is important to let the projects referencing it to continue to link,
even if it's now useless.
This object is defined in "base", not "core".
Somehow this still worked before, but it was still wrong and stopped
working when taskbarcmn.cpp was moved to "core" itself from "adv".
This basically removes the "adv" library, even though it's still
preserved for compatibility with user make/project files referring to
it.
It is done because the distinction between "adv" and "core" was never
really clear (e.g. why wxTreeCtrl was in core but wxTreeListCtrl in
adv?) and it prevented some core classes from using adv ones.