Devet godina nakon izlaska grane 3.0, predstavljeno je prvo izdanje nove stabilne grane višeplatformskog alata wxWidgets 3.2.0, koje omogućuje izradu grafičkih sučelja za Linux, Windows, macOS, UNIX i mobilne platforme. U usporedbi s verzijom 3.0, postoji niz nekompatibilnosti API-ja. Alat je napisan u C++ i distribuira se pod besplatnom wx licencom.Windows Licenca knjižnice, koju su odobrili Zaklada za slobodni softver i organizacija OSI, temelji se na LGPL-u i dopušta korištenje vlasničkih uvjeta za distribuciju binarnih izvedenih djela.
Osim razvoja C++ programa, wxWidgets pruža poveznice za većinu popularnih programskih jezika, uključujući PHP, Python, Perl i Ruby. Za razliku od drugih alata, wxWidgets pruža uistinu nativni izgled i dojam za aplikacije, koristeći izvorne sistemske API-je umjesto da oponaša GUI.
Glavne inovacije:
- Implementiran je novi eksperimentalni wxQt port koji omogućuje wxWidgetsima pokretanje preko Qt frameworka.
- wxGTK port pruža punu podršku za Wayland protokol.
- Dodana je podrška za zaslone s visokom DPI rezolucijom. Dodana je mogućnost dodjeljivanja različitih DPI-jeva različitim monitorima i dinamičke promjene DPI-ja. Uveden je novi wxBitmapBundle API koji omogućuje besprijekornu manipulaciju više bitmap slika prikazanih u različitim rezolucijama.
- Predstavljen je novi sustav za izgradnju temeljen na CMakeu. Sustav za izgradnju sada podržava nove kompajlere (uključujući MSVS 2022, g++ 12 i clang 14) i operativne sustave.
- Podrška za OpenGL je prerađena, a poboljšano je i korištenje novih verzija OpenGL-a (3.2+).
- Dodana je podrška za LZMA kompresiju i ZIP 64 datoteke.
- Zaštita za vrijeme kompajliranja je ojačana omogućavanjem mogućnosti onemogućavanja opasnih implicitnih konverzija između wxString i char* stringova.
- Dodana je podrška za događaje za kontrolne geste koje se reproduciraju pomoću miša.
- Klase wxFont i wxGraphicsContext sada podržavaju navođenje vrijednosti koje nisu cijeli brojevi pri određivanju veličine fonta i širine olovke.
- Klasa wxStaticBox implementira mogućnost dodjeljivanja proizvoljnih oznaka prozorima.
- wxWebRequest API je ažuriran kako bi podržavao HTTPS i HTTP/2.
- Klasa wxGrid sada podržava zamrzavanje stupaca i redaka.
- Uvedene su nove klase: wxActivityIndicator, wxAddRemoveCtrl, wxAppProgressIndicator, wxBitmapBundle, wxNativeWindow, wxPersistentComboBox, wxPowerResourceBlocker, wxSecretStore, wxTempFFile i wxUILocale.
- Novi XRC rukovatelji implementirani su za sve nove i neke postojeće klase.
- Uvedene nove metode: wxDataViewToggleRenderer::ShowAsRadio(), wxDateTime::GetWeekBasedYear(), wxDisplay::GetPPI(), wxGrid::SetCornerLabelValue(), wxHtmlEasyPrinting::SetPromptMode(), wxJoystickEvent::GetButtonOrdinal(), wxListBox::GetTopItem(), wxProcess::Activate(), wxTextEntry::ForceUpper(), wxStandardPaths::GetUserDir(), wxToolbook::EnablePage(), wxUIActionSimulator::Select().
- Značajna poboljšanja su napravljena u klasama wxBusyInfo, wxDataViewCtrl, wxNotificationMessage, wxStaticBox, wxStyledTextCtrl i wxUIActionSimulator.
- Poboljšana podrška za platformu macOS, uključujući mogućnost korištenja tamne teme i dodanu podršku za uređaje na ARM procesorima.
- Napravljena su poboljšanja za podršku standardu C++11. Dodana podrška za izgradnju s C++20 kompajlerima.
- Sve uključene biblioteke trećih strana su ažurirane. Dodana je podrška za WebKit 2 i GStreamer 1.7.
Izvor: opennet.ru
