GTK 3.96, kutulutsidwa koyesera kwa GTK 4, lofalitsidwa

Miyezi 10 pambuyo pake zakale kuyesa kumasulidwa zoperekedwa GTK 3.96, kutulutsidwa kwatsopano koyesera kwa kutulutsidwa kokhazikika komwe kukubwera kwa GTK 4. Nthambi ya GTK 4 ikupangidwa ngati gawo lachitukuko chatsopano chomwe chimayesa kupatsa opanga mapulogalamu API yokhazikika komanso yothandizira kwa zaka zingapo zomwe zingagwiritsidwe ntchito popanda mantha. akuyenera kulembanso pulogalamuyo miyezi isanu ndi umodzi iliyonse chifukwa chosintha API munthambi yotsatira ya GTK. Mpaka GTK 4 itakhazikika bwino, tikulimbikitsidwa kuti mapulogalamu operekedwa kwa ogwiritsa ntchito apitilize kumangidwa pogwiritsa ntchito nthambi. GTK 3.24.

waukulu kusintha mu GTK 3.96:

  • Mu API GSK (GTK Scene Kit), yomwe imapereka mawonekedwe azithunzi kudzera pa OpenGL ndi Vulkan, ntchito yachitika pa zolakwika, zomwe zakhala zosavuta kuzizindikira chifukwa cha chida chatsopano chowongolera gtk4-node-editor, chomwe chimakupatsani mwayi wotsitsa ndikuwonetsa Kupereka node mu mawonekedwe osakanikirana (akhoza kusungidwa mumayendedwe owunikira a GTK), ndikufaniziranso zotsatira zoperekera mukamagwiritsa ntchito ma backend osiyanasiyana;

    GTK 3.96, kutulutsidwa koyesera kwa GTK 4, lofalitsidwa

  • Kuthekera kosintha kwa 3D kwabweretsedwa pamlingo womwe umakupatsani mwayi wopanga makanema ojambula monga kyubu yozungulira;

    GTK 3.96, kutulutsidwa koyesera kwa GTK 4, lofalitsidwa

  • Kwathunthu olembedwanso Broadway GDK backend idapangidwa kuti ipereke zotuluka za library ya GTK pazenera la msakatuli. Kukhazikitsa kwakale kwa Broadway sikunagwirizane ndi njira zoperekera zomwe zaperekedwa mu GTK 4 (m'malo mwa zotuluka ku buffer, tsopano zimagwiritsa ntchito chitsanzo chochokera ku ma node operekera, kumene zotulukazo zimapangidwira ngati mtengo wa ntchito zapamwamba, yokonzedwa bwino ndi GPU pogwiritsa ntchito OpenGL ndi Vulkan).
    Njira yatsopano ya Broadway imasintha ma node kukhala ma DOM node okhala ndi masitaelo a CSS popereka mawonekedwe mu msakatuli. Chigawo chilichonse chatsopano chazithunzi chimasinthidwa ngati kusintha kwa mtengo wa DOM wokhudzana ndi dziko lapitalo, zomwe zimachepetsa kukula kwa deta yomwe imaperekedwa kwa kasitomala akutali. Kusintha kwa 3D ndi zotsatira zazithunzi zimayendetsedwa kudzera mu CSS kusintha katundu;

  • GDK ikupitilizabe kugwiritsa ntchito ma API opangidwa ndi protocol ya Wayland m'malingaliro, ndikuyeretsa ma API ozikidwa pa X11 kapena kuwasunthira kumalo osiyana a X11. Pali kupita patsogolo kwa ntchito yosiya kugwiritsa ntchito malo a ana ndi ma coordinates apadziko lonse lapansi. Thandizo la GDK_SURFACE_SUBSURFACE lachotsedwa ku GDK;
  • Kusinthanso kachidindo kokhudzana ndi kuchita kukoka-ndi-kugwetsa kunapitilira, kuphatikiza zinthu zomwe zaperekedwa za GdkDrag ndi GdkDrop;
  • Kusamalira zochitika kwakhala kosavuta ndipo tsopano kumagwiritsidwa ntchito polowetsa. Zochitika zotsalazo zimasinthidwa ndi zizindikiro zosiyana, mwachitsanzo, m'malo mwa zochitika zotuluka, chizindikiro "GdkSurface::render" chikuperekedwa, m'malo mwa zochitika - "GdkSurface::size-changed", m'malo mojambula zochitika - "GdkSurface: :mapped”, m’malo mwa gdk_event_handler_set() - "GdkSurface::chochitika";
  • GDK backend ya Wayland yawonjezera chithandizo cha mawonekedwe a portal kuti mupeze zoikamo za GtkSettings. Kuti mugwiritse ntchito njira zolowera, kuthandizira kwa protocol-input-unstable-v3 protocol yaperekedwa;
  • Pakupanga ma widget, chinthu chatsopano cha GtkLayoutManager chimayambitsidwa ndikukhazikitsa dongosolo lowongolera masanjidwe azinthu kutengera masanjidwe a malo owoneka. GtkLayoutManager imalowa m'malo mwa zinthu za ana zomwe zili muzotengera za GTK monga GtkBox ndi GtkGrid. Oyang'anira masanjidwe angapo opangidwa okonzeka akufunsidwa: GtkBinLayout ya zotengera zosavuta zomwe zili ndi mwana mmodzi, GtkBoxLayout ya zinthu za ana zolumikizana mzere, GtkGridLayout yolumikiza zinthu za ana ku gridi, GtkFixedLayout yoyika zinthu za ana mosasamala, GtkCustomlalout ya chikhalidwe chotengera ogwira ntchito;
  • Zinthu zofikiridwa ndi anthu zowonetsera masamba a zinthu za ana zawonjezedwa ku ma widget a GtkAssistant, GtkStack ndi GtkNotebook, kumene zinthu za ana zomwe sizikugwirizana ndi Mapangidwe a zigawozi zimasamutsidwa. Popeza kuti zinthu zonse za ana zomwe zilipo zasinthidwa kukhala zokhazikika, mawonekedwe a masanjidwe, kapena kusunthidwa kuzinthu zamasamba, chithandizo cha katundu wa ana chachotsedwa kwathunthu ku GtkContainer;
  • Ntchito yayikulu ya GtkEntry yasunthidwa ku widget yatsopano ya GtkText, yomwe ilinso ndi mawonekedwe owongolera a GtkEditable. Magawo ang'onoang'ono a data omwe alipo akonzedwanso kuti akhazikitse GtkEditable kutengera widget yatsopano ya GtkText;
  • Onjezani widget yatsopano ya GtkPasswordEntry ya mafomu olowera mawu achinsinsi;
  • GtkWidgets yawonjezera kuthekera kosintha zinthu za ana pogwiritsa ntchito njira zosinthira mizera zomwe zafotokozedwa kudzera pa CSS kapena gtk_widget_allocate mkangano ku GskTransform. Zomwe zafotokozedwa zagwiritsidwa kale mu widget ya GtkFixed;
  • Mitundu yatsopano ya mndandanda wawonjezedwa: GtkMapListModel, GtkSliceListModel, GtkSortListModel, GtkSelectionModel ndi GtkSingleSelection. M'tsogolomu tikukonzekera kuwonjezera thandizo la mndandanda wamitundu ku GtkListView;
  • GtkBuilder yawonjezera kuthekera kokhazikitsa katundu mdera lanu (inline), m'malo mogwiritsa ntchito maulalo ndi chizindikiritso;
  • Lamulo lowonjezera ku gtk4-builder-Tool kuti musinthe mafayilo a UI kuchokera ku GTK 3 kupita ku GTK 4;
  • Kuthandizira mitu yayikulu, ma tabular, ndi mabokosi a combo kwathetsedwa. Widget ya GtkInvisible yachotsedwa.

    Source: opennet.ru

Kuwonjezera ndemanga