GTK 3.99.0 kaleratzeak GTK 4rako aurreikusitako funtzionalitateak amaitu ziren

argitaratua esparruaren azken bertsio esperimentala GTK 3.99.0, GTK 4rako aurreikusitako ezaugarri guztiak inplementatzen dituena. GTK 4 adarra garapen prozesu berri baten barruan garatzen ari da, hainbat urtez aplikazioen garatzaileei API egonkor eta bateragarri bat eskaintzen saiatzen dena, behar izateko beldurrik gabe erabil daitekeena. berridatzi aplikazioak sei hilean behin, hurrengo GTK adarrean API aldaketengatik. GTK 4 urtea amaitu baino lehen kaleratzea aurreikusten da.

Gehienetatik esanguratsua aldaketak Π² GTK 4 ohar zaitezke:

  • Murrizketetan oinarritutako elementuak ezartzeko metodoa (murrizketa-diseinua), zeinetan elementu seme-alaben kokapena eta tamaina ertzekiko distantzia eta beste elementu batzuen tamainaren arabera zehazten da.
  • Vulkan graphics API-n oinarritutako errendatzailea, GTK widget-etan erabiltzen diren baliabide ugariko CSS elementu askoren itzalak ezartzen dituena.
  • Integrazioa GSK (GTK Scene Kit) OpenGL eta Vulkan bidez eszena grafikoak errendatzeko gaitasunarekin.
  • Errendatzearen antolaketa berrikusi egin da - buffer batera atera beharrean, errendatze-nodoetan oinarritutako eredua erabiltzen da, non irteera maila altuko eragiketen zuhaitz moduan antolatuta dagoena, GPUak modu eraginkorrean prozesatzen duena OpenGL erabiliz. eta Vulkan.
  • Funtsak sarrerako foku aldaketak malgutzeko.
  • Sarrerako gertaerak bideratzerakoan azpileihoen beharra ezabatzen duen gertaeren entrega-eredu modernizatu bat. Eredu berri bat ezartzeko beharra animazio-efektuen erabilera aktiboagoarekin lotzen da, eta horien errendatzea elementu ikusgaien diseinua aldatu gabe eta, horren arabera, azpileihorik gabe egin behar da.
  • GDK APIa birdiseinatu da Wayland protokoloa eta erlazionatutako kontzeptuak erabiltzeko asmoz. X11 eta Wayland-en oinarritutako eginbideak mugitu dira backend bereiziak.
  • APIaren garbiketa handia egin da, besteak beste, GtkMenu, GtkMenuBar eta GtkToolbar klaseak kendu, GMenu eta popover menuetan oinarritutako aukeren alde.
  • GtkTextView eta beste sarrerako widget-ek desegiteko pila bat dute.
  • GtkNative klase berri bat gehitu da bere bistaratze-azalera duten eta lehen mailan bereizita lan egin dezaketen widgetetarako, widget nagusiei lotuta egon gabe.
  • Widget berriak gehitu dira, besteak beste, GtkPicture, GtkText, GtkPasswordEntry, GtkListView, GtkGridView, GtkColumnView eta Emoji bistaratzeko widget bat.
  • Widget-ak garatzeko, GtkLayoutManager objektu berri bat sartzen da ikusgai dagoen eremuaren tamainaren arabera elementuen diseinua kontrolatzeko sistema bat ezarriz. GtkLayoutManager-ek umeen propietateak ordezkatzen ditu GTK edukiontzietan, hala nola GtkBox eta GtkGrid.
  • Gertaeren kudeaketa erraztu egin da eta orain sarrerarako soilik erabiltzen da. Gainerako gertaerak seinale bereiziekin ordezkatzen dira, adibidez, irteerako gertaeren ordez, "GdkSurface::render" seinalea proposatzen da, eta konfigurazio gertaeren ordez, "GdkSurface::size-changed" eskaintzen da.
  • GdkPaintable abstrakzio geruza berria gehitu da, edozein lekutan marraz daitezkeen objektuak irudikatzen dituena, edozein tamainatan, diseinu-geruzak ordenatu beharrik gabe.
  • Broadway backend-a berridatzi da GTK liburutegiaren irteera web arakatzailearen leiho batean errendatu ahal izateko.
  • Arrastatu eta jaregin eragiketak egitearekin lotutako APIa birdiseinatu da, proposatutako GdkDrag eta GdkDrop objektu bereiziak barne.

Hobekuntzak aurreko probako bertsioarekin alderatuta:

  • Desgaitasuna duten pertsonentzako irisgarritasun APIaren inplementazio zaharra kendu da, zehaztapenean oinarritutako bertsio berri batekin ordezkatuta. ARIA eta GtkAccessible widget-a.
  • Etiketa editagarrietarako laguntza gehitu da (GtkEditableLabel).
  • Laster-markak (GtkBookmarkList), kateak (GtkStringList) eta hautapen blokeak (GtkBitset) bistaratzeko zerrenda eredu berriak proposatu dira.
  • GtkTreeView widget-ak gelaxkak editatzeko gaitasuna du.
  • Korritzearen inplementazioa hobetu da GtkGridView eta GtkListView-n, automatikoki korritzeko eta automatikoki zabaltzeko laguntza gehitu da.
  • GtkWidget-ek hainbat ekintzaren prozesamendua nabarmen bizkortzen du.
  • GtkFilterListModel eta GtkSortListModel-en korritze eta iragazketa inkrementalerako laguntza gehitu da.
  • Inspector-ek zerrenda ereduak ikuskatzeko laguntza eta objektuen artean zuzenean nabigatzeko gaitasuna gehitu du.
  • GDK-n, korritze-historia gorde da, GdkDevice APIa garbitu da eta gailuak maisu eta esklabotan bereiztea gelditu da.
  • GDK backend berria gehitu da macOSerako.
  • Horretan oinarritutako GDK errendatze backend berri bat ANGLE, tarteko geruzak OpenGL ES deiak OpenGL, Direct3D 9/11, Desktop GL eta Vulkanera itzultzeko.

Iturria: opennet.ru

Gehitu iruzkin berria