Lanzamiento del kit de herramientas gráficas wxWidgets 3.2.0

9 años después del lanzamiento de la rama 3.0, se presentó el primer lanzamiento de una nueva rama estable del kit de herramientas multiplataforma wxWidgets 3.2.0, que permite crear interfaces gráficas para Linux, Windows, macOS, UNIX y plataformas móviles. En comparación con la rama 3.0, existen varias incompatibilidades a nivel de API. El kit de herramientas está escrito en C++ y se distribuye bajo la licencia de biblioteca gratuita wxWindows, aprobada por la Open Source Foundation y la organización OSI. La licencia se basa en la LGPL y se distingue por permitir utilizar sus propios términos para distribuir trabajos derivados en forma binaria.

Además de desarrollar programas en C++, wxWidgets proporciona enlaces para los lenguajes de programación más populares, incluidos PHP, Python, Perl y Ruby. A diferencia de otros kits de herramientas, wxWidgets proporciona una aplicación con una apariencia verdaderamente nativa para el sistema de destino mediante el uso de API del sistema en lugar de imitar la GUI.

Principales novedades:

  • Se ha implementado un nuevo puerto experimental de wxQt, que permite que wxWidgets funcione sobre el marco Qt.
  • El puerto wxGTK proporciona soporte completo para el protocolo Wayland.
  • Se agregó soporte para pantallas con alta densidad de píxeles (High DPI). Se agregó la capacidad de asignar diferentes DPI para diferentes monitores y cambiar dinámicamente los DPI. Se ha propuesto una nueva API wxBitmapBundle, que permite manipular varias versiones de una imagen de mapa de bits, presentada en diferentes resoluciones, como un todo.
  • Se ha propuesto un nuevo sistema de compilación basado en CMake. Se ha agregado al sistema ensamblador soporte para nuevos compiladores (incluidos MSVS 2022, g++ 12 y clang 14) y sistemas operativos.
  • Se ha rediseñado la compatibilidad con OpenGL y se ha mejorado el uso de nuevas versiones de OpenGL (3.2+).
  • Se agregó soporte para compresión LZMA y archivos ZIP 64.
  • La protección en tiempo de compilación se ha mejorado gracias a la capacidad de desactivar conversiones implícitas peligrosas entre cadenas de los tipos wxString y “char*”.
  • Se agregó soporte de eventos para gestos de control reproducidos con el mouse.
  • Las clases wxFont y wxGraphicsContext ahora tienen la capacidad de especificar valores no enteros al definir tamaños de fuente y anchos de lápiz.
  • La clase wxStaticBox implementa la capacidad de asignar etiquetas arbitrarias a ventanas.
  • La API wxWebRequest ahora admite HTTPS y HTTP/2.
  • La clase wxGrid ha agregado soporte para congelar columnas y filas.
  • Se introdujeron nuevas clases: wxActivityIndicator, wxAddRemoveCtrl, wxAppProgressIndicator, wxBitmapBundle, wxNativeWindow, wxPersistentComboBox, wxPowerResourceBlocker, wxSecretStore, wxTempFFile y wxUILocale.
  • Se han implementado nuevos controladores XRC para todas las clases nuevas y algunas clases existentes.
  • Nuevos métodos introducidos: 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().
  • Se han realizado mejoras significativas en las clases wxBusyInfo, wxDataViewCtrl, wxNotificationMessage, wxStaticBox, wxStyledTextCtrl y wxUIActionSimulator.
  • Se ha mejorado la compatibilidad con la plataforma macOS, incluida la capacidad de utilizar un tema oscuro y se agregó compatibilidad con dispositivos que ejecutan procesadores ARM.
  • Se han realizado mejoras para admitir el estándar C++11. Se agregó soporte para compilar con compiladores C++20.
  • Todas las bibliotecas de terceros incluidas se han actualizado. Se agregó soporte para WebKit 2 y GStreamer 1.7.

Fuente: opennet.ru

Añadir un comentario