GTK 3.96, нашри таҷрибавии GTK 4, нашр шуд

10 моҳ пас аз гузашта барориши санҷиш пешниҳод карда мешавад GTK 3.96, версияи нави таҷрибавии нашри устувори дарпешистодаи GTK 4. Филиали GTK 4 ҳамчун як қисми раванди нави рушд таҳия карда мешавад, ки кӯшиш мекунад таҳиягарони барномаро бо API устувор ва дастгирӣшаванда барои чанд сол таъмин кунад, ки онро бидуни тарс истифода бурдан мумкин аст. бо сабаби тағир додани API дар филиали навбатии GTK бояд ҳар шаш моҳ аризаро аз нав нависед. То он даме, ки GTK 4 пурра мӯътадил нашавад, тавсия дода мешавад, ки замимаҳои ба корбарон пешниҳодшударо бо истифода аз филиал идома диҳанд. GTK 3.24.

асосӣ тағйирдиҳӣ дар GTK 3.96:

  • Дар API ГКК (GTK Scene Kit), ки намоиши саҳнаҳои графикиро тавассути OpenGL ва Vulkan таъмин мекунад, корҳо оид ба хатогиҳо анҷом дода шуданд, ки ба шарофати абзори нави ислоҳи gtk4-node-editor, ки ба шумо имкон медиҳад, ки файлро бор кунед ва намоиш диҳед. рендеринги гиреҳ дар формати сериализатсияшуда (мумкин аст дар ҳолати санҷиши GTK инспектор захира карда шавад) ва инчунин муқоисаи натиҷаҳои намоиш ҳангоми истифодаи ақибмондаҳои гуногун;

    GTK 3.96, нашри таҷрибавии GTK 4, нашр шуд

  • Имкониятҳои табдилдиҳии 3D ба дараҷае расонида шуданд, ки ба шумо имкон медиҳад эффектҳои аниматсия ба монанди куби даврзананда эҷод кунед;

    GTK 3.96, нашри таҷрибавии GTK 4, нашр шуд

  • Бештар аз нав навишта шудааст Бозгашти Broadway GDK барои пешниҳоди баромади китобхонаи GTK дар равзанаи браузери веб тарҳрезӣ шудааст. Татбиқи кӯҳнаи Broadway ба усулҳои пешниҳоди дар GTK 4 пешниҳодшуда мувофиқат намекард (ба ҷои баромад ба буфер, ҳоло он моделеро истифода мебарад, ки дар асоси гиреҳҳои намоишӣ, ки натиҷа дар шакли дарахти амалиётҳои сатҳи баланд иборат аст, аз ҷониби GPU бо истифода аз OpenGL ва Vulkan самаранок коркард карда мешавад).
    Варианти нави Broadway гиреҳҳои редериро ба гиреҳҳои DOM бо услубҳои CSS барои намоиш додани интерфейс дар браузер табдил медиҳад. Ҳар як ҳолати нави экран ҳамчун тағирот дар дарахти DOM нисбат ба ҳолати қаблӣ коркард карда мешавад, ки андозаи маълумотро ба муштарии дурдаст коҳиш медиҳад. Тағиротҳои 3D ва эффектҳои графикӣ тавассути амволи табдилдиҳии CSS амалӣ карда мешаванд;

  • GDK татбиқи API-ҳои бо дарназардошти протоколи Wayland тарҳрезӣшударо идома медиҳад ва API-ҳои асоси X11-ро тоза кунед ё онҳоро ба пуштибонии алоҳидаи X11 интиқол диҳед. Дар кори дур шудан аз истифодаи сатҳҳои кӯдакона ва координатҳои глобалӣ пешравӣ дида мешавад. Дастгирии GDK_SURFACE_SUBSURFACE аз GDK хориҷ карда шуд;
  • Рефакторинги коди марбут ба иҷрои амалиёти Кашолакунӣ, аз ҷумла объектҳои алоҳидаи пешниҳодшудаи GdkDrag ва GdkDrop идома ёфт;
  • Коркарди рӯйдодҳо содда карда шудааст ва ҳоло танҳо барои вуруд истифода мешавад. Ҳодисаҳои боқимонда бо сигналҳои алоҳида иваз карда мешаванд, масалан, ба ҷои ҳодисаҳои баромад, сигнали "GdkSurface::render" пешниҳод карда мешавад, ба ҷои ҳодисаҳои конфигуратсия - "GdkSurface:: size-changed", ба ҷои ҳодисаҳои харитасозӣ - "GdkSurface: :mapped”, ба ҷои gdk_event_handler_set() - "GdkSurface::event";
  • Бозгашти GDK барои Wayland дастгирии интерфейси порталро барои дастрасӣ ба танзимоти GtkSettings илова кардааст. Барои кор бо усулҳои вуруд, дастгирии тамдиди протоколи матн-input-nostable-v3 пешниҳод шудааст;
  • Барои таҳияи виджетҳо объекти нави GtkLayoutManager бо татбиқи системаи идоракунии тарҳбандии элементҳо вобаста ба тарҳбандии майдони намоён ҷорӣ карда мешавад. GtkLayoutManager хосиятҳои кӯдакро дар контейнерҳои GTK ба монанди GtkBox ва GtkGrid иваз мекунад. Якчанд менеҷерҳои тарҳбандии тайёр пешниҳод карда мешаванд: GtkBinLayout барои контейнерҳои оддӣ бо як унсури кӯдак, GtkBoxLayout барои унсурҳои кӯдаки ба таври хаттӣ мувофиқшуда, GtkGridLayout барои мувофиқ кардани унсурҳои кӯдак ба шабака, GtkFixedLayout барои ҷойгиркунии худсаронаи унсурҳои кӯдак дар асоси translatustomLayout, GtkFixedLayout коркардкунандагон;
  • Ба виджетҳои GtkAssistant, GtkStack ва GtkNotebook объектҳои дастраси оммавӣ барои намоиши саҳифаи унсурҳои кӯдак илова карда шуданд, ки ба онҳо хосиятҳои кӯдаконаи ба Тарҳ алоқаманд нестанд, ки ин виджетҳо интиқол дода мешаванд. Азбаски ҳамаи хосиятҳои кӯдаки мавҷуда ба хосиятҳои муқаррарӣ, хосиятҳои тарҳрезӣ табдил ё ба объектҳои саҳифа кӯчонида шудаанд, дастгирии хосиятҳои кӯдак аз GtkContainer комилан хориҷ карда шудааст;
  • Функсияи асосии GtkEntry ба виҷети нави GtkText интиқол дода шуд, ки он инчунин интерфейси таҳрири мукаммали GtkEditable-ро дар бар мегирад. Ҳама зерсинфҳои мавҷудаи вуруди додаҳо ҳамчун татбиқи GtkEditable дар асоси виҷети нави GtkText аз нав сохта шудаанд;
  • Виҷети нави GtkPasswordEntry барои шаклҳои вуруди парол илова карда шуд;
  • GtkWidgets қобилияти табдил додани унсурҳои кӯдакро бо истифода аз усулҳои табдилдиҳии хаттии тавассути CSS ё аргументи gtk_widget_allocate ба GskTransform илова кардааст. Хусусияти муайяншуда аллакай дар виҷети GtkFixed истифода шудааст;
  • Моделҳои нави насли рӯйхат илова карда шуданд: GtkMapListModel, GtkSliceListModel, GtkSortListModel, GtkSelectionModel ва GtkSingleSelection. Дар оянда мо нақша дорем, ки дастгирии моделҳои рӯйхатро ба GtkListView илова кунем;
  • GtkBuilder ба ҷои истифодаи истинодҳо аз рӯи идентификатор қобилияти муқаррар кардани хосиятҳои объектро ба таври маҳаллӣ (дар сатр) илова кардааст;
  • Фармони иловашуда ба gtk4-builder-tool барои табдил додани файлҳои UI аз GTK 3 ба GTK 4;
  • Дастгирии мавзӯъҳои асосӣ, менюҳои ҷадвалӣ ва қуттиҳои комбо қатъ карда шуд. Виҷети GtkInvisible хориҷ карда шуд.

    Манбаъ: opennet.ru

Илова Эзоҳ