Kutolewa kwa GTK 3.99.0 kuliashiria kukamilika kwa utendakazi uliopangwa kwa GTK 4

iliyochapishwa toleo la mwisho la majaribio la mfumo GTK 3.99.0, ambayo hutekeleza vipengele vyote vilivyopangwa kwa ajili ya GTK 4. Tawi la GTK 4 linatengenezwa kama sehemu ya mchakato mpya wa usanidi unaojaribu kuwapa wasanidi programu API thabiti na inayotumika kwa miaka kadhaa ambayo inaweza kutumika bila hofu ya kulazimika andika upya programu kila baada ya miezi sita kwa sababu kwa mabadiliko ya API katika tawi linalofuata la GTK. GTK 4 imepangwa kutolewa kabla ya mwisho wa mwaka.

Ya wengi muhimu mabadiliko Π² GTK 4 unaweza kumbuka:

  • Njia ya kuweka vipengele kulingana na vikwazo (mpangilio wa kizuizi), ambapo eneo na ukubwa wa vipengele vya mtoto huamua kulingana na umbali wa mipaka na ukubwa wa vipengele vingine.
  • Kionyeshi kinachotegemea API ya michoro ya Vulkan ambayo hutekelezea vivuli kwa vipengele vingi vya CSS vinavyotumia rasilimali vinavyotumika katika wijeti za GTK.
  • Kuunganisha GSK (GTK Scene Kit) yenye uwezo wa kuonyesha matukio ya picha kupitia OpenGL na Vulkan.
  • Shirika la uwasilishaji limerekebishwa - badala ya pato kwa bafa, modeli kulingana na nodi za kutoa sasa hutumiwa, ambayo matokeo yamepangwa kwa namna ya mti wa shughuli za kiwango cha juu, iliyochakatwa kwa ufanisi na GPU kwa kutumia OpenGL. na Vulkan.
  • Fedha kwa utunzaji rahisi wa mabadiliko ya umakini wa pembejeo.
  • Muundo wa kisasa wa uwasilishaji wa matukio ambao huondoa hitaji la madirisha madogo wakati wa kuelekeza matukio ya ingizo. Uhitaji wa kutekeleza mtindo mpya unahusishwa na matumizi ya kazi zaidi ya athari za uhuishaji, utoaji ambao unapaswa kufanywa bila kubadilisha mpangilio wa vipengele vinavyoonekana na, ipasavyo, bila dirisha ndogo.
  • API ya GDK imeundwa upya kwa jicho la kutumia itifaki ya Wayland na dhana zinazohusiana. Vipengele vya X11 na vya Wayland vimehamishwa hadi tofauti za nyuma.
  • Usafishaji mkubwa wa API umefanywa, ikijumuisha kuondolewa kwa madarasa ya GtkMenu, GtkMenuBar na GtkToolbar, kwa ajili ya GMenu na chaguo kulingana na menyu za popover.
  • GtkTextView na wijeti zingine za ingizo zina mrundikano wa kutendua uliojengewa ndani.
  • Imeongeza darasa jipya la GtkNative kwa wijeti ambazo zina uso wake wa kuonyesha na zinaweza kufanya kazi kando katika kiwango cha kwanza, bila kuhusishwa na wijeti kuu.
  • Wijeti mpya zimeongezwa, ikiwa ni pamoja na GtkPicture, GtkText, GtkPasswordEntry, GtkListView, GtkGridView, GtkColumnView, na wijeti ya kuonyesha Emoji.
  • Kwa uundaji wa wijeti, kitu kipya cha GtkLayoutManager kinaletwa kwa utekelezaji wa mfumo wa kudhibiti mpangilio wa vipengee kulingana na saizi ya eneo linaloonekana. GtkLayoutManager hubadilisha sifa za watoto katika vyombo vya GTK kama vile GtkBox na GtkGrid.
  • Ushughulikiaji wa tukio umerahisishwa na sasa unatumika kwa ingizo pekee. Matukio yaliyobaki yanabadilishwa na ishara tofauti, kwa mfano, badala ya matukio ya pato, ishara ya "GdkSurface::render" inapendekezwa, na badala ya matukio ya usanidi, "GdkSurface::size-changed" hutolewa.
  • Imeongeza safu mpya ya uondoaji GdkPaintable, inayowakilisha vitu vinavyoweza kuchorwa popote kwa ukubwa wowote, bila hitaji la kupanga safu za mpangilio.
  • Mazingira ya nyuma ya Broadway yameandikwa upya ili kuruhusu matokeo ya maktaba ya GTK kutolewa kwenye dirisha la kivinjari.
  • API inayohusishwa na kutekeleza shughuli za Buruta-Angusha imeundwa upya, ikijumuisha vitu tofauti vya GdkDrag na GdkDrop vilivyopendekezwa.

Maboresho ikilinganishwa na toleo la awali la jaribio:

  • Utekelezaji wa zamani wa API ya Ufikivu kwa watu wenye ulemavu umeondolewa, nafasi yake kuchukuliwa na toleo jipya kulingana na vipimo. ARIA na wijeti ya GtkAccessible.
  • Usaidizi ulioongezwa kwa lebo zinazoweza kuhaririwa (GtkEditableLabel).
  • Miundo mipya ya orodha imependekezwa kwa ajili ya kuonyesha alamisho (GtkBookmarkList), mifuatano (GtkStringList) na vizuizi vya uteuzi (GtkBitset).
  • Wijeti ya GtkTreeView ina uwezo wa kuhariri visanduku.
  • Utekelezaji wa kusogeza umeboreshwa katika GtkGridView na GtkListView, usaidizi wa kusogeza kiotomatiki na upanuzi wa kiotomatiki umeongezwa.
  • GtkWidget inaharakisha sana uchakataji wa vitendo mbalimbali.
  • Usaidizi ulioongezwa wa kusogeza na kuchuja kwa nyongeza kwa GtkFilterListModel na GtkSortListModel.
  • Mkaguzi ameongeza usaidizi wa kukagua miundo ya orodha na uwezo wa kusogeza moja kwa moja kati ya vitu.
  • Katika GDK, historia ya kusogeza imehifadhiwa, API ya GdkDevice imesafishwa, na mgawanyo wa vifaa kuwa bwana na watumwa umesimamishwa.
  • Imeongeza hali mpya ya nyuma ya GDK kwa macOS.
  • Muundo mpya wa utoaji wa GDK kulingana na pembe, viingiliano ili kutafsiri simu za OpenGL ES kwa OpenGL, Direct3D 9/11, Desktop GL na Vulkan.

Chanzo: opennet.ru

Kuongeza maoni