Před pár dny bylo oznámeno vydání nové verze GTK 4.0, verze, která byla vyvíjena několik měsíců a která se stala novou stabilní pobočkou projektu. Tato nová verze představuje velmi zajímavé funkce, z nichž můžeme zdůraznit vylepšení přehrávání médií.
GTK je sada softwarových knihoven pro vytváření grafických rozhraníGTK byl původně vyvinut pro potřeby softwaru pro zpracování obrazu GIMP. V současné době již jeho rozsah není omezen pouze na GIMP, ale používá se v jiných projektech. Například GTK je jádrem prostředí síťových objektových modelů GNU (GNOME), ale lze jej také použít k psaní aplikací pro jiná prostředí Linux, stejně jako aplikací pro Microsoft Windows a Apple macOS.
„GTK 4.0 je výsledkem tvrdé práce malého týmu specializovaných vývojářů. K podrobnostem statistik budeme mít samostatný článek, ale rychlým shrnutím je, že od listopadu 3.89.1 verze 2016 jsme přidali více než 18,000 20 revizí a vytvořili více než XNUMX vývojových verzí.
"Gratulujeme a děkuji všem, kteří se na tomto úsilí podíleli, zejména Benjaminovi, Emmanueleovi, Timmovi, Carlosovi, Jonasovi a Christianovi!" «
O nové verzi GTK 4.0
GTK 4.0 zavádí nové widgety a změny stávajících prvků, integrovaná podpora přehrávání médií, vylepšení akcelerace GPU, jako je práce na vašem nový vykreslovací modul Vulkan a lepší kompatibilita s macOS. Můžeme si také všimnout vylepšení přenosu dat, přepracovaných shaderů, GPU zrychleného posouvání, vylepšení vykreslování OpenGL nad rámec úlohy Vulkan, obnovení úlohy v HTMl5 Broadway, lepší podpora Windows atd.
Podívejme se na některé body trochu hlouběji.
Správa médií v GT4
- GTK 4 umožní aplikacím GTK snadněji zobrazit animace; ať už jde o programovou animaci, archiv webu nebo živé vysílání.
- GTK 4 přináší nové API s názvem GdkPaintable, které bylo inspirováno úsilím CSS Houdini. Je velmi flexibilní (vše, co můžete nakreslit, může být GdkPaintable). Obsah lze změnit velikost (například svg) nebo změnit v průběhu času (jako webm).
- Pokud máte více specializovaných potřeb, vše, co lze zachytit v GtkSnapshot, lze převést na výkres pomocí gtk_snapshot_to_paintable (). Pokud vytváříte vlastní widget, který chce nakreslit objekt k malování, je to velmi jednoduché. Stačí zavolat gdk_paintable_snapshot ().
- Ovládání multimédií můžete mít pomocí widgetu GtkVideo.
Přenos dat v GTK4
Tradiční metody přenosu dat Uživatelem spuštěné mezi desktopovými aplikacemi jsou schránka nebo přetažení. GTK + podporuje tyto metody, ale až do GTK3 byla rozhraní API v sadě nástrojů pro tento typ přenosu dat jemně maskované kopie odpovídajících rozhraní API X11. To není příliš překvapivé, protože celé rozhraní GDK API bylo modelováno v X11. Implementace bohužel zahrnuje výsledky, jako jsou přírůstkové převody a převody formátu řetězce.
U GTK4 se tým rozhodl tento přístup opustit, kteří se rozhodli pro modernizaci. Toto je koncept nového přístupu:
"Pokud data, která chce vaše aplikace odeslat, nejsou řetězec, je to pravděpodobně objekt, například GFile, GdkTexture nebo GdkRGBA." Aplikace na straně přijímače nemusí používat GTK nebo GLib, a proto o těchto typech neví. A i když to uděláte, neexistuje žádný způsob, jak přesouvat objekty z jednoho procesu do druhého v jednom kuse.
"V něm funguje přenos dat tak, že se ze zdrojové aplikace a cílové aplikace odešle deskriptor souboru čtením proudu bajtů." Protokoly pro schránku a DND používají k identifikaci formátu bajtového proudu typy mime, jako je text / uri-list, image / png nebo application / x-color.
Odeslání objektu zahrnuje vyjednání oboustranného kompatibilního datového formátu, serializaci objektu na straně zdroje do bajtového proudu tohoto formátu, přenos dat a deserializaci objektu na cílové straně. «
Navíc, GTK4 přichází s novými API.
"První API, které zavedeme pro zpracování těchto typů, je objekt GdkContentFormats." Může obsahovat seznam formátů, které mohou být GTypes nebo MIME. Objekty GdkContentFormats používáme k popisu formátů, ve kterých může aplikace nabízet data, a formátů, ve kterých může aplikace přijímat data “.
zdroj: https://blog.gtk.org/