GTK 3.96, tokollo ea liteko ea GTK 4, e hatisitsoeng

Likhoeli tse 10 ka mor'a moo tsa nako e fetileng tokollo ya teko hlahisoa GTK 3.96, tokollo e ncha ea liteko ea tokollo e tlang e tsitsitseng ea GTK 4. Lekala la GTK 4 le ntse le ntlafatsoa e le karolo ea ts'ebetso e ncha ea nts'etsopele e lekang ho fa baetsi ba likopo API e tsitsitseng le e ts'ehelitsoeng ka lilemo tse 'maloa e ka sebelisoang ntle le tšabo. ea ho tlameha ho ngola kopo hape likhoeling tse ling le tse ling tse tšeletseng ka lebaka la ho fetola API lekaleng le latelang la GTK. Ho fihlela GTK 4 e tsitsitse ka botlalo, ho khothaletsoa hore lits'ebetso tse fuoang basebelisi li tsoelepele ho hahuoa ho sebelisoa lekala. GTK 3.24.

ka sehloohong fetola ho GTK 3.96:

  • Ho API GSK (GTK Scene Kit), e fanang ka tlhahiso ea litšoantšo tse hlakileng ka OpenGL le Vulkan, mosebetsi o entsoe ka liphoso, tse seng li le bonolo ho li tseba ka sesebelisoa se secha sa gtk4-node-editor, se u lumellang ho kenya le ho bonts'a ho fana ka node ka sebopeho sa serialized (e ka bolokoa ka mokhoa oa ho hlahloba mohlahlobi oa GTK), hape e bapise liphetho tsa ho fana ha u sebelisa li-backend tse fapaneng;

    GTK 3.96, tokollo ea liteko ea GTK 4, e hatisitsoeng

  • Bokhoni ba phetoho ea 3D bo tlisitsoe boemong bo u lumellang hore u thehe litlamorao tsa animation joalo ka cube e potolohang;

    GTK 3.96, tokollo ea liteko ea GTK 4, e hatisitsoeng

  • Ka ho feletseng ngoloa bocha Broadway GDK backend e etselitsoeng ho fana ka tlhahiso ea laeborari ea GTK ka fensetere ea sebatli sa webo. Ts'ebetsong ea khale ea Broadway e ne e sa lumellane le mekhoa ea ho fana e hlahisitsoeng ho GTK 4 (ho e-na le tlhahiso ho buffer, hona joale e sebelisa mohlala o thehiloeng ho li-node, moo tlhahiso e entsoeng ka mokhoa oa sefate sa ts'ebetso ea boemo bo phahameng, e sebetsa hantle ke GPU e sebelisang OpenGL le Vulkan).
    Khetho e ncha ea Broadway e fetolela li-node ho li-node tsa DOM tse nang le mekhoa ea CSS bakeng sa ho fana ka sebopeho ho sebatli. Sebaka se seng le se seng se secha sa skrine se sebetsoa e le phetoho sefateng sa DOM se amanang le boemo bo fetileng, e leng se fokotsang boholo ba data e fetisetsoang ho mofani oa hole. Liphetoho tsa 3D le litlamorao tsa litšoantšo li kengoa ts'ebetsong ka thepa ea phetoho ea CSS;

  • GDK e ntse e tsoela pele ho kenya ts'ebetsong li-API tse entsoeng ho nahanoa ka protocol ea Wayland, le ho hloekisa li-API tse thehiloeng ho X11 kapa ho li isa karolong e ka thōko ea X11. Ho na le tsoelo-pele mosebetsing oa ho suthela hole le ts'ebeliso ea libaka tsa bana le likhokahano tsa lefats'e. Tšehetso ea GDK_SURFACE_SUBSURFACE e tlositsoe ho GDK;
  • Phetoho e ncha ea khoutu e amanang le ho etsa ts'ebetso ea Hula-le-Drop e ile ea tsoela pele, ho kenyelletsa le lintho tse reriloeng tse arohaneng tsa GdkDrag le GdkDrop;
  • Ts'ebetso ea liketsahalo e nolofalitsoe 'me e se e sebelisoa feela bakeng sa ho kenya letsoho. Liketsahalo tse setseng li nkeloa sebaka ke matšoao a arohaneng, mohlala, sebakeng sa liketsahalo tse hlahisoang, ho hlahisoa lets'oao "GdkSurface::render", sebakeng sa liketsahalo tsa tlhophiso - "GdkSurface::size-changed", sebakeng sa liketsahalo tsa 'mapa - "GdkSurface: :mapped”, sebakeng sa gdk_event_handler_set() - "GdkSurface:: ketsahalo";
  • GDK backend bakeng sa Wayland e kentse tšehetso bakeng sa sebopeho sa portal bakeng sa ho fihlella litlhophiso tsa GtkSettings. Ho sebetsa ka mekhoa ea ho kenya letsoho, ho khothalelitsoe tšehetso bakeng sa katoloso ea protocol ea text-input-unstable-v3;
  • Bakeng sa nts'etsopele ea li-widget, ntho e ncha ea GtkLayoutManager e hlahisoa ka ts'ebetsong ea mokhoa oa ho laola mokhoa oa ho hlophisa lintho ho itšetlehile ka sebopeho sa sebaka se bonahalang. GtkLayoutManager e nkela thepa sebaka sa bana ka har'a linkho tsa GTK tse kang GtkBox le GtkGrid. Ho entsoe tlhahiso ea balaoli ba 'maloa ba seng ba lokisitsoe: GtkBinLayout bakeng sa lijana tse bonolo tse nang le ntho e le 'ngoe ea ngoana, GtkBoxLayout bakeng sa likarolo tsa bana tse tsamaellanang, GtkGridLayout bakeng sa ho hokahanya likarolo tsa bana le grid, GtkFixedLayout bakeng sa maemo a sa tsitsang a likarolo tsa bana, GtkCustoming_layout ea boholo-holo bahlokomeli;
  • Lintho tse fihlellehang phatlalatsa bakeng sa pontšo ea leqephe la likarolo tsa bana li kentsoe ho liwidget tsa GtkAssistant, GtkStack le GtkNotebook, moo litšobotsi tsa bana tse sa amaneng le Layout tsa li-widget tsena li fetisetsoang ho tsona. Kaha thepa eohle e teng ea bana e fetotsoe hore e be thepa e tloaelehileng, thepa ea moralo, kapa e fetiselitsoe ho lintho tsa maqephe, tšehetso ea thepa ea bana e tlositsoe ka ho feletseng ho GtkContainer;
  • Ts'ebetso ea mantlha ea GtkEntry e falliselitsoe ho widget e ncha ea GtkText, e kenyeletsang sebopeho se ntlafalitsoeng sa GtkEditable. Likaroloana tsohle tse seng li ntse li le teng tsa ho kenya data li entsoe bocha e le ts'ebetsong ea GtkEditable ho ipapisitsoe le widget e ncha ea GtkText;
  • E kentse widget e ncha ea GtkPasswordEntry bakeng sa liforomo tsa ho kenya phasewete;
  • GtkWidgets e ekelitse bokhoni ba ho fetola likarolo tsa bana ho sebelisoa mekhoa ea ho fetola mela e boletsoeng ka CSS kapa gtk_widget_allocate argument ho GskTransform. Karolo e boletsoeng e se e sebelisitsoe ho widget ea GtkFixed;
  • Ho kentsoe mefuta e mecha ea tlhahiso ea lenane: GtkMapListModel, GtkSliceListModel, GtkSortListModel, GtkSelectionModel le GtkSingleSelection. Nakong e tlang re rera ho eketsa tšehetso bakeng sa mefuta ea lenane ho GtkListView;
  • GtkBuilder e ekelitse bokhoni ba ho beha thepa ea ntho sebakeng sa heno (inline), ho e-na le ho sebelisa lihokelo ka sekhetho;
  • Taelo e ekelitsoeng ho gtk4-builder-tool ho fetolela lifaele tsa UI ho tloha GTK 3 ho ea GTK 4;
  • Ts'ehetso ea litema tsa bohlokoa, limmapa tsa litafole, le mabokose a li-combo li emisitsoe. Widget ea GtkInvisible e tlositsoe.

    Source: opennet.ru

Eketsa ka tlhaloso