9 rokov po vydaní vetvy 3.0 bolo predstavené prvé vydanie novej stabilnej vetvy multiplatformovej sady nástrojov wxWidgets 3.2.0, ktorá umožňuje vytvárať grafické rozhrania pre Linux, Windows, macOS, UNIX a mobilné platformy. V porovnaní s vetvou 3.0 je na úrovni API množstvo nekompatibilít. Sada nástrojov je napísaná v jazyku C++ a je distribuovaná na základe bezplatnej licencie wxWindows Library License, schválenej Open Source Foundation a organizáciou OSI. Licencia je založená na LGPL a vyznačuje sa povolením používať vlastné podmienky na distribúciu odvodených diel v binárnej forme.
Okrem vývoja programov v C++ poskytuje wxWidgets väzby pre väčšinu populárnych programovacích jazykov vrátane PHP, Python, Perl a Ruby. Na rozdiel od iných sád nástrojov poskytuje wxWidgets aplikáciu so skutočne natívnym vzhľadom a dojmom pre cieľový systém pomocou systémových API namiesto napodobňovania GUI.
Hlavné inovácie:
- Bol implementovaný nový experimentálny port wxQt, ktorý umožňuje wxWidgets pracovať nad rámcom Qt.
- Port wxGTK poskytuje plnú podporu pre protokol Wayland.
- Pridaná podpora pre obrazovky s vysokou hustotou pixelov (High DPI). Pridaná možnosť priradiť rôzne DPI pre rôzne monitory a dynamicky meniť DPI. Bolo navrhnuté nové wxBitmapBundle API, ktoré vám umožňuje manipulovať s niekoľkými verziami bitmapového obrázka prezentovaného v rôznych rozlíšeniach ako s jedným celkom.
- Bol navrhnutý nový systém zostavovania založený na CMake. Do zostavovacieho systému bola pridaná podpora pre nové kompilátory (vrátane MSVS 2022, g++ 12 a clang 14) a operačné systémy.
- Prepracovaná bola podpora OpenGL, zlepšilo sa používanie nových verzií OpenGL (3.2+).
- Pridaná podpora pre kompresiu LZMA a súbory ZIP 64.
- Ochrana počas kompilácie bola vylepšená vďaka možnosti zakázať nebezpečné implicitné konverzie medzi reťazcami typu wxString a „char*“.
- Pridaná podpora udalostí pre ovládacie gestá hrané pomocou myši.
- Triedy wxFont a wxGraphicsContext majú teraz možnosť špecifikovať neceločíselné hodnoty pri definovaní veľkostí písma a šírky pera.
- Trieda wxStaticBox implementuje schopnosť priraďovať oknám ľubovoľné menovky.
- Rozhranie wxWebRequest API teraz podporuje HTTPS a HTTP/2.
- Trieda wxGrid pridala podporu pre zmrazenie stĺpcov a riadkov.
- Zavedené nové triedy: wxActivityIndicator, wxAddRemoveCtrl, wxAppProgressIndicator, wxBitmapBundle, wxNativeWindow, wxPersistentComboBox, wxPowerResourceBlocker, wxSecretStore, wxTempFFile a wxUILocale.
- Pre všetky nové triedy a niektoré existujúce triedy boli implementované nové ovládače XRC.
- Zavedené nové metódy: wxDataViewToggleRenderer::ShowAsRadio(), wxDateTime::GetWeekBasedYear(), wxDisplay::GetPPI(), wxGrid::SetCornerLabelValue(), wxHtmlEasyPrinting::SetPrompt:ListMode:Gistox(), wx :: Získajte TopItem (), wxProcess::Activate(), wxTextEntry::ForceUpper(), wxStandardPaths::GetUserDir(), wxToolbook::EnablePage(), wxUIActionSimulator::Select().
- Významné vylepšenia sa dočkali triedy wxBusyInfo, wxDataViewCtrl, wxNotificationMessage, wxStaticBox, wxStyledTextCtrl a wxUIActionSimulator.
- Podpora pre platformu macOS bola vylepšená, vrátane možnosti používať temnú tému a pridaná podpora pre zariadenia s procesormi ARM.
- Vykonali sa vylepšenia na podporu štandardu C++11. Pridaná podpora pre zostavovanie s kompilátormi C++20.
- Všetky zahrnuté knižnice tretích strán boli aktualizované. Pridaná podpora pre WebKit 2 a GStreamer 1.7.
Zdroj: opennet.ru