Нашри асбобҳои графикии wxWidgets 3.2.0

9 сол пас аз нашри филиали 3.0, версияи аввалини филиали нави устувори абзори кросс-платформаи wxWidgets 3.2.0 муаррифӣ шуд, ки ба шумо имкон медиҳад интерфейсҳои графикиро барои Linux, Windows, macOS, UNIX ва платформаҳои мобилӣ эҷод кунед. Дар муқоиса бо филиали 3.0, дар сатҳи API як қатор номувофиқиятҳо мавҷуданд. Маҷмӯаи абзор дар C++ навишта шудааст ва дар доираи Литсензияи ройгони wxWindows Library, ки аз ҷониби Фонди кушодаасос ва ташкилоти OSI тасдиқ шудааст, паҳн карда мешавад. Литсензия ба LGPL асос ёфтааст ва бо иҷозати он барои истифодаи шартҳои худ барои паҳн кардани корҳои ҳосилшуда дар шакли дуӣ фарқ мекунад.

Илова ба таҳияи барномаҳо дар C++, wxWidgets пайвандҳоро барои забонҳои маъмултарини барномасозӣ, аз ҷумла PHP, Python, Perl ва Ruby таъмин мекунад. Баръакси дигар маҷмӯаҳо, wxWidgets замимаеро бо намуди воқеии модарӣ ва эҳсоси системаи мақсаднок бо истифода аз API-ҳои система ба ҷои тақлид кардани GUI таъмин мекунад.

Навовариҳои асосӣ:

  • Порти нави таҷрибавии wxQt амалӣ карда шуд, ки ба wxWidgets имкон медиҳад, ки дар болои чаҳорчӯбаи Qt кор кунанд.
  • Порти wxGTK протоколи Wayland-ро пурра дастгирӣ мекунад.
  • Дастгирии иловашуда барои экранҳои зичии пикселии баланд (High DPI). Қобилияти таъин кардани DPI-ҳои гуногун барои мониторҳои гуногун ва динамикӣ тағир додани DPI илова карда шудааст. API-и нави wxBitmapBundle пешниҳод шудааст, ки ба шумо имкон медиҳад, ки якчанд версияи тасвири bitmap-ро, ки дар резолюцияҳои гуногун пешниҳод шудаанд, дар як маҷмӯъ идора кунед.
  • Системаи нави сохтмон дар асоси 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::(), wxHtmlEasyPrinting:(), wxHtmlEasyPrinting:(), wxDateTime::GetWeekBasedYear() istBox:: Гирифтан TopItem (), 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

Илова Эзоҳ