Graafilise tööriistakomplekti wxWidgets 3.2.0 väljalase

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

Lisa kommentaar