Праз 9 гадоў з моманту выхаду галінкі 3.0 прадстаўлены першы выпуск новай стабільнай галіны кросплатформавага тулкіта wxWidgets 3.2.0, які дазваляе ствараць графічныя інтэрфейсы для Linux, Windows, macOS, UNIX і мабільных платформаў. У параўнанні з галінкай 3.0 назіраецца шэраг несумяшчальнасцяў на ўзроўні API. Тулкіт напісаны на мове З++ і распаўсюджваецца пад вольнай ліцэнзіяй wxWindows Library License, ухваленай Фондам ВПЗ і арганізацыяй OSI. Ліцэнзія заснавана на LGPL і адрозніваецца дазволам выкарыстання ўласных умоў для распаўсюджвання вытворных работ у бінарнай форме.
Акрамя распрацоўкі праграм на З++ wxWidgets падае біндынгі для большасці папулярных моў праграмавання, у тым ліку для PHP, Python, Perl і Ruby. У адрозненне ад іншых тулкітаў, wxWidgets забяспечвае для прыкладання па-сапраўднаму роднай для мэтавай сістэмы знешні выгляд і метады ўзаемадзеяння, дзякуючы выкарыстанню сістэмных API, а не імітацыі GUI.
Асноўныя навіны:
- Рэалізаваны новы эксперыментальны порт wxQt, які забяспечвае працу wxWidgets па-над фрэймворкам Qt.
- У порце wxGTK забяспечана паўнавартасная падтрымка пратакола Wayland.
- Дададзена падтрымка экранаў з высокай шчыльнасцю пікселяў (High DPI). Дададзена магчымасць прызначэння розных DPI для розных манітораў і дынамічнай змены DPI. Прапанаваны новы API wxBitmapBundle, які дазваляе як адным цэлым маніпуляваць некалькімі варыянтамі растравага малюнка, прадстаўленых у розных дазволах.
- Прапанавана новая зборачная сістэма на базе CMake. У зборачную сістэму дададзеная падтрымка новых кампілятараў (уключаючы MSVS 2022, g++ 12 і clang 14) і аперацыйных сістэм.
- Перапрацавана падтрымка OpenGL, палепшана выкарыстанне новых версій OpenGL (3.2+).
- Дададзена падтрымка сціску LZMA і файлаў ZIP 64.
- Узмоцнена абарона на этапе кампіляцыі, дзякуючы магчымасці адключэння небяспечных няяўных пераўтварэнняў паміж радкамі з тыпамі wxString і «char*».
- Дададзена падтрымка падзей для кіраўнікоў жэстаў, якія прайграваюцца пры дапамозе мышы.
- У класах wxFont і wxGraphicsContext дададзена магчымасць указання няцэлых значэнняў пры вызначэнні памеру шрыфтоў і шырыні светлавога пяра.
- У класе wxStaticBox рэалізавана магчымасць прызначэння адвольных пазнак вокнам.
- У API wxWebRequest дададзена падтрымка HTTPS і HTTP/2.
- У класе wxGrid дададзена падтрымка замарозкі слупкоў і радкоў.
- Прадстаўлены новыя класы: wxActivityIndicator, wxAddRemoveCtrl, wxAppProgressIndicator, wxBitmapBundle, wxNativeWindow, wxPersistentComboBox, wxPowerResourceBlocker, wxSecretStore, wxTempFFile і wxUILocale.
- Для ўсіх новых і некаторых існуючых класаў рэалізаваны новыя апрацоўшчыкі XRC.
- Прадстаўлены новыя метады: wxDataViewToggleRenderer::ShowAsRadio(), wxDateTime:: GetWeekBasedYear(), wxDisplay::GetPPI(), wxGrid::SetCornerLabelValue(), wxHtmlEasyPrinting::Set (), wxListBox::GetTopItem (), wxProcess::Activate(), wxTextEntry::ForceUpper(), wxStandardPaths::GetUserDir(), wxToolbook::EnablePage(), wxUIActionSimulator::Select().
- Унесены значныя паляпшэнні ў класы wxBusyInfo, wxDataViewCtrl, wxNotificationMessage, wxStaticBox, wxStyledTextCtrl і wxUIActionSimulator.
- Палепшана падтрымка платформы macOS, у тым ліку рэалізавана магчымасць выкарыстання цёмнай тэмы афармлення і дададзена падтрымка прылад на працэсарах ARM.
- Унесены паляпшэнні, звязаныя з падтрымкай стандарту C++11. Дададзена падтрымка зборкі кампілятарамі C++20.
- Абноўлены усе ўваходныя ў камплект іншыя бібліятэкі. Дададзена падтрымка WebKit 2 і GStreamer 1.7.
Крыніца: opennet.ru