Po 9 rokoch od vydania vetvy 3.0 bol predstavený prvý stabilný release novej verzie multiplatformového toolkit 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 tu niekoľko nekompatibilít na úrovni API. Toolkit je napísaný v jazyku C++ a šíri sa pod voľnou licenciou wxWindows Library License, ktorú schválila Nadácia otvoreného softvéru a organizácia OSI. Licencia je založená na LGPL a líši sa povolením používať vlastné podmienky na šírenie odvodených diel v binárnej forme.
Okrem vývoja programov v C++ wxWidgets poskytuje aj väzby pre väčšinu populárnych programovacích jazykov, vrátane PHP, Python, Perl a Ruby. Na rozdiel od iných toolkitov wxWidgets zabezpečuje pre aplikáciu naozaj natívny vzhľad a metódy interakcie s cieľovým systémom, vďaka využívaniu systémových API, a nie napodobňovaniu GUI.
Hlavné novinky:
- Bol implementovaný nový experimentálny port wxQt, ktorý umožňuje fungovanie wxWidgets nad rámcom Qt frameworku.
- V porte wxGTK je zabezpečená plná podpora protokolu Wayland.
- Pridaná podpora obrazoviek s vysokou hustotou pixelov (High DPI). Pridaná možnosť priradiť rôzne DPI pre rôzne monitory a dynamicky meniť DPI. Bol navrhnutý nový API wxBitmapBundle, ktorý umožňuje manipulovať s viacerými variantmi rastrového obrazu predstavovanými v rôznych rozlíšeniach ako jedným celkom.
- Bol navrhnutý nový systém zostavovania založený na CMake. Nový systém zostavovania taktiež pridáva podporu pre nové kompilátory (vrátane MSVS 2022, g++ 12 a clang 14) a operačné systémy.
- Prepracovaná podpora OpenGL, vylepšené využitie nových verzií OpenGL (3.2+).
- Pridaná podpora kompresie LZMA a súborov ZIP 64.
- Posilnená ochrana na fáze kompilácie, vďaka možnosti vypnúť nebezpečné implicitné konverzie medzi reťazcami typu wxString a 'char*'.
- Pridaná podpora udalostí pre ovládacie gestá, reprodukované pomocou myši.
- V triedach wxFont a wxGraphicsContext bola pridaná možnosť určiť neceločíselné hodnoty pri definovaní veľkosti písiem a šírky svetelného pera.
- V triede wxStaticBox bola implementovaná možnosť priradiť ľubovoľné popisky oknám.
- V API wxWebRequest bola pridaná podpora HTTPS a HTTP/2.
- V triede wxGrid bola pridaná podpora pre zmrazovanie stĺpcov a riadkov.
- Bol predstavený nový triedy: wxActivityIndicator, wxAddRemoveCtrl, wxAppProgressIndicator, wxBitmapBundle, wxNativeWindow, wxPersistentComboBox, wxPowerResourceBlocker, wxSecretStore, wxTempFFile a wxUILocale.
- Pre všetky nové a niektoré existujúce triedy boli implementované nové spracovateľské XRC.
- Bol predstavený nový metódy: wxDataViewToggleRenderer::ShowAsRadio(), wxDateTime::GetWeekBasedYear(), wxDisplay::GetPPI(), wxGrid::SetCornerLabelValue(), wxHtmlEasyPrinting::SetPromptMode(), wxJoystickEvent::GetButtonOrdinal(), wxListBox::GetTopItem(), wxProcess::Activate(), wxTextEntry::ForceUpper(), wxStandardPaths::GetUserDir(), wxToolbook::EnablePage(), wxUIActionSimulator::Select().
- Boli vykonané významné vylepšenia v triedach wxBusyInfo, wxDataViewCtrl, wxNotificationMessage, wxStaticBox, wxStyledTextCtrl a wxUIActionSimulator.
- Podpora pre platformu macOS bola vylepšená, vrátane možnosti používať tmavú tému a bola pridaná podpora zariadení na procesoroch ARM.
- Implementované vylepšenia týkajúce sa podpory štandardu C++11. Pridaná podpora pre kompiláciu pomocou C++20.
- Všetky tretie knižnice zahrnuté v súprave boli aktualizované. Bola pridaná podpora WebKit 2 a GStreamer 1.7.
Zdroj: opennet.ru
