Uitgave van wxWidgets 3.2.0 grafische toolkit

9 jaar na de release van de 3.0-tak werd de eerste release van een nieuwe stabiele tak van de platformonafhankelijke toolkit wxWidgets 3.2.0 gepresenteerd, waarmee je grafische interfaces kunt maken voor Linux, Windows, macOS, UNIX en mobiele platforms. Vergeleken met de 3.0-tak zijn er een aantal incompatibiliteiten op API-niveau. De toolkit is geschreven in C++ en wordt gedistribueerd onder de gratis wxWindows Library License, goedgekeurd door de Open Source Foundation en de OSI-organisatie. De licentie is gebaseerd op de LGPL en onderscheidt zich door de toestemming om zijn eigen voorwaarden te gebruiken om afgeleide werken in binaire vorm te verspreiden.

Naast het ontwikkelen van programma's in C++, biedt wxWidgets bindingen voor de meeste populaire programmeertalen, waaronder PHP, Python, Perl en Ruby. In tegenstelling tot andere toolkits biedt wxWidgets een applicatie met een echt native uiterlijk voor het doelsysteem door gebruik te maken van systeem-API's in plaats van de GUI na te bootsen.

Belangrijkste innovaties:

  • Er is een nieuwe experimentele poort van wxQt geïmplementeerd, waardoor wxWidgets bovenop het Qt-framework kunnen werken.
  • De wxGTK-poort biedt volledige ondersteuning voor het Wayland-protocol.
  • Ondersteuning toegevoegd voor schermen met hoge pixeldichtheid (Hoge DPI). De mogelijkheid toegevoegd om verschillende DPI's toe te wijzen voor verschillende monitoren en de DPI dynamisch te wijzigen. Er is een nieuwe wxBitmapBundle API voorgesteld, waarmee u verschillende versies van een bitmapafbeelding, gepresenteerd in verschillende resoluties, als één geheel kunt manipuleren.
  • Er is een nieuw bouwsysteem gebaseerd op CMake voorgesteld. Ondersteuning voor nieuwe compilers (waaronder MSVS 2022, g++ 12 en clang 14) en besturingssystemen is aan het assemblagesysteem toegevoegd.
  • OpenGL-ondersteuning is opnieuw ontworpen, het gebruik van nieuwe OpenGL-versies (3.2+) is verbeterd.
  • Ondersteuning toegevoegd voor LZMA-compressie en ZIP 64-bestanden.
  • De bescherming tijdens het compileren is verbeterd dankzij de mogelijkheid om gevaarlijke impliciete conversies tussen tekenreeksen van het type wxString en “char*” uit te schakelen.
  • Gebeurtenisondersteuning toegevoegd voor besturingsgebaren gespeeld met de muis.
  • De klassen wxFont en wxGraphicsContext hebben nu de mogelijkheid om niet-gehele waarden op te geven bij het definiëren van lettergroottes en penbreedtes.
  • De klasse wxStaticBox implementeert de mogelijkheid om willekeurige labels aan vensters toe te wijzen.
  • De wxWebRequest API ondersteunt nu HTTPS en HTTP/2.
  • De klasse wxGrid heeft ondersteuning toegevoegd voor het bevriezen van kolommen en rijen.
  • Nieuwe klassen geïntroduceerd: wxActivityIndicator, wxAddRemoveCtrl, wxAppProgressIndicator, wxBitmapBundle, wxNativeWindow, wxPersistentComboBox, wxPowerResourceBlocker, wxSecretStore, wxTempFFile en wxUILocale.
  • Er zijn nieuwe XRC-handlers geïmplementeerd voor alle nieuwe klassen en enkele bestaande klassen.
  • Nieuwe methoden geïntroduceerd: wxDataViewToggleRenderer::ShowAsRadio(), wxDateTime::GetWeekBasedYear(), wxDisplay::GetPPI(), wxGrid::SetCornerLabelValue(), wxHtmlEasyPrinting::SetPromptMode(), wxJoystickEvent::GetButtonOrdinal(), wxListBox::Get TopItem (), wxProcess::Activate(), wxTextEntry::ForceUpper(), wxStandardPaths::GetUserDir(), wxToolbook::EnablePage(), wxUIActionSimulator::Select().
  • Er zijn aanzienlijke verbeteringen aangebracht in de klassen wxBusyInfo, wxDataViewCtrl, wxNotificationMessage, wxStaticBox, wxStyledTextCtrl en wxUIActionSimulator.
  • Ondersteuning voor het macOS-platform is verbeterd, inclusief de mogelijkheid om een ​​donker thema te gebruiken en ondersteuning toegevoegd voor apparaten met ARM-processors.
  • Er zijn verbeteringen aangebracht ter ondersteuning van de C++11-standaard. Ondersteuning toegevoegd voor bouwen met C++20-compilers.
  • Alle meegeleverde bibliotheken van derden zijn bijgewerkt. Ondersteuning toegevoegd voor WebKit 2 en GStreamer 1.7.

Bron: opennet.ru

Voeg een reactie