Publikimi i paketës grafike të veglave wxWidgets 3.2.0

9 vjet pas lëshimit të degës 3.0, u prezantua lëshimi i parë i një dege të re të qëndrueshme të veglave ndër-platformë wxWidgets 3.2.0, e cila ju lejon të krijoni ndërfaqe grafike për Linux, Windows, macOS, UNIX dhe platforma celulare. Krahasuar me degën 3.0, ka një sërë papajtueshmërish në nivelin API. Paketa e veglave është shkruar në C++ dhe shpërndahet nën licencën falas të bibliotekës wxWindows, të miratuar nga Fondacioni me burim të hapur dhe organizata OSI. Licenca bazohet në LGPL dhe dallohet nga leja e saj për të përdorur kushtet e veta për të shpërndarë veprat e derivuara në formë binare.

Përveç zhvillimit të programeve në C++, wxWidgets ofron lidhje për gjuhët më të njohura të programimit, duke përfshirë PHP, Python, Perl dhe Ruby. Ndryshe nga paketat e tjera të veglave, wxWidgets ofron një aplikacion me një pamje dhe ndjesi vërtet origjinale për sistemin e synuar duke përdorur API-të e sistemit në vend që të imitojnë GUI-në.

Risitë kryesore:

  • Një port i ri eksperimental i wxQt është implementuar, duke lejuar wxWidgets të punojë në krye të kornizës Qt.
  • Porti wxGTK ofron mbështetje të plotë për protokollin Wayland.
  • Mbështetje e shtuar për ekranet me densitet të lartë piksel (High DPI). U shtua aftësia për të caktuar DPI të ndryshme për monitorë të ndryshëm dhe për të ndryshuar në mënyrë dinamike DPI. Është propozuar një API e re wxBitmapBundle, e cila ju lejon të manipuloni disa versione të një imazhi bitmap, të paraqitur në rezolucione të ndryshme, si një e tërë.
  • Është propozuar një sistem i ri ndërtimi i bazuar në CMake. Mbështetja për përpiluesit e rinj (përfshirë MSVS 2022, g++ 12 dhe clang 14) dhe sistemet operative është shtuar në sistemin e montimit.
  • Mbështetja e OpenGL është ridizajnuar, përdorimi i versioneve të reja OpenGL (3.2+) është përmirësuar.
  • Mbështetje e shtuar për kompresimin LZMA dhe skedarët ZIP 64.
  • Mbrojtja në kohën e përpilimit është përmirësuar, falë aftësisë për të çaktivizuar konvertimet e rrezikshme të nënkuptuara midis vargjeve të llojeve wxString dhe "char*".
  • U shtua mbështetje për ngjarjet për gjestet e kontrollit që luhen duke përdorur miun.
  • Klasat wxFont dhe wxGraphicsContext tani kanë aftësinë për të specifikuar vlera jo të plota kur përcaktojnë madhësitë e shkronjave dhe gjerësinë e stilolapsit.
  • Klasa wxStaticBox zbaton aftësinë për të caktuar etiketa arbitrare në dritare.
  • API wxWebRequest tani mbështet HTTPS dhe HTTP/2.
  • Klasa wxGrid ka shtuar mbështetje për ngrirjen e kolonave dhe rreshtave.
  • U prezantuan klasa të reja: wxActivityIndicator, wxAddRemoveCtrl, wxAppProgressIndicator, wxBitmapBundle, wxNativeWindow, wxPersistentComboBox, wxPowerResourceBlocker, wxSecretStore, wxTempFFile dhe wxUILocale.
  • Trajtues të rinj XRC janë implementuar për të gjitha klasat e reja dhe disa klasa ekzistuese.
  • Metodat e reja të prezantuara: wxDataViewToggleRenderer::ShowAsRadio(), wxDateTime::GetWeekBasedYear(), wxDisplay::GetPPI(), wxGrid::SetCornerLabelValue(), wxHtmlEasyPrinting::MosmodestiG,SetPrompxt wxListBox:: Merr TopItem (), wxProcess::Aktivizo(), wxTextEntry::ForceUpper(), wxStandardPaths::GetUserDir(), wxToolbook::EnablePage(), wxUIActionSimulator::Select().
  • Përmirësime të rëndësishme janë bërë në klasat wxBusyInfo, wxDataViewCtrl, wxNotificationMessage, wxStaticBox, wxStyledTextCtrl dhe wxUIActionSimulator.
  • Mbështetja për platformën macOS është përmirësuar, duke përfshirë aftësinë për të përdorur një temë të errët dhe mbështetje të shtuar për pajisjet që përdorin procesorë ARM.
  • Janë bërë përmirësime për të mbështetur standardin C++11. Mbështetje e shtuar për ndërtimin me përpilues C++20.
  • Të gjitha bibliotekat e palëve të treta të përfshira janë përditësuar. Mbështetje e shtuar për WebKit 2 dhe GStreamer 1.7.

Burimi: opennet.ru

Shto një koment