GTK 3.96, hoʻokuʻu hoʻokolohua o GTK 4, paʻi ʻia

10 mahina ma hope o ka wa i hala hoʻokuʻu hoʻāʻo hōʻike ʻia GTK 3.96, he hoʻokuʻu hoʻokolohua hou o ka hoʻokuʻu paʻa e hiki mai ana o GTK 4. Ke kūkuluʻia nei ka lālā GTK 4 ma keʻano he māhele o kahi kaʻina hana hoʻomohala hou e ho'āʻo ana e hāʻawi i nā mea hoʻomohala noi i kahi API paʻa a kākoʻoʻia no nā makahiki he nui e hiki ke hoʻohana me ka hopohopoʻole. no ke kākau hou ʻana i ka palapala noi i kēlā me kēia ʻeono mahina ma muli o ka hoʻololi ʻana i ka API ma ka lālā GTK e hiki mai ana. A hiki i ka GTK 4 paʻa paʻa ʻia, ʻōlelo ʻia e hoʻomau ʻia nā noi i hāʻawi ʻia i nā mea hoʻohana me ka hoʻohana ʻana i ka lālā. GTK 3.24.

ka papa kuhikuhiE ke hoʻololi ma GTK 3.96:

  • I ka API GSK (GTK Scene Kit), e hāʻawi ana i ka hoʻololi ʻana i nā hiʻohiʻona kiʻi ma o OpenGL a me Vulkan, ua hana ʻia ka hana ma nā hewa, a ua maʻalahi ka ʻike ʻana i ka mahalo i ka mea hana debugging hou gtk4-node-editor, hiki iā ʻoe ke hoʻouka a hōʻike i ka ka hāʻawi ʻana i ka node i kahi ʻano serialized (hiki ke mālama ʻia ma ke ʻano nānā nānā GTK inspector), a hoʻohālikelike pū i nā hopena i ka wā e hoʻohana ai i nā hope ʻokoʻa;

    GTK 3.96, hoʻokuʻu hoʻokolohua o GTK 4, paʻi ʻia

  • Ua lawe ʻia nā mana hoʻololi 3D i kahi pae e hiki ai iā ʻoe ke hana i nā hopena animation e like me ka rotating cube;

    GTK 3.96, hoʻokuʻu hoʻokolohua o GTK 4, paʻi ʻia

  • Pau kākau hou ʻia Ua hoʻolālā ʻia ka backend Broadway GDK e hāʻawi i ka puka waihona puke GTK ma kahi puka aniani pūnaewele. ʻAʻole i kūpono ka hoʻokō Broadway kahiko i nā ʻano hana i manaʻo ʻia ma GTK 4 (ma kahi o ka hoʻopuka ʻana i kahi buffer, ke hoʻohana nei ia i kahi kumu hoʻohālike e pili ana i nā nodes render, kahi i haku ʻia ai ka hopena ma ke ʻano o ka lāʻau o nā hana kiʻekiʻe. hana maikaʻi ʻia e ka GPU me ka hoʻohana ʻana iā OpenGL a me Vulkan).
    ʻO ka koho Broadway hou e hoʻololi i nā nodes i loko o nā node DOM me nā ʻano CSS no ka hoʻolilo ʻana i ka interface ma ka polokalamu kele pūnaewele. Hana ʻia kēlā me kēia mokuʻāina pale hou e like me ka hoʻololi ʻana i ka lāʻau DOM e pili ana i ka mokuʻāina mua, e hōʻemi ana i ka nui o ka ʻikepili i hoʻouna ʻia i ka mea kūʻai mamao. Hoʻokō ʻia nā hoʻololi 3D a me nā hopena kiʻi ma o ka waiwai hoʻololi CSS;

  • Ke hoʻomau nei ʻo GDK i ka hoʻokō ʻana i nā API i hoʻolālā ʻia me ka protocol Wayland i ka noʻonoʻo, a hoʻomaʻemaʻe i nā API i hoʻokumu ʻia X11 a i ʻole e hoʻoneʻe iā lākou i kahi backend X11 ʻokoʻa. Loaʻa ka holomua i ka hana e neʻe aku mai ka hoʻohana ʻana i nā papa keiki a me nā hoʻonohonoho honua. Ua wehe ʻia ke kākoʻo no GDK_SURFACE_SUBSURFACE mai GDK;
  • Hoʻomau ʻia ka hana hou ʻana i ke code e pili ana i ka hana Drag-and-Drop, me nā mea GdkDrag a me GdkDrop i manaʻo ʻia;
  • Ua maʻalahi ka lawelawe ʻana i nā hanana a ua hoʻohana ʻia i kēia manawa no ka hoʻokomo wale ʻana. Hoʻololi ʻia nā hanana i koe me nā hōʻailona ʻokoʻa, no ka laʻana, ma kahi o nā hanana hoʻopuka, ua manaʻo ʻia ka hōʻailona "GdkSurface::render", ma kahi o nā hanana hoʻonohonoho - "GdkSurface:: hoʻololi nui", ma kahi o nā hanana palapala ʻāina - "GdkSurface: : mapped”, ma kahi o gdk_event_handler_set() - "GdkSurface::event";
  • Ua hoʻohui ka GDK backend no Wayland i ke kākoʻo no kahi kikowaena puka no ke komo ʻana i nā hoʻonohonoho GtkSettings. No ka hana ʻana me nā ʻano hoʻokomo, kākoʻo ʻia ke kākoʻo no ka hoʻonui protocol text-input-unstable-v3;
  • No ka hoʻomohala ʻana i nā widget, ua hoʻokomo ʻia kahi mea GtkLayoutManager hou me ka hoʻokō ʻana i kahi ʻōnaehana no ka hoʻomalu ʻana i ka hoʻonohonoho ʻana o nā mea e pili ana i ke ʻano o ka wahi i ʻike ʻia. Hoʻololi ʻo GtkLayoutManager i nā waiwai keiki ma nā pahu GTK e like me GtkBox a me GtkGrid. Manaʻo ʻia kekahi mau mana hoʻonohonoho i hoʻomākaukau ʻia: GtkBinLayout no nā ipu maʻalahi me hoʻokahi mea keiki, GtkBoxLayout no nā mea keiki i hoʻonohonoho pono ʻia, GtkGridLayout no ka hoʻolike ʻana i nā mea keiki i ka mākia, GtkFixedLayout no ka hoʻonoho ʻana i nā mea keiki, GtkCustomLayout e pili ana i ka unuhi ʻana. nā mea lawelawe;
  • Ua hoʻohui ʻia nā mea hiki i ka lehulehu no ka hōʻike ʻana i ka ʻaoʻao o nā mea keiki i nā widget GtkAssistant, GtkStack a me GtkNotebook, kahi e hoʻoili ʻia ai nā waiwai keiki pili ʻole i ka Layout o kēia mau widget. No ka mea ua hoʻololi ʻia nā waiwai keiki e noho nei i nā waiwai maʻamau, nā waiwai hoʻolālā, a i ʻole i neʻe ʻia i nā mea ʻaoʻao, ua hoʻopau loa ʻia ke kākoʻo no nā waiwai keiki mai GtkContainer;
  • Ua hoʻoneʻe ʻia ka hana koʻikoʻi GtkEntry i kahi hāmeʻa GtkText hou, aia pū kekahi me kahi hoʻoponopono hoʻoponopono GtkEditable i hoʻonui ʻia. Ua hana hou ʻia nā subclasses hoʻokomo ʻikepili āpau e like me nā hoʻokō GtkEditable e pili ana i ka widget GtkText hou;
  • Hoʻohui i kahi widget GtkPasswordEntry hou no nā palapala hoʻokomo ʻōlelo huna;
  • Ua hoʻohui ʻo GtkWidgets i ka hiki ke hoʻololi i nā mea keiki me ka hoʻohana ʻana i nā ʻano hoʻololi laina i kuhikuhi ʻia ma o CSS a i ʻole ka gtk_widget_allocate hoʻopaʻapaʻa iā GskTransform. Ua hoʻohana ʻia ka hiʻohiʻona i ʻōlelo ʻia ma ka widget GtkFixed;
  • Ua hoʻohui ʻia nā hiʻohiʻona hanauna papa inoa hou: GtkMapListModel, GtkSliceListModel, GtkSortListModel, GtkSelectionModel a me GtkSingleSelection. I ka wā e hiki mai ana mākou e hoʻolālā e hoʻohui i ke kākoʻo no nā hiʻohiʻona papa inoa iā GtkListView;
  • Ua hoʻohui ʻo GtkBuilder i ka hiki ke hoʻonohonoho i nā waiwai mea ma ka ʻāina (inline), ma kahi o ka hoʻohana ʻana i nā loulou e ka mea ʻike;
  • Hoʻohui i ke kauoha i gtk4-builder-tool e hoʻololi i nā faila UI mai GTK 3 a i GTK 4;
  • Ua hoʻopau ʻia ke kākoʻo no nā kumuhana koʻikoʻi, nā papa kuhikuhi papa, a me nā pahu combo. Ua wehe ʻia ka widget GtkInvisible.

    Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka