Lançamento do kit de ferramentas gráficas wxWidgets 3.2.0

9 anos após o lançamento do branch 3.0, foi apresentado o primeiro lançamento de um novo branch estável do kit de ferramentas multiplataforma wxWidgets 3.2.0, que permite criar interfaces gráficas para Linux, Windows, macOS, UNIX e plataformas móveis. Em comparação com a versão 3.0, existem várias incompatibilidades no nível da API. O kit de ferramentas é escrito em C++ e distribuído sob a licença gratuita da biblioteca wxWindows, aprovada pela Open Source Foundation e pela organização OSI. A licença é baseada na LGPL e se distingue pela permissão para usar seus próprios termos para distribuir trabalhos derivados em formato binário.

Além de desenvolver programas em C++, wxWidgets fornece ligações para as linguagens de programação mais populares, incluindo PHP, Python, Perl e Ruby. Ao contrário de outros kits de ferramentas, wxWidgets fornece um aplicativo com uma aparência verdadeiramente nativa para o sistema de destino usando APIs do sistema em vez de imitar a GUI.

Principais inovações:

  • Uma nova versão experimental do wxQt foi implementada, permitindo que o wxWidgets funcione sobre o framework Qt.
  • A porta wxGTK fornece suporte completo para o protocolo Wayland.
  • Adicionado suporte para telas com alta densidade de pixels (High DPI). Adicionada a capacidade de atribuir diferentes DPIs para diferentes monitores e alterar dinamicamente o DPI. Foi proposta uma nova API wxBitmapBundle, que permite manipular várias versões de uma imagem bitmap, apresentada em diferentes resoluções, como um todo.
  • Um novo sistema de construção baseado em CMake foi proposto. Suporte para novos compiladores (incluindo MSVS 2022, g++ 12 e clang 14) e sistemas operacionais foi adicionado ao sistema assembly.
  • O suporte OpenGL foi redesenhado, o uso de novas versões OpenGL (3.2+) foi melhorado.
  • Adicionado suporte para compactação LZMA e arquivos ZIP 64.
  • A proteção em tempo de compilação foi aprimorada, graças à capacidade de desabilitar conversões implícitas perigosas entre strings dos tipos wxString e “char*”.
  • Adicionado suporte a eventos para gestos de controle reproduzidos com o mouse.
  • As classes wxFont e wxGraphicsContext agora têm a capacidade de especificar valores não inteiros ao definir tamanhos de fonte e larguras de caneta.
  • A classe wxStaticBox implementa a capacidade de atribuir rótulos arbitrários às janelas.
  • A API wxWebRequest agora oferece suporte a HTTPS e HTTP/2.
  • A classe wxGrid adicionou suporte para congelamento de colunas e linhas.
  • Novas classes introduzidas: wxActivityIndicator, wxAddRemoveCtrl, wxAppProgressIndicator, wxBitmapBundle, wxNativeWindow, wxPersistentComboBox, wxPowerResourceBlocker, wxSecretStore, wxTempFFile e wxUILocale.
  • Novos manipuladores XRC foram implementados para todas as novas classes e algumas classes existentes.
  • Novos métodos introduzidos: 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().
  • Melhorias significativas foram feitas nas classes wxBusyInfo, wxDataViewCtrl, wxNotificationMessage, wxStaticBox, wxStyledTextCtrl e wxUIActionSimulator.
  • O suporte para a plataforma macOS foi aprimorado, incluindo a capacidade de usar um tema sombrio e suporte adicional para dispositivos que executam processadores ARM.
  • Melhorias foram feitas para oferecer suporte ao padrão C++11. Adicionado suporte para compilação com compiladores C++20.
  • Todas as bibliotecas de terceiros incluídas foram atualizadas. Adicionado suporte para WebKit 2 e GStreamer 1.7.

Fonte: opennet.ru

Adicionar um comentário