O le tuʻuina atu o le GTK 3.99.0 na faʻamaonia ai le maeʻa o galuega faʻatulagaina mo GTK 4.

lomia faasalalau fa'asalalauga fa'ata'ita'iga mulimuli o le fa'avae GTK 3.99.0, lea o loʻo faʻatinoina uma foliga na fuafuaina mo le GTK 4. O le GTK 4 lala o loʻo faʻavaeina o se vaega o se atinaʻe fou o loʻo taumafai e tuʻuina atu i le au atinaʻe talosaga se API faʻamautu ma lagolagoina mo le tele o tausaga e mafai ona faʻaaogaina e aunoa ma le fefe i le i ai. toe tusi tusi talosaga i le ono masina ona mo suiga API i le isi lala GTK. GTK 4 ua fuafua e fa'alauiloa a'o le'i mae'a le tausaga.

O le tele taua suiga в GTK 4 e mafai ona e matauina:

  • Metotia mo le faʻatulagaina o elemene e faʻavae i luga o faʻalavelave (fa'atonuga fa'alavelave), lea e fuafua ai le nofoaga ma le tele o elemene tamaiti e faʻatatau i le mamao i tuaoi ma le tele o isi elemene.
  • O se fa'aliliuga e fa'avae i luga ole Vulkan graphics API lea e fa'aogaina ai fa'ata'ita'iga mo le tele o mea e fa'aogaina ai le CSS o lo'o fa'aogaina ile GTK widgets.
  • Tuufaatasia GSK (GTK Scene Kit) faʻatasi ai ma le tomai e faʻaalia ata faʻataʻitaʻiga e ala i OpenGL ma Vulkan.
  • O le faʻatulagaina o le tuʻuina atu ua toe faʻaleleia - nai lo le gaosiga i se paʻu, o se faʻataʻitaʻiga e faʻavae i luga o render nodes o loʻo faʻaaogaina nei, lea o loʻo faʻatulagaina ai le gaioiga i foliga o se laʻau o galuega maualuga, faʻaogaina lelei e le GPU e faʻaaoga ai OpenGL ma Vulkan.
  • Faʻaaoga mo le fe'avea'i fetu'una'i o suiga o mea e tu'uina atu.
  • Ose fa'ata'ita'iga fa'aonaponei tu'uina atu mea e fa'aonaponei e fa'ate'aina ai le mana'omia o subwindows pe a fa'aalalaina mea e fa'aoga ai. O le manaʻomia o le faʻatinoina o se faʻataʻitaʻiga fou e fesoʻotaʻi ma le faʻaogaina atili o le faʻaogaina o mea faʻafiafia, o le tuʻuina atu e tatau ona faia e aunoa ma le suia o le faʻatulagaina o elemene vaaia ma, e tusa ai, e aunoa ma se subwindow.
  • O le GDK API ua toe fa'atulagaina ma le mata i le fa'aogaina o le Wayland protocol ma manatu fa'atatau. X11 ma Wayland-fa'avae vaega ua si'i atu i pito i tua eseese.
  • O se fa'amama tele o le API ua fa'atinoina, e aofia ai le aveeseina o vasega GtkMenu, GtkMenuBar ma GtkToolbar, mo le GMenu ma filifiliga e fa'atatau i popover menus.
  • O le GtkTextView ma isi mea fa'apipi'i e iai se fa'aputu fa'apipi'i.
  • Fa'aopoopoina se vasega GtkNative fou mo widget e iai a latou lava fa'aaliga fa'aaliga ma e mafai ona galulue fa'atasi i le tulaga muamua, e aunoa ma le noatia i matua widgets.
  • Ua fa'aopoopoina ni widget fou, e aofia ai le GtkPicture, GtkText, GtkPasswordEntry, GtkListView, GtkGridView, GtkColumnView, ma le Emoji fa'aaliga widget.
  • Mo le atinaʻeina o widgets, o se mea fou GtkLayoutManager ua faʻalauiloaina ma le faʻatinoina o se faiga mo le puleaina o le faʻatulagaina o elemene e faʻatatau i le tele o le vaʻaia vaʻaia. GtkLayoutManager suia meatotino a tamaiti i totonu o pusa GTK pei ole GtkBox ma GtkGrid.
  • Ua fa'afaigofieina le fa'afoeina o mea fai ma ua fa'aaoga nei mo na'o mea e tu'u iai. O mea o lo'o totoe o lo'o suia i fa'ailoga eseese, mo se fa'ata'ita'iga, nai lo mea na tutupu, o le "GdkSurface::render" fa'ailoga ua tu'uina atu, ae nai lo le fa'atulagaina o mea e tutupu, "GdkSurface:: size-changed" e ofoina.
  • Fa'aopoopo i ai se fa'aputuga fou GdkPaintable, e fai ma sui o mea faitino e mafai ona tusia i so'o se mea i so'o se lapo'a, e aunoa ma le mana'omia e fa'avasega fa'asologa o laulau.
  • O le Broadway backend ua toe tusia ina ia mafai ai ona tuʻuina atu le gaosiga o le faletusi GTK i se faʻamalama web browser.
  • O le API e fesoʻotaʻi ma le faʻatinoina o galuega Drag-and-Drop ua toe faʻatulagaina, e aofia ai ma mea eseese GdkDrag ma GdkDrop ua fuafuaina.

Fa'aleleia pe a fa'atusatusa i le fa'asalalauga muamua o su'ega:

  • Le fa'atinoga tuai o le Accessibility API mo tagata e iai mana'oga fa'apitoa ua aveese, suia i se fa'amatalaga fou e fa'atatau i le fa'amatalaga. Aria ma le GtkAccessible widget.
  • Fa'aopoopo le lagolago mo fa'ailoga e mafai ona fa'asa'o (GtkEditableLabel).
  • O fa'ata'ita'iga fou o lisi ua fa'atulaga mo le fa'aalia o fa'ailoga tusi (GtkBookmarkList), manoa (GtkStringList) ma poloka filifilia (GtkBitset).
  • O le GtkTreeView widget e iai le malosi e fa'asa'o ai sela.
  • O le faʻatinoga o le taʻavale ua faʻaleleia i le GtkGridView ma GtkListView, lagolago mo le taʻavale taʻavale ma le faʻalauteleina o le auto ua faʻaopoopoina.
  • GtkWidget faʻavavevaveina le faʻagaioiina o gaioiga eseese.
  • Fa'aopoopo le lagolago mo le fa'aopoopoina o ta'avale ma fa'amama i le GtkFilterListModel ma le GtkSortListModel.
  • Ua fa'aopoopoina e le Ofisa Asiasi le lagolago mo le su'esu'eina o fa'ata'ita'iga o lisi ma le mafai ona fa'atautaia sa'o i le va o mea.
  • I le GDK, ua fa'asaoina le tala fa'asolopito, ua fa'amama le GdkDevice API, ma ua taofia le tu'ueseeseina o masini i le matai ma le pologa.
  • Faʻaopoopo se GDK pito i tua mo macOS.
  • O se GDK rendering backend fou e fa'avae i luga Tulimanu, interlayers e faaliliu OpenGL ES valaau i OpenGL, Direct3D 9/11, Desktop GL ma Vulkan.

puna: opennet.ru

Faaopoopo i ai se faamatalaga