A GTK 3.99.0 kiadása a GTK 4-re tervezett funkciók elkészültségét jelzi

Megjelent végső kísérleti kiadása a keretrendszernek GTK 3.99.0, amely tartalmazza az összes funkciót, amelyet a GTK 4-hez terveztek. A GTK 4 ágazat egy új fejlesztési folyamat keretein belül fejlődik, amely arra törekszik, hogy stabil és évekig támogatott API-t biztosítson az alkalmazásfejlesztőknek, amelyet nem kell újraépíteni fél évente, mivel az új GTK ágazatban megváltozik az API. A GTK 4 kiadását az év végéig tervezik.

A legfontosabb lényeges API-specifikus módosítások találhatók: be. GTK 4 kiemelhető:

  • Korláton alapuló elrendezési módszer (constraint layout), amely a gyermekelemek elhelyezését és méretét a határok és más elemek méretéhez viszonyítva határozza meg.
  • Vulkan grafikai API alapú renderelő modul, amely tartalmazza a CSS erőforrás-intenzív elemeihez szükséges árnyékolókat, amelyek a GTK widgetekben alkalmazhatók.
  • Integráció (GTK Scene Kit), amely grafikai jelenetek OpenGL és Vulkan közötti megjelenítését biztosítja, a hibakeresés egyszerűsítése érdekében új hibakereső eszközön, a gtk4-node-editoron dolgoztak, amely lehetővé teszi a renderelési csomópont betöltését és megjelenítését sorosított formátumban (megtartható a GTK inspector-tanulmányozás módjában), és a különböző backendek alkalmazásakor a renderelés eredményének összehasonlítását is; (GTK Scene Kit) grafikus jelenetek renderelési lehetőségeivel OpenGL és Vulkan használatával.
  • Átdolgozva a renderelés szervezése — a bufferek megjelenítése helyett most a renderelési csomópontok (render nodes) alapú modell alkalmazása, amely lehetővé teszi a megjelenítést olyan fa-szerű magas szintű műveletek formájában, amelyeket az GPU hatékonyan kezel OpenGL és Vulkan segítségével.
  • Tools a bemeneti fókusz változásának rugalmas kezeléséhez.
  • Modernizált eseménykezelési modell, amely lehetővé teszi a subwindow nélküli eseményirányítást. Az új modell megvalósításának szükségessége a fokozott animációs hatások használatával összefüggésben merül fel, amelyek megjelenítése során nem kell megváltoztatni a látható elemek elrendezését és, ennek megfelelően, nem szükséges a subwindow használata.
  • Az API GDK átdolgozása a Wayland protokoll és a kapcsolódó koncepciók figyelembevételével. Az X11-re és Wayland-ra épülő funkciók külön állományokba lettek áthelyezve. külön backendek.
  • Nagyszabású API tisztítás, többek között a GtkMenu, GtkMenuBar és GtkToolbar osztályok törlése, amelyek helyett a GMenu és a felugró menük (popover) alapú variációk javasoltak.
  • Az GtkTextView és más bemeneti widgetek integrálták a változtatások visszavonására szolgáló veremet (undo).
  • Új GtkNative osztályt adtak hozzá a saját megjelenítési felülettel rendelkező és szülő widgetektől függetlenül, az első szinten önállóan működő widgetekhez.
  • Új widgetek kerültek bevezetésre, beleértve a GtkPicture, GtkText, GtkPasswordEntry, GtkListView, GtkGridView, GtkColumnView és egy emoji megjelenítő widgetet.
  • A widget development has introduced a new GtkLayoutManager object, implementing a layout management system based on the size of the visible area. GtkLayoutManager has replaced child properties in GTK containers, such as GtkBox and GtkGrid.
  • Event handling has been simplified, now used only for input. Other events have been replaced with separate signals, for example, instead of output events, the signal 'GdkSurface::render' is proposed, and for configuration events — 'GdkSurface::size-changed'.
  • A new level of abstraction, GdkPaintable, has been added, representing objects that can be drawn anywhere in any size, without the need for layout layer sorting.
  • The Broadway backend has been rewritten, allowing the rendering of GTK library output in a web browser window.
  • The API related to Drag-and-Drop operations has been redesigned, now featuring separate GdkDrag and GdkDrop objects.

Improvements compared to the previous test release:

  • The old Accessibility API implementation for people with disabilities has been removed, replaced by a new option based on the specification ARIA and the GtkAccessible widget.
  • Support for editable labels (GtkEditableLabel) has been added.
  • New list models for displaying bookmarks (GtkBookmarkList), strings (GtkStringList), and selection blocks (GtkBitset) have been proposed.
  • Editing cells has been implemented in the GtkTreeView widget.
  • The scrolling implementation in GtkGridView and GtkListView has been improved, with support for auto-scrolling and auto-expansion added.
  • The handling of various actions in GtkWidget has been significantly accelerated.
  • Incremental scrolling and filtering support has been added to GtkFilterListModel and GtkSortListModel.
  • The Inspector now supports inspecting list models and direct navigation between objects.
  • GDK ensures saving the scroll history, cleans up the GdkDevice API, and stops the division of devices into master and slave.
  • A new GDK backend for macOS has been added.
  • For Windows, a new GDK rendering backend based on ANGLE, rétegek has been proposed to translate OpenGL ES calls to OpenGL, Direct3D 9/11, Desktop GL, and Vulkan.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster