I-GTK 3.96, ukukhishwa kokuhlola kwe-GTK 4, kushicilelwe

Ngemva kwezinyanga ezingu-10 okwedlule ukukhululwa kokuhlola kwethulwe I-GTK 3.96, ukukhishwa okusha kokuhlolwa kokukhishwa okuzinzile okuzayo kwe-GTK 4. Igatsha le-GTK 4 liyathuthukiswa njengengxenye yenqubo entsha yokuthuthukisa ezama ukunikeza abathuthukisi bohlelo lokusebenza i-API ezinzile nesekelwayo iminyaka embalwa engasetshenziswa ngaphandle kokwesaba. yokuthi kufanele ubhale kabusha uhlelo lokusebenza njalo ezinyangeni eziyisithupha ngenxa yokushintsha i-API egatsheni elilandelayo le-GTK. Kuze kube yilapho i-GTK 4 isizinziswa ngokugcwele, kunconywa ukuthi izinhlelo zokusebenza ezinikezwa abasebenzisi ziqhubeke nokwakhiwa kusetshenziswa igatsha. I-GTK 3.24.

main shintsha ku-GTK 3.96:

  • Ku-API GSK (I-GTK Scene Kit), ehlinzeka ngokunikezwa kwezigcawu eziyingcaca nge-OpenGL ne-Vulkan, umsebenzi wenziwe emaphutheni, osekulula ukuwabona ngenxa yethuluzi elisha lokususa iphutha le-gtk4-node-editor, elikuvumela ukuthi ulayishe futhi ubonise i-node yokunikeza ngefomethi ye-serialized (ingalondolozwa kumodi yokuhlola umhloli we-GTK), futhi iphinde iqhathanise imiphumela yokuhlinzeka lapho kusetshenziswa ingemuva elihlukile;

    I-GTK 3.96, ukukhishwa kokuhlola kwe-GTK 4, kushicilelwe

  • Amandla okuguqula i-3D alethwe ezingeni elikuvumela ukuthi udale imiphumela yokugqwayiza njengekhiyubhu ezungezayo;

    I-GTK 3.96, ukukhishwa kokuhlola kwe-GTK 4, kushicilelwe

  • Ngokuphelele ibhalwe kabusha I-backend ye-Broadway GDK eklanyelwe ukunikeza okukhiphayo komtapo we-GTK efasiteleni lesiphequluli sewebhu. Ukuqaliswa okudala kwe-Broadway akuzange kungene ezindleleni zokunikeza ezihlongozwayo ku-GTK 4 (esikhundleni sokuphuma ku-buffer, manje isebenzisa imodeli esuselwe kumanodi wokunikezela, lapho okukhiphayo kwakhiwa ngendlela yesihlahla sokusebenza kwezinga eliphezulu, icutshungulwe kahle yi-GPU isebenzisa i-OpenGL ne-Vulkan).
    Inketho entsha ye-Broadway iguqula ukunikeza ama-node ku-DOM node ngezitayela ze-CSS zokunikeza isixhumi esibonakalayo esipheqululini. Isimo ngasinye sesikrini esisha sicutshungulwa njengoshintsho esihlahleni se-DOM ngokuhlobene nesimo sangaphambilini, esinciphisa usayizi wedatha edluliselwa kuklayenti elikude. Ukuguqulwa kwe-3D kanye nemiphumela yezithombe kwenziwa ngesakhiwo sokuguqula se-CSS;

  • I-GDK iyaqhubeka nokusebenzisa ama-API aklanywe kucatshangwa ngephrothokholi ye-Wayland, futhi ihlanza ama-API asekelwe ku-X11 noma iwahambise ku-backend ehlukile ye-X11. Kunenqubekelaphambili emsebenzini wokuqhela ekusetshenzisweni kwezindawo zezingane kanye nezixhumanisi zomhlaba wonke. Usekelo lwe-GDK_SURFACE_SUBSURFACE lususiwe ku-GDK;
  • Ukwenziwa kabusha kwekhodi ehlobene nokwenza imisebenzi yokuhudula bese uwisa kuqhubekile, okuhlanganisa nezinto ezihlongozwayo ezihlukene ze-GdkDrag kanye ne-GdkDrop;
  • Ukuphathwa komcimbi kwenziwe lula futhi manje sekusetshenziselwa okokufaka kuphela. Izehlakalo ezisele zithathelwa indawo amasignali ahlukene, isibonelo, esikhundleni sezehlakalo eziphumayo, isignali ethi “GdkSurface::render” iyaphakanyiswa, esikhundleni semicimbi yokumisa - “GdkSurface::size-changed”, esikhundleni sokwenza imephu imicimbi - “GdkSurface: :mapped”, esikhundleni sokuthi gdk_event_handler_set() - "GdkSurface::event";
  • I-backend ye-GDK ye-Wayland yengeze usekelo lwesixhumi esibonakalayo sephothali ukuze ufinyelele izilungiselelo ze-GtkSettings. Ukuze usebenze ngezindlela zokufaka, usekelo lwesandiso sephrothokholi ye-text-input-unstable-v3 siphakanyisiwe;
  • Ukuze kuthuthukiswe amawijethi, into entsha ye-GtkLayoutManager yethulwa ngokusetshenziswa kwesistimu yokulawula ukwakheka kwezinto kuye ngokuthi kuhlelwe indawo ebonakalayo. I-GtkLayoutManager ithatha indawo yezakhiwo zengane ezitsheni ze-GTK ezifana ne-GtkBox ne-GtkGrid. Kuhlongozwa abaphathi abambalwa besakhiwo esenziwe ngomumo: I-GtkBinLayout yeziqukathi ezilula ezinento eyodwa yengane, i-GtkBoxLayout yama-elementi engane aqondaniswe umugqa, i-GtkGridLayout yokuqondanisa izici zengane kugridi, i-GtkFixedLayout yokubeka izinto zengane ngokungafanele, i-GtkCustomalLayout esekelwe kusayizi wendabuko abaphathi;
  • Izinto ezifinyeleleka esidlangalaleni zekhasi lokuboniswa kwezinto zezingane zengezwe kumawijethi e-GtkAssistant, GtkStack kanye ne-GtkNotebook, lapho kudluliselwa khona izici zengane ezingahlobene ne-Layout zalawa mawijethi. Njengoba zonke izakhiwo zezingane ezikhona seziguqulelwe zaba izakhiwo ezivamile, izakhiwo zesakhiwo, noma zayiswa ekhasini lezinto, ukusekelwa kwezakhiwo zezingane kukhishwe ngokuphelele ku-GtkContainer;
  • Umsebenzi oyinhloko we-GtkEntry uyiswe kuwijethi entsha ye-GtkText, ehlanganisa futhi isixhumi esibonakalayo sokuhlela esithuthukisiwe se-GtkEditable. Zonke izigatshana zokufakwa kwedatha ezikhona zenziwe kabusha njengokuqaliswa kwe-GtkEditable ngokusekelwe kuwijethi entsha ye-GtkText;
  • Kwengezwe iwijethi entsha ye-GtkPasswordEntry yamafomu okufaka iphasiwedi;
  • I-GtkWidgets yengeze ikhono lokuguqula izici zengane isebenzisa izindlela zokuguqula ezicaciswe nge-CSS noma i-agumenti ethi gtk_widget_allocate ku-GskTransform. Isici esishiwo sesivele sisetshenzisiwe kuwijethi ye-GtkFixed;
  • Kungezwe amamodeli wohlu olusha: I-GtkMapListModel, i-GtkSliceListModel, i-GtkSortListModel, i-GtkSelectionModel ne-GtkSingleSelection. Esikhathini esizayo sihlela ukwengeza ukwesekwa kwamamodeli ohlu ku-GtkListView;
  • I-GtkBuilder yengeze amandla okusetha izakhiwo zento endaweni (emgqeni), esikhundleni sokusebenzisa izixhumanisi ngesihlonzi;
  • Kwengezwe umyalo kuthuluzi le-gtk4-builder lokuguqula amafayela e-UI ukusuka ku-GTK 3 ukuya ku-GTK 4;
  • Ukusekela amatimu angukhiye, amamenyu ethebula, namabhokisi enhlanganisela akuqhubekisiwe. Iwijethi ye-GtkInvisible isusiwe.

    Source: opennet.ru

Engeza amazwana