wxWidgets 3.2.0 գրաֆիկական գործիքակազմի թողարկում

9 մասնաճյուղի թողարկումից 3.0 տարի անց ներկայացվեց wxWidgets 3.2.0 միջպլատֆորմային գործիքակազմի նոր կայուն ճյուղի առաջին թողարկումը, որը թույլ է տալիս ստեղծել գրաֆիկական ինտերֆեյսներ Linux, Windows, macOS, UNIX և բջջային հարթակների համար։ Համեմատած 3.0 մասնաճյուղի հետ՝ API մակարդակում կան մի շարք անհամատեղելիություններ: Գործիքակազմը գրված է C++-ով և տարածվում է անվճար wxWindows Library լիցենզիայի ներքո, որը հաստատված է Free Software Foundation-ի և OSI կազմակերպության կողմից: Լիցենզիան հիմնված է LGPL-ի վրա և առանձնանում է իր սեփական պայմաններն օգտագործելու թույլտվությամբ՝ ածանցյալ ստեղծագործությունները երկուական ձևով տարածելու համար:

Բացի C++-ով ծրագրեր մշակելուց, wxWidgets-ը կապեր է տրամադրում ծրագրավորման ամենատարածված լեզուների համար, ներառյալ PHP, Python, Perl և Ruby: Ի տարբերություն այլ գործիքակազմերի, wxWidgets-ը ծրագիր է տրամադրում թիրախային համակարգի համար իրապես բնիկ տեսք և զգացողություն՝ օգտագործելով համակարգի API-ներ, այլ ոչ թե ընդօրինակելով GUI:

Հիմնական նորամուծությունները.

  • Գործարկվել է wxQt-ի նոր փորձնական պորտ, որը թույլ է տալիս wxWidgets-ին աշխատել Qt շրջանակի վերևում:
  • WxGTK նավահանգիստը լիարժեք աջակցություն է տրամադրում Wayland արձանագրությանը:
  • Ավելացվել է պիքսելների բարձր խտությամբ էկրանների աջակցություն (High DPI): Ավելացվեց տարբեր մոնիտորների համար տարբեր DPI-ներ նշանակելու և DPI-ի դինամիկ փոփոխության հնարավորություն: Առաջարկվել է նոր wxBitmapBundle API, որը թույլ է տալիս մանիպուլյացիայի ենթարկել bitmap պատկերի մի քանի տարբերակներ՝ ներկայացված տարբեր լուծումներով, որպես մեկ ամբողջություն։
  • Առաջարկվել է CMake-ի վրա հիմնված նոր կառուցման համակարգ: Նոր կոմպիլյատորների (ներառյալ MSVS 2022, g++ 12 և clang 14) և օպերացիոն համակարգերի աջակցությունը ավելացվել է հավաքման համակարգին:
  • OpenGL-ի աջակցությունը վերափոխվել է, բարելավվել է նոր OpenGL տարբերակների օգտագործումը (3.2+):
  • Ավելացվեց աջակցություն LZMA սեղմման և ZIP 64 ֆայլերի համար:
  • Կազմելու ժամանակի պաշտպանությունը բարելավվել է wxString և «char*» տեսակների տողերի միջև վտանգավոր անուղղակի փոխարկումներն անջատելու ունակության շնորհիվ:
  • Ավելացվեց իրադարձությունների աջակցություն մկնիկի միջոցով նվագարկվող կառավարման ժեստերի համար:
  • wxFont և wxGraphicsContext դասերն այժմ հնարավորություն ունեն նշելու ոչ ամբողջ թվային արժեքներ՝ տառատեսակի չափերը և գրիչների լայնությունը սահմանելիս:
  • wxStaticBox դասը իրականացնում է պատուհաններին կամայական պիտակներ հատկացնելու հնարավորությունը:
  • wxWebRequest API-ն այժմ աջակցում է HTTPS և HTTP/2:
  • wxGrid դասն ավելացրել է աջակցություն սյունակների և տողերի սառեցման համար:
  • Ներդրված են նոր դասեր՝ wxActivityIndicator, wxAddRemoveCtrl, wxAppProgressIndicator, wxBitmapBundle, wxNativeWindow, wxPersistentComboBox, wxPowerResourceBlocker, wxSecretStore, wxTempFFile և wxUILocale:
  • Նոր XRC մշակիչներ են ներդրվել բոլոր նոր դասերի և որոշ գոյություն ունեցող դասերի համար:
  • Ներդրված նոր մեթոդներ՝ wxDataViewToggleRenderer::ShowAsRadio(), wxDateTime::GetWeekBasedYear(), wxDisplay::GetPPI(), wxGrid::SetCornerLabelValue(), wxHtmlEasyPrinting::MockEventEut, wxListBox::Ստացեք 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-ի համար:

Source: opennet.ru

Добавить комментарий