GTK 3.96, kuyedza kuburitswa kweGTK 4, yakaburitswa

10 mwedzi mushure yekare test release yakaunzwa GTK 3.96, mutsva wekuedza kuburitswa kwekuuya kwakasimba kuburitswa kweGTK 4. Bazi reGTK 4 riri kuvandudzwa sechikamu chehurongwa hutsva hwekuvandudza hunoedza kupa vanogadzira maapplication API yakagadzikana uye inotsigirwa kwemakore akati wandei inogona kushandiswa pasina kutya. yekunyorazve kunyorera mwedzi mitanhatu yega yega nekuda kwekuchinja API mubazi rinotevera reGTK. Kusvikira GTK 4 yanyatsogadzikana, zvinokurudzirwa kuti zvikumbiro zvinopihwa kune vashandisi zvirambe zvichivakwa pachishandiswa bazi. GTK 3.24.

chikuru change muGTK 3.96:

  • Mune API GSK (GTK Scene Kit), iyo inopa kupihwa kwemifananidzo yemifananidzo kuburikidza neOpenGL neVulkan, basa rakaitwa pane zvikanganiso, izvo zvave nyore kuziva kuvonga kune nyowani debugging chishandiso gtk4-node-editor, iyo inokutendera iwe kurodha uye kuratidza kupa node mune serialized fomati (inogona kuchengetwa mukutarisa modhi GTK inspector), uye zvakare enzanisa mhedzisiro yekupa kana uchishandisa akasiyana backend;

    GTK 3.96, kuyedza kuburitswa kweGTK 4, yakaburitswa

  • 3D shanduko yekugona yakaunzwa kune imwe nhanho inobvumidza iwe kugadzira animation mhedzisiro senge cube inotenderera;

    GTK 3.96, kuyedza kuburitswa kweGTK 4, yakaburitswa

  • Zvizere yakanyorwazve Broadway GDK backend yakagadzirirwa kupa GTK raibhurari kubuda muwebhu browser hwindo. Iyo yekare Broadway kuitiswa haina kukwana munzira dzekupa dzakatsanangurwa muGTK 4 (panzvimbo yekubuda kune buffer, ikozvino inoshandisa modhi yakavakirwa pakupa node, uko kuburitsa kunoumbwa muchimiro chemuti wepamusoro-level mashandiro, zvakagadziriswa neGPU uchishandisa OpenGL uye Vulkan).
    Iyo itsva Broadway sarudzo inoshandura inopa node muDOM node neCSS masitayipi ekupa iyo interface mubrowser. Imwe neimwe nyowani skrini inogadziriswa seshanduko mumuti weDOM inoenderana neyakapfuura nyika, iyo inoderedza saizi yedata inopfuudzwa kune kure mutengi. 3D shanduko uye graphic mhedzisiro inoshandiswa kuburikidza neCSS shanduko pfuma;

  • GDK inoenderera mberi nekushandisa maAPI akagadzirwa neWayland protocol mupfungwa, uye kuchenesa X11-based APIs kana kuaendesa kune yakaparadzana X11 backend. Pane kufambira mberi mubasa rekuenda kure nekushandiswa kwepamusoro pevana uye pasi rose coordinates. Tsigiro yeGDK_SURFACE_SUBSURFACE yabviswa muGDK;
  • Kudzokororwa kwekodhi ine chekuita nekuita mabasa ekuzvuzvurudza nekudonhedza kwakaenderera mberi, kusanganisira zvakarongwa zvakasiyana zveGdkDrag neGdkDrop zvinhu;
  • Mabatirwo ezviitiko akarerutswa uye ave kushandiswa kungoisa chete. Zviitiko zvasara zvinotsiviwa nezviratidzo zvakaparadzana, semuenzaniso, pachinzvimbo chezviitiko zvinobuda, chiratidzo che "GdkSurface::render" chinokurudzirwa, pachinzvimbo chezviitiko zvekugadzirisa - "GdkSurface::saizi-yakachinjwa", pachinzvimbo chemepu zviitiko - "GdkSurface: :mapped”, pachinzvimbo che gdk_event_handler_set() - "GdkSurface::chiitiko";
  • Iyo GDK yekumashure yeWayland yakawedzera rutsigiro rwe portal interface yekuwana GtkSettings marongero. Kuti ushande nemaitiro ekuisa, tsigiro yezvinyorwa-inopinza-isina kugadzikana-v3 protocol yekuwedzera yakatsanangurwa;
  • Nekuvandudza majeti, chinhu chitsva cheGtkLayoutManager chinounzwa nekushandiswa kwehurongwa hwekudzora marongerwo ezvinhu zvichienderana nekurongeka kwenzvimbo inoonekwa. GtkLayoutManager inotsiva zvivakwa zvevana mumidziyo yeGTK yakadai seGtkBox neGtkGrid. Mamaneja akati wandei akagadzirwa akagadzirwa anokurudzirwa: GtkBinLayout yemidziyo yakapfava ine chinhu chimwe chete chemwana, GtkBoxLayout yezvimiro zvevana zvine mutsara, GtkGridLayout yekubatanidza zvinhu zvevana kugridi, GtkFixedLayout yekumisikidza zvisina tsarukano yezvinhu zvemwana, GtkCustomlayotemesheni yechinyakare inoenderana nehukuru hwezvinhu. handlers;
  • Zvinhu zvinosvikika kuruzhinji zvemapeji ekuratidzwa kwezvinhu zvevana zvawedzerwa kune mawijiti eGtkAssistant, GtkStack neGtkNotebook, uko kunoendeswa zvimiro zvevana zvisingaenderane neLayout zvewijeti idzi. Sezvo zvinhu zvese zviripo zvevana zvakashandurwa kuita zvivakwa zvenguva dzose, zvimiro zvemarongero, kana kutamirwa kune zvinhu zvepeji, rutsigiro rwezvivakwa zvevana rwakabviswa zvachose kubva kuGtkContainer;
  • Iko musimboti wekuita kweGtkEntry kwaendeswa kune itsva GtkText widget, iyo inosanganisirawo yakagadziridzwa GtkEditable editing interface. Ese aripo madiki ekuisa data akagadziridzwa seGtkEditable mashandisirwo zvichienderana neiyo GtkText widget itsva;
  • Yakawedzera itsva GtkPasswordEntry widget yemafomu ekupinda password;
  • GtkWidgets yakawedzera kugona kushandura zvinhu zvevana vachishandisa mitsetse yekushandura nzira dzakatsanangurwa kuburikidza neCSS kana gtk_widget_allocate nharo kuGskTransform. Chimiro chakataurwa chatoshandiswa muGtkFixed widget;
  • Marudzi matsva emarudzi emhando akawedzerwa: GtkMapListModel, GtkSliceListModel, GtkSortListModel, GtkSelectionModel uye GtkSingleSelection. Mune ramangwana tinoronga kuwedzera rutsigiro rwemhando dzemhando kuGtkListView;
  • GtkBuilder yakawedzera kugona kuseta zvivakwa munzvimbo (inline), pachinzvimbo chekushandisa zvinongedzo nechiziviso;
  • Yakawedzera murairo kune gtk4-muvaki-chishandiso chekushandura mafaira eUI kubva kuGTK 3 kuenda kuGTK 4;
  • Tsigiro yezvinyorwa zvakakosha, mamenu etabular, uye combo mabhokisi akamiswa. Iyo GtkInvisible widget yabviswa.

    Source: opennet.ru

Voeg