I-GTK 3.96, ukukhutshwa kovavanyo lwe-GTK 4, epapashwe

Iinyanga ezili-10 emva koko yexesha elidlulileyo ukukhutshwa kovavanyo thaca GTK 3.96, ukhupho olutsha lokuvavanywa kokukhutshwa okuzayo okuzinzileyo kwe-GTK 4. Isebe le-GTK 4 liphuhliswa njengenxalenye yenkqubo entsha yophuhliso ezama ukunika abaphuhlisi bezicelo nge-API ezinzileyo nexhaswayo iminyaka emininzi enokusetyenziswa ngaphandle koloyiko. yokuba isicelo siphinde sibhale rhoqo emva kweenyanga ezintandathu ngenxa yokutshintsha i-API kwisebe elilandelayo le-GTK. Ide i-GTK 4 izinze ngokupheleleyo, kucetyiswa ukuba izicelo ezinikezelwa kubasebenzisi ziqhubeke ukwakhiwa kusetyenziswa isebe. GTK 3.24.

Siseko utshintsho kwi-GTK 3.96:

  • Kwi-API GSK (i-GTK Scene Kit), ebonelela ngonikezelo lwemifanekiso eqingqiweyo nge-OpenGL kunye neVulkan, umsebenzi wenziwe kwiimpazamo, eziye zaba lula ukuchonga umbulelo kwisixhobo esitsha sokulungisa i-gtk4-node-editor, ekuvumela ukuba ulayishe kwaye ubonise i-node yonikezelo ngefomathi elandelelanisiweyo (inokugcinwa kwimo yokuhlola umhloli we-GTK), kwaye kwakhona uthelekise iziphumo zonikezelo xa usebenzisa ii-backends ezahlukeneyo;

    I-GTK 3.96, ukukhutshwa kovavanyo lwe-GTK 4, epapashwe

  • Ubunakho benguqu ye-3D buziswe kwinqanaba elikuvumela ukuba wenze iziphumo zoopopayi ezifana netyhubhu ejikelezayo;

    I-GTK 3.96, ukukhutshwa kovavanyo lwe-GTK 4, epapashwe

  • Ngokupheleleyo ibhalwe ngokutsha I-backend ye-Broadway GDK eyilelwe ukunika imveliso yethala leencwadi le-GTK kwifestile yesikhangeli sewebhu. Ukuphunyezwa kwe-Broadway endala akuzange kungene kwiindlela zonikezelo ezicetywayo kwi-GTK 4 (endaweni yokukhutshwa kwi-buffer, ngoku isebenzisa imodeli esekelwe kwiinodi zokunikezela, apho imveliso iqulunqwe ngendlela yomthi wezinga eliphezulu lemisebenzi, iqhutywe ngokufanelekileyo yiGPU isebenzisa i-OpenGL kunye neVulkan).
    Inketho entsha ye-Broadway iguqula i-nodes inikezela kwiindawo ze-DOM ezinezitayile ze-CSS zokunikezela ujongano kwisikhangeli. Isimo ngasinye sesikrini esitsha sicutshungulwa njengotshintsho kumthi we-DOM ngokunxulumene nemeko yangaphambili, enciphisa ubungakanani bedatha edluliselwe kumxhasi okude. Ukuguqulwa kwe-3D kunye neziphumo zegraphic ziphunyezwa ngepropathi yokuguqula i-CSS;

  • I-GDK iyaqhubeka nokuphumeza ii-APIs eziyilwe nge-Wayland protocol engqondweni, kwaye icoce i-X11-based APIs okanye ihambise kwi-backend ye-X11 eyahlukileyo. Kukho inkqubela kumsebenzi wokushenxa ekusetyenzisweni komphezulu womntwana kunye nolungelelwaniso lwehlabathi. Inkxaso ye-GDK_SURFACE_SUBSURFACE isusiwe kwi-GDK;
  • Ukuhlengahlengiswa kwekhowudi eyayanyaniswa nokwenza imisebenzi yotsalo-uyilahla iqhubekile, kuquka nezinto ezicetywayo ezahlukeneyo ze-GdkDrag kunye ne-GdkDrop;
  • Ukuphathwa komsitho kwenziwe lula kwaye ngoku kusetyenziselwa igalelo kuphela. Iziganeko eziseleyo zitshintshwa ngemiqondiso eyahlukileyo, umzekelo, endaweni yeziganeko zemveliso, isignali “GdkSurface::render” iyacetywa, endaweni yeziganeko zoqwalaselo - “GdkSurface::ubungakanani-tshintshwe”, endaweni yeziganeko zemephu - “GdkSurface: :mapped”, endaweni ye gdk_event_handler_set() - "GdkSurface::event";
  • I-backend ye-GDK ye-Wayland yongeze inkxaso ye-portal interface yokufikelela kwiisetingi ze-Gtk. Ukusebenza ngeendlela zokungenisa, inkxaso ye-text-input-unstable-v3 protocol extension iye yacetywa;
  • Kuphuhliso lwamawijethi, into entsha yeGtkLayoutManager yaziswa ngokuphunyezwa kwenkqubo yokulawula uyilo lweziqalelo ngokuxhomekeke kubume bendawo ebonakalayo. I-GtkLayoutManager ithatha indawo yeempawu zomntwana kwizikhongozeli ze-GTK ezifana ne-GtkBox kunye ne-GtkGrid. Kucetywa abaphathi abaliqela bebeko: IGtkBinLayout yezikhongozeli ezilula ezinento enye yomntwana, iGtkBoxLayout yezinto zomntwana ezilungelelaniswe ngokomgca, iGtkGridLayout yokulungelelanisa iziqalelo zomntwana kwigridi, iGtkFixedLayout yokubekwa ngokungenamkhethe kwezinto zomntwana, iGtkCustomalLayout yesayizi esekwe abaphathi;
  • Izinto ezifikelelekayo kuwonke-wonke zomboniso wephepha lezinto zomntwana zongezwe kwiwijethi yeGtkAssistant, GtkStack kunye neGtkNotebook, apho iimpawu zomntwana ezinganxulumananga noYilo kwezi widgets zikhutshelwa kuzo. Ekubeni zonke iipropati zomntwana ezikhoyo ziguqulelwe kwiipropati eziqhelekileyo, iipropati zoyilo, okanye zihanjiswe kwizinto zamaphepha, inkxaso yezakhiwo zabantwana isusiwe ngokupheleleyo kwi-GtkContainer;
  • Umsebenzi ongundoqo we-GtkEntry usiwe kwiwijethi entsha ye-GtkText, ekwaquka i-interface eyomeleziweyo yokuhlela ye-GtkEditable. Zonke iinkqutyana zongeniso lwedatha zenziwe ngokutsha njengophumezo lweGtkEditable ngokusekelwe kwiwijethi entsha yeGtkText;
  • Yongeza iwijethi entsha yeGtkPasswordEntry yeefomu zokungeniswa kwegama lokugqitha;
  • I-GtkWidgets yongeze isakhono sokuguqula izinto zomntwana kusetyenziswa iindlela zokuguqula ezichazwe ngeCSS okanye igtk_widget_allocate argument kwiGskTransform. Uphawu oluchaziweyo sele lusetyenziswa kwiwijethi yeGtkFixed;
  • Imifuziselo yoluhlu olutsha yongeziweyo yongeziwe: GtkMapListModel, GtkSliceListModel, GtkSortListModel, GtkSelectionModel kunye neGtkSingleSelection. Kwixesha elizayo siceba ukongeza inkxaso kwiimodeli zoluhlu kwiGtkListView;
  • I-GtkBuilder yongeze ukukwazi ukuseta iipropati zento ekuhlaleni (emlayini), endaweni yokusebenzisa amakhonkco ngesichongi;
  • Umyalelo owongeziweyo kwi-gtk4-umakhi-isixhobo sokuguqula iifayile ze-UI ukusuka kwi-GTK 3 ukuya kwi-GTK 4;
  • Inkxaso kwimixholo ephambili, iimenyu zetheyibhile, kunye neebhokisi ze-combo ziyekiwe. Iwijethi yeGtkInvisible isusiwe.

    umthombo: opennet.ru

Yongeza izimvo