9 aastat pärast 3.0 haru väljaandmist esitleti platvormideülese tööriistakomplekti wxWidgets 3.2.0 uue stabiilse haru esimest väljalaset, mis võimaldab luua graafilisi liideseid Linuxi, Windowsi, macOS-i, UNIX-i ja mobiiliplatvormide jaoks. Võrreldes 3.0 haruga on API tasemel mitmeid sobimatusi. Tööriistakomplekt on kirjutatud C++ keeles ja seda levitatakse tasuta wxWindowsi raamatukogu litsentsi all, mille on heaks kiitnud Open Source Foundation ja OSI organisatsioon. Litsents põhineb LGPL-il ja seda eristab luba kasutada oma tingimusi tuletatud teoste binaarvormis levitamiseks.
Lisaks programmide arendamisele C++ keeles pakub wxWidgets kõige populaarsemate programmeerimiskeelte, sealhulgas PHP, Python, Perl ja Ruby sidumisi. Erinevalt teistest tööriistakomplektidest pakub wxWidgets rakendust, millel on sihtsüsteemi jaoks tõeliselt loomulik välimus, kasutades süsteemi API-sid, mitte jäljendades GUI-d.
Peamised uuendused:
- Rakendatud on wxQt uus eksperimentaalne port, mis võimaldab wxwidgetidel töötada Qt raamistiku peal.
- WxGTK port toetab Waylandi protokolli täielikult.
- Lisatud tugi suure pikslitihedusega ekraanidele (kõrge DPI). Lisatud võimalus määrata erinevatele monitoridele erinevaid DPI-sid ja dünaamiliselt muuta DPI-d. Välja on pakutud uus wxBitmapBundle API, mis võimaldab manipuleerida ühe tervikuna mitut erineva eraldusvõimega bitmap-pildi versiooni.
- Välja on pakutud uus CMake-il põhinev ehitussüsteem. Koostesüsteemi on lisatud uute kompilaatorite (sh MSVS 2022, g++ 12 ja clang 14) ja operatsioonisüsteemide tugi.
- OpenGL-i tugi on ümber kujundatud, uute OpenGL-i versioonide (3.2+) kasutamine on täiustatud.
- Lisatud on LZMA tihendamise ja ZIP 64 failide tugi.
- Kompileerimisaja kaitset on täiustatud tänu võimalusele keelata ohtlikud kaudsed teisendused wxString- ja char*-tüüpi stringide vahel.
- Lisatud sündmuste tugi hiirega mängitavatele juhtžestidele.
- Klassidel wxFont ja wxGraphicsContext on nüüd võimalus fondi suuruse ja pliiatsi laiuse määratlemisel määrata mittetäisarvulisi väärtusi.
- Klass wxStaticBox rakendab võimalust määrata akendele suvalisi silte.
- WxWebRequest API toetab nüüd HTTPS-i ja HTTP/2.
- Klassis wxGrid on lisatud tugi veergude ja ridade külmutamiseks.
- Kasutusele võetud uued klassid: wxActivityIndicator, wxAddRemoveCtrl, wxAppProgressIndicator, wxBitmapBundle, wxNativeWindow, wxPersistentComboBox, wxPowerResourceBlocker, wxSecretStore, wxTempFFile ja wxUILocale.
- Kõikidele uutele klassidele ja mõnele olemasolevale klassile on juurutatud uued XRC-käitlejad.
- Kasutusele võetud uued meetodid: wxDataViewToggleRenderer::ShowAsRadio(), wxDateTime::GetWeekBasedYear(), wxDisplay::GetPPI(), wxGrid::SetCornerLabelValue(), wxHtmlEasyPrinting::SetBDinaBasedXOyGet ListBox::Get TopItem (), wxProcess::Activate(), wxTextEntry::ForceUpper(), wxStandardPaths::GetUserDir(), wxToolbook::LubagePage(), wxUIActionSimulator::Select().
- Märkimisväärseid täiustusi on tehtud klassides wxBusyInfo, wxDataViewCtrl, wxNotificationMessage, wxStaticBox, wxStyledTextCtrl ja wxUIActionSimulator.
- Täiustatud on MacOS-i platvormi tugi, sealhulgas võimalus kasutada tumedat teemat ja lisatud on ARM-protsessoreid töötavate seadmete tugi.
- C++11 standardi toetamiseks on tehtud täiustusi. Lisatud on C++20 kompilaatoritega ehitamise tugi.
- Kõik kaasatud kolmandate osapoolte teegid on värskendatud. Lisatud on WebKit 2 ja GStreamer 1.7 tugi.
Allikas: opennet.ru