Release of wxWidgets 3.2.0 graphical toolkit

9 years after the release of the 3.0 branch, the first release of a new stable branch of the wxWidgets 3.2.0 cross-platform toolkit is presented, which allows you to create graphical interfaces for Linux, Windows, macOS, UNIX and mobile platforms. Compared to the 3.0 branch, there are a number of incompatibilities at the API level. The toolkit is written in C++ and distributed under the free wxWindows Library License approved by the Free Software Foundation and OSI. The license is based on the LGPL and is notable for allowing the use of its own terms to redistribute derivative works in binary form.

In addition to developing C++ programs, wxWidgets provides bindings for most popular programming languages, including PHP, Python, Perl, and Ruby. Unlike other toolkits, wxWidgets provides the application with a truly native look and feel to the target system by using system APIs rather than GUI mimics.

Main innovations:

  • A new experimental port of wxQt has been implemented, enabling wxWidgets to work on top of the Qt framework.
  • The wxGTK port provides full support for the Wayland protocol.
  • Added support for screens with high pixel density (High DPI). Added the ability to assign different DPI for different monitors and change DPI dynamically. A new wxBitmapBundle API has been proposed that allows you to manipulate several bitmap options presented in different resolutions as a whole.
  • A new build system based on CMake has been proposed. Added support for new compilers (including MSVS 2022, g++ 12 and clang 14) and operating systems to the build system.
  • Reworked OpenGL support, improved use of new versions of OpenGL (3.2+).
  • Added support for LZMA compression and ZIP 64 files.
  • Enhanced compile-time security with the ability to disable dangerous implicit conversions between wxString and "char*" strings.
  • Added support for events for control gestures played with the mouse.
  • In the wxFont and wxGraphicsContext classes, the ability to specify non-integer values ​​when determining the font size and light pen width has been added.
  • The wxStaticBox class implements the ability to assign arbitrary labels to windows.
  • Support for HTTPS and HTTP/2 has been added to the wxWebRequest API.
  • Support for freezing columns and rows has been added to the wxGrid class.
  • New classes introduced: wxActivityIndicator, wxAddRemoveCtrl, wxAppProgressIndicator, wxBitmapBundle, wxNativeWindow, wxPersistentComboBox, wxPowerResourceBlocker, wxSecretStore, wxTempFFile and wxUILocale.
  • New XRC handlers have been implemented for all new and some existing classes.
  • New methods introduced: wxDataViewToggleRenderer::ShowAsRadio(), wxDateTime::GetWeekBasedYear(), wxDisplay::GetPPI(), wxGrid::SetCornerLabelValue(), wxHtmlEasyPrinting::SetPromptMode(), wxJoystickEvent::GetButtonOrdinal(), wxListBox::GetTopItem (), wxProcess::Activate(), wxTextEntry::ForceUpper(), wxStandardPaths::GetUserDir(), wxToolbook::EnablePage(), wxUIActionSimulator::Select().
  • Significant improvements have been made to the wxBusyInfo, wxDataViewCtrl, wxNotificationMessage, wxStaticBox, wxStyledTextCtrl, and wxUIActionSimulator classes.
  • Improved support for the macOS platform, including the ability to use a dark theme and added support for devices based on ARM processors.
  • Improvements have been made to support the C++11 standard. Added support for assembly by C++20 compilers.
  • Updated all included third-party libraries. Added support for WebKit 2 and GStreamer 1.7.

Source: opennet.ru

Add a comment