9 let po vydání větve 3.0 bylo představeno první vydání nové stabilní větve multiplatformní sady nástrojů wxWidgets 3.2.0, která umožňuje vytvářet grafická rozhraní pro Linux, Windows, macOS, UNIX a mobilní platformy. Oproti větvi 3.0 je na úrovni API řada nekompatibilit. Sada nástrojů je napsána v C++ a je distribuována pod bezplatnou licencí wxWindows Library License, schválenou Open Source Foundation a organizací OSI. Licence je založena na LGPL a vyznačuje se povolením používat vlastní podmínky k distribuci odvozených děl v binární formě.
Kromě vývoje programů v C++ poskytuje wxWidgets vazby pro většinu oblíbených programovacích jazyků, včetně PHP, Python, Perl a Ruby. Na rozdíl od jiných sad nástrojů poskytuje wxWidgets aplikaci se skutečně nativním vzhledem a chováním pro cílový systém pomocí systémových rozhraní API namísto napodobování GUI.
Hlavní inovace:
- Byl implementován nový experimentální port wxQt, který umožňuje wxWidgets pracovat nad rámcem Qt.
- Port wxGTK poskytuje plnou podporu protokolu Wayland.
- Přidána podpora pro obrazovky s vysokou hustotou pixelů (High DPI). Přidána možnost přiřadit různá DPI pro různé monitory a dynamicky měnit DPI. Bylo navrženo nové wxBitmapBundle API, které vám umožňuje manipulovat s několika verzemi bitmapového obrázku, prezentovaného v různých rozlišeních, jako s jedním celkem.
- Byl navržen nový systém sestavení založený na CMake. Do systému sestavení byla přidána podpora nových kompilátorů (včetně MSVS 2022, g++ 12 a clang 14) a operačních systémů.
- Byla přepracována podpora OpenGL, vylepšeno použití nových verzí OpenGL (3.2+).
- Přidána podpora pro kompresi LZMA a soubory ZIP 64.
- Ochrana během kompilace byla vylepšena díky možnosti zakázat nebezpečné implicitní konverze mezi řetězci typu wxString a „char*“.
- Přidána podpora událostí pro ovládací gesta hraná pomocí myši.
- Třídy wxFont a wxGraphicsContext nyní mají možnost určit neceločíselné hodnoty při definování velikostí písem a šířek per.
- Třída wxStaticBox implementuje možnost přiřadit oknům libovolné štítky.
- WxWebRequest API nyní podporuje HTTPS a HTTP/2.
- Třída wxGrid přidala podporu pro zmrazení sloupců a řádků.
- Zavedeny nové třídy: wxActivityIndicator, wxAddRemoveCtrl, wxAppProgressIndicator, wxBitmapBundle, wxNativeWindow, wxPersistentComboBox, wxPowerResourceBlocker, wxSecretStore, wxTempFFile a wxUILocale.
- Pro všechny nové třídy a některé stávající třídy byly implementovány nové ovladače XRC.
- Zavedeny nové metody: wxDataViewToggleRenderer::ShowAsRadio(), wxDateTime::GetWeekBasedYear(), wxDisplay::GetPPI(), wxGrid::SetCornerLabelValue(), wxHtmlEasyPrinting::SetPrompt:ListMode:Gistox, wx ::Získej TopItem (), wxProcess::Activate(), wxTextEntry::ForceUpper(), wxStandardPaths::GetUserDir(), wxToolbook::EnablePage(), wxUIActionSimulator::Select().
- Významná vylepšení byla provedena u tříd wxBusyInfo, wxDataViewCtrl, wxNotificationMessage, wxStaticBox, wxStyledTextCtrl a wxUIActionSimulator.
- Byla vylepšena podpora platformy macOS, včetně možnosti používat tmavé téma a přidána podpora pro zařízení s procesory ARM.
- Byla provedena vylepšení pro podporu standardu C++11. Přidána podpora pro vytváření s kompilátory C++20.
- Všechny zahrnuté knihovny třetích stran byly aktualizovány. Přidána podpora pro WebKit 2 a GStreamer 1.7.
Zdroj: opennet.ru