9 évvel a 3.0 ág megjelenése után bemutatták a cross-platform toolkit wxWidgets 3.2.0 új stabil ágának első kiadását, amely lehetővé teszi grafikus felületek készítését Linux, Windows, macOS, UNIX és mobil platformokra. A 3.0-s ághoz képest API-szinten számos inkompatibilitás tapasztalható. Az eszközkészlet C++ nyelven készült, és a Free Software Foundation és az OSI szervezet által jóváhagyott ingyenes wxWindows Library License alatt kerül terjesztésre. A licenc az LGPL-en alapul, és az engedi, hogy saját feltételeit használja a származékos művek bináris formában történő terjesztésére.
A C++ nyelvű programok fejlesztése mellett a wxWidgets kötéseket biztosít a legnépszerűbb programozási nyelvekhez, köztük a PHP, Python, Perl és Ruby nyelvekhez. Más eszközkészletekkel ellentétben a wxWidgets valóban natív megjelenést és érzetet biztosít a célrendszer számára azáltal, hogy a grafikus felhasználói felület utánzása helyett rendszer API-kat használ.
Főbb újítások:
- A wxQt új kísérleti portját implementálták, amely lehetővé teszi, hogy a wxWidgets a Qt keretrendszeren felül működjön.
- A wxGTK port teljes mértékben támogatja a Wayland protokollt.
- Hozzáadott támogatás a nagy pixelsűrűségű (High DPI) képernyőkhöz. Hozzáadtuk a különböző DPI-k hozzárendelésének lehetőségét a különböző monitorokhoz, és dinamikusan módosíthatjuk a DPI-t. Egy új wxBitmapBundle API-t javasoltak, amely lehetővé teszi egy bittérképes kép több, különböző felbontásban megjelenített változatának egy egészként történő kezelését.
- Javasoltak egy új, CMake alapú összeállítási rendszert. Az új fordítók (beleértve az MSVS 2022-t, a g++ 12-t és a clang 14-et) és az operációs rendszerek támogatásával bővült az összeállítási rendszer.
- Újratervezték az OpenGL támogatását, továbbfejlesztették az új OpenGL verziók (3.2+) használatát.
- Hozzáadott támogatás az LZMA tömörítéshez és a ZIP 64 fájlokhoz.
- A fordítási idejű védelmet továbbfejlesztették, köszönhetően a wxString és a „char*” típusú karakterláncok közötti veszélyes implicit konverziók letiltásának.
- Eseménytámogatás hozzáadva az egérrel lejátszott vezérlési gesztusokhoz.
- A wxFont és wxGraphicsContext osztályok mostantól képesek nem egész értékeket megadni a betűméretek és a tollszélességek meghatározásakor.
- A wxStaticBox osztály lehetővé teszi tetszőleges címkék hozzárendelését az ablakokhoz.
- A wxWebRequest API mostantól támogatja a HTTPS-t és a HTTP/2-t.
- A wxGrid osztály támogatja az oszlopok és sorok rögzítését.
- Bevezetett új osztályok: wxActivityIndicator, wxAddRemoveCtrl, wxAppProgressIndicator, wxBitmapBundle, wxNativeWindow, wxPersistentComboBox, wxPowerResourceBlocker, wxSecretStore, wxTempFFile és wxUILocale.
- Új XRC-kezelők kerültek bevezetésre minden új osztályhoz és néhány meglévő osztályhoz.
- Új metódusok kerültek bevezetésre: wxDataViewToggleRenderer::ShowAsRadio(), wxDateTime::GetWeekBasedYear(), wxDisplay::GetPPI(), wxGrid::SetCornerLabelValue(), wxHtmlEasyPrinting::SetPrompxutxLde:sti), wx Box::GetTop Item (), wxProcess::Activate(), wxTextEntry::ForceUpper(), wxStandardPaths::GetUserDir(), wxToolbook::EnablePage(), wxUIActionSimulator::Select().
- Jelentős fejlesztések történtek a wxBusyInfo, wxDataViewCtrl, wxNotificationMessage, wxStaticBox, wxStyledTextCtrl és wxUIActionSimulator osztályokban.
- Javult a macOS platform támogatása, beleértve a sötét téma használatának lehetőségét, valamint az ARM processzorokat futtató eszközök támogatását.
- A C++11 szabvány támogatása érdekében fejlesztések történtek. Hozzáadott támogatás a C++20 fordítókkal való építéshez.
- Az összes mellékelt harmadik féltől származó könyvtár frissítve lett. A WebKit 2 és a GStreamer 1.7 támogatása hozzáadva.
Forrás: opennet.ru