Ħruġ ta' wxWidgets 3.2.0 toolkit grafiku

9 snin wara r-rilaxx tal-fergħa 3.0, ġiet ippreżentata l-ewwel rilaxx ta 'fergħa stabbli ġdida tal-kitt ta' għodod multi-pjattaforma wxWidgets 3.2.0, li jippermettilek toħloq interfaces grafiċi għal Linux, Windows, macOS, UNIX u pjattaformi mobbli. Meta mqabbel mal-fergħa 3.0, hemm numru ta 'inkompatibilitajiet fil-livell tal-API. Is-sett ta' għodod huwa miktub f'C++ u huwa mqassam taħt il-Liċenzja tal-Librerija wxWindows b'xejn, approvata mill-Open Source Foundation u l-organizzazzjoni OSI. Il-liċenzja hija bbażata fuq l-LGPL u hija distinta mill-permess tagħha li tuża t-termini tagħha stess biex tqassam xogħlijiet derivattivi f'forma binarja.

Minbarra l-iżvilupp ta 'programmi f'C++, wxWidgets jipprovdi rbit għal-lingwi ta' programmar l-aktar popolari, inklużi PHP, Python, Perl u Ruby. B'differenza għal settijiet ta' għodda oħra, wxWidgets jipprovdi applikazzjoni b'dehra u sensazzjoni tassew indiġena għas-sistema fil-mira billi tuża APIs tas-sistema aktar milli timita l-GUI.

Innovazzjonijiet ewlenin:

  • Ġie implimentat port sperimentali ġdid ta 'wxQt, li jippermetti lil wxWidgets jaħdmu fuq il-qafas Qt.
  • Il-port wxGTK jipprovdi appoġġ sħiħ għall-protokoll Wayland.
  • Appoġġ miżjud għal skrins b'densità għolja ta 'pixels (DPI Għoli). Żid il-kapaċità li tassenja DPIs differenti għal monitors differenti u tbiddel dinamikament id-DPI. Ġiet proposta wxBitmapBundle API ġdida, li tippermettilek timmanipula diversi verżjonijiet ta' immaġni bitmap, ippreżentata f'riżoluzzjonijiet differenti, bħala ħaġa waħda.
  • Ġiet proposta sistema ta' bini ġdida bbażata fuq CMake. Appoġġ għal kompilaturi ġodda (inklużi MSVS 2022, g++ 12 u clang 14) u sistemi operattivi ġie miżjud mas-sistema ta 'assemblaġġ.
  • L-appoġġ OpenGL ġie ddisinjat mill-ġdid, l-użu ta 'verżjonijiet ġodda OpenGL (3.2+) ġie mtejjeb.
  • Appoġġ miżjud għall-kompressjoni LZMA u l-fajls ZIP 64.
  • Il-protezzjoni tal-ħin tal-kompilazzjoni ġiet imtejba, grazzi għall-abbiltà li tiddiżattiva konverżjonijiet impliċiti perikolużi bejn kordi tat-tipi wxString u "char*".
  • Żid l-appoġġ għall-avvenimenti għall-ġesti tal-kontroll milgħuba bl-użu tal-maws.
  • Il-klassijiet wxFont u wxGraphicsContext issa għandhom il-kapaċità li jispeċifikaw valuri mhux interi meta jiddefinixxu daqsijiet tat-tipa u wisgħat tal-pinna.
  • Il-klassi wxStaticBox timplimenta l-abbiltà li tassenja tikketti arbitrarji lit-twieqi.
  • Il-wxWebRequest API issa jappoġġja HTTPS u HTTP/2.
  • Il-klassi wxGrid żiedet appoġġ għall-iffriżar ta 'kolonni u ringieli.
  • Klassijiet ġodda introdotti: wxActivityIndicator, wxAddRemoveCtrl, wxAppProgressIndicator, wxBitmapBundle, wxNativeWindow, wxPersistentComboBox, wxPowerResourceBlocker, wxSecretStore, wxTempFFile u wxUILocale.
  • Ġew implimentati handlers XRC ġodda għall-klassijiet il-ġodda kollha u xi klassijiet eżistenti.
  • Metodi ġodda introdotti: wxDataViewToggleRenderer::ShowAsRadio(), wxDateTime::GetWeekBasedYear(), wxDisplay::GetPPI(), wxGrid::SetCornerLabelValue(), wxHtmlEasyPrinting::SetPromptModestick:(Lx), wxHtmlEasyPrinting::SetPromptModeStick:(Lx), wxGrid::GetPPI(), :Ikseb TopItem (), wxProcess::Activate(), wxTextEntry::ForceUpper(), wxStandardPaths::GetUserDir(), wxToolbook::EnablePage(), wxUIActionSimulator::Select().
  • Sar titjib sinifikanti fil-klassijiet wxBusyInfo, wxDataViewCtrl, wxNotificationMessage, wxStaticBox, wxStyledTextCtrl, u wxUIActionSimulator.
  • L-appoġġ għall-pjattaforma macOS ġie mtejjeb, inkluża l-abbiltà li tintuża tema skura u appoġġ miżjud għal apparati li jħaddmu proċessuri ARM.
  • Sar titjib biex isostni l-istandard C++11. Appoġġ miżjud għall-bini b'kompilaturi C++20.
  • Il-libreriji ta' partijiet terzi inklużi kollha ġew aġġornati. Appoġġ miżjud għal WebKit 2 u GStreamer 1.7.

Sors: opennet.ru

Żid kumment