Випуск графічного тулкіта wxWidgets 3.2.0

Через 9 років з моменту виходу гілки 3.0 представлений перший випуск нової стабільної гілки кросплатформового тулкіта wxWidgets 3.2.0, що дозволяє створювати графічні інтерфейси для Linux, Windows, macOS, UNIX та мобільних платформ. У порівнянні з гілкою 3.0 спостерігається низка несумісностей на рівні API. Тулкіт написаний мовою С++ і поширюється під вільною ліцензією wxWindows Library License, схваленою Фондом СПО та організацією OSI. Ліцензія заснована на LGPL та відрізняється дозволом використання власних умов для поширення похідних робіт у бінарній формі.

Крім розробки програм на C++ wxWidgets надає біндінги для більшості популярних мов програмування, у тому числі для PHP, Python, Perl та Ruby. На відміну від інших тулкітів, wxWidgets забезпечує додаток по-справжньому рідний для цільової системи зовнішній вигляд і методи взаємодії, завдяки використанню системних API, а не імітації GUI.

Основні нововведення:

  • Реалізовано новий експериментальний порт wxQt, який забезпечує роботу wxWidgets поверх фреймворку Qt.
  • У порту wxGTK забезпечено повноцінну підтримку протоколу Wayland.
  • Додано підтримку екранів з високою щільністю пікселів (High DPI). Додано можливість призначення різних DPI для різних моніторів та динамічної зміни DPI. Запропоновано новий API wxBitmapBundle, що дозволяє одним цілим маніпулювати кількома варіантами растрового зображення, представлених у різних дозволах.
  • Запропоновано нову збірну систему на базі CMake. У збірну систему додано підтримку нових компіляторів (включаючи MSVS 2022, g++ 12 і clang 14) та операційних систем.
  • Перероблено підтримку OpenGL, покращено використання нових версій OpenGL (3.2+).
  • Додано підтримку стиснення LZMA та файлів ZIP 64.
  • Посилено захист на етапі компіляції завдяки можливості відключення небезпечних неявних перетворень між рядками з типами wxString і «char*».
  • Додано підтримку подій для керуючих жестів, що відтворюються за допомогою миші.
  • У класах wxFont і wxGraphicsContext додано можливість вказівки нецілих значень щодо розміру шрифтів і ширини світлового пера.
  • У класі wxStaticBox реалізовано можливість призначення довільних міток вікнам.
  • В API wxWebRequest додано підтримку HTTPS та HTTP/2.
  • У класі wxGrid додано підтримку заморожування стовпців та рядків.
  • Представлені нові класи: wxActivityIndicator, wxAddRemoveCtrl, wxAppProgressIndicator, wxBitmapBundle, wxNativeWindow, wxPersistentComboBox, wxPowerResourceBlocker, wxSecretStore, wxTempFFile та wxUILocale.
  • Для всіх нових та деяких існуючих класів реалізовані нові обробники XRC.
  • Представлені нові методи: wxDataViewToggleRenderer::ShowAsRadio(), wxDateTime:: GetWeekBasedYear(), wxDisplay::GetPPI(), wxGrid::SetCornerLabelValue(), wxHtmlEasyPrinting::Set (), wxListBox::GetTopItem (), wxProcess::Activate(), wxTextEntry::ForceUpper(), wxStandardPaths::GetUserDir(), wxToolbook::EnablePage(), wxUIActionSimulator::Select().
  • Внесено значні поліпшення класи wxBusyInfo, wxDataViewCtrl, wxNotificationMessage, wxStaticBox, wxStyledTextCtrl і wxUIActionSimulator.
  • Покращено підтримку платформи macOS, в тому числі реалізовано можливість використання темної теми оформлення та додано підтримку пристроїв на процесорах ARM.
  • Внесено покращення, пов'язані з підтримкою стандарту C++11. Додано підтримку складання компіляторами C++20.
  • Оновлено всі бібліотеки, що входять до комплекту. Додана підтримка WebKit 2 та GStreamer 1.7.

Джерело: opennet.ru

Додати коментар або відгук