Po třech letech vývoje byl vydán multiplatformní toolkit wxWidgets 3.3.0, který umožňuje vytvářet grafické rozhraní pro Linux, Windows, macOS, UNIX-podobné systémy a mobilní platformy. Toolkit je napsán v jazyce C++ a je distribuován pod svobodnou licencí wxWindows Library License, schválenou Fondem pro svobodný a otevřený software a organizací OSI. Licencí je založena na LGPL a umožňuje stanovit vlastní podmínky pro distribuci odvozených prací v binární podobě.
Kromě podpory C++ poskytuje wxWidgets obálky pro většinu populárních programovacích jazyků, mezi které patří PHP, Python, Perl, Haskell a Ruby. Rozhraní v aplikacích používajících wxWidgets má nativní vzhled pro cílový systém, díky použití systémových API, nikoli napodobování GUI.
wxWidgets 3.3.0 je prezentován jako větev pro vývojáře, ve které se vyvíjejí nové funkce pro další stabilní vydání 3.4.0. Přičemž větev wxWidgets 3.3.0 je označena jako vhodná pro použití v pracovních projektech — rozdíl od stabilních větví spočívá v tom, že v mezivydáních větví pro vývojáře jsou povoleny změny v ABI a API, které porušují kompatibilitu. Porušující změny jsou ojedinělé a celkově je větev 3.3 téměř plně kompatibilní s wxWidgets 3.2 na úrovni API.
Hlavní novinky:
- Byl realizován nový backend wxWebView na základě enginu Chromium, který umožňuje integrovat do aplikací funkce pro zpracování a zobrazení webového obsahu.
- Do třídy wxImage byla přidána podpora obrázků ve formátu WebP.
- Do portu wxMSW, který poskytuje specifické pro Windows funkce a ovládací prvky, byla přidána experimentální podpora tmavého režimu rozhraní, která funguje od Windows 10. Podpora pro Windows XP a Vista byla ukončena. Ve výchozím nastavení je aktivován režim výstupu s dvojitým vyrovnáváním, stejně jako v portech wxGTK s Wayland a wxOSX.
- V knihovně wxAUI byla implementována možnost připnutí polohy karet (pin) a vytváření vícerozměrných karet.
- Byla přidána varianta třídy wxWebRequest pro zpracování požadavků v synchronním (blokujícím) režimu.
- Bylo přidáno API pro nízkoúrovňové zpracování událostí ze dotykových obrazovek a touchpadů.
- Ve třídě wxGrid byly implementovány prostředky pro osoby se zdravotním postižením.
- Pro UNIX podobné systémy implementovány události wxEVT_POWER_XXX pro sledování stavu spotřeby energie.
- V portu wxGTK se nyní, pokud je to možné, používají nativní dialogy pro práci se soubory.
- Ve třídě wxTextCtrl, která vytváří prvky pro zobrazení a úpravu textu, byla implementována podpora textu s formátováním (RTF).
- Byla přidána podpora animací a kurzorů pro obrazovky s vysokou hustotou pixelů (high DPI).
- Byla přidána podpora sestavení s použitím nových kompilátorů gcc 15, clang 19 a Xcode 16.
- Na UNIX podobných systémech je pro umístění konfiguračních souborů aplikací použit adresář ~\/ .config\/ appname.conf místo ~\/ .appname (načtení již existujících konfiguračních souborů je zachováno).
- Byly odstraněny porty wxMotif a wxGTK1.
- Byla odstraněna možnost sestavení bez použití Unicode (wxUSE_UNICODE=0).
Zdroj: opennet.ru
