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