GTK 3.96, lage eksperimantal nan GTK 4, pibliye

10 mwa apre nan tan lontan an lage tès la prezante GTK 3.96, yon nouvo lage eksperimantal nan pwochen lage ki estab nan GTK 4. Branch GTK 4 la ap devlope kòm yon pati nan yon nouvo pwosesis devlopman ki eseye bay devlopè aplikasyon yo ak yon API ki estab ak sipòte pou plizyè ane ki ka itilize san yo pa pè a. nan oblije reekri aplikasyon an chak sis mwa akòz chanje API nan pwochen branch GTK la. Jiskaske GTK 4 konplètman estabilize, li rekòmande ke aplikasyon yo ofri bay itilizatè yo kontinye ap bati lè l sèvi avèk branch lan. GTK 3.24.

Prensipal la chanjman nan GTK 3.96:

  • Nan API GSK (GTK Scene Kit), ki bay rann sèn grafik atravè OpenGL ak Vulkan, travay yo te fèt sou erè, ki te vin pi fasil pou idantifye gras a nouvo zouti debogaj gtk4-node-editè, ki pèmèt ou chaje ak montre a. rann nœuds nan yon fòma seri (ka sove nan mòd enspeksyon GTK enspektè), epi tou konpare rezilta rann yo lè w ap itilize backend diferan;

    GTK 3.96, lage eksperimantal nan GTK 4, pibliye

  • Kapasite transfòmasyon 3D yo te pote nan yon nivo ki pèmèt ou kreye efè animasyon tankou yon kib wotasyon;

    GTK 3.96, lage eksperimantal nan GTK 4, pibliye

  • Konplètman reekri Broadway GDK backend ki fèt pou rann pwodiksyon bibliyotèk GTK nan yon fenèt navigatè entènèt. Ansyen aplikasyon Broadway la pa t 'anfòm nan metòd rann yo pwopoze nan GTK 4 (olye pou yo pwodiksyon nan yon tanpon, li kounye a itilize yon modèl ki baze sou rann nœuds, kote pwodiksyon an konpoze nan fòm lan nan yon pye bwa nan operasyon wo nivo, efikasman trete pa GPU lè l sèvi avèk OpenGL ak Vulkan).
    Nouvo opsyon Broadway la konvèti nœuds rann nan nœuds DOM ak estil CSS pou rann koòdone nan navigatè a. Chak eta nouvo ekran trete kòm yon chanjman nan pyebwa DOM an parapò ak eta anvan an, ki diminye gwosè done ki transmèt bay kliyan aleka a. Transfòmasyon 3D ak efè grafik yo aplike atravè pwopriyete transfòmasyon CSS la;

  • GDK kontinye aplike API ki fèt ak pwotokòl Wayland nan tèt ou, epi netwaye API ki baze sou X11 oswa deplase yo nan yon backend separe X11. Gen pwogrè nan travay la pou avanse pou pi lwen itilizasyon sifas timoun yo ak kowòdone mondyal yo. Yo retire sipò pou GDK_SURFACE_SUBSURFACE nan GDK;
  • Refactoring nan kòd ki asosye ak fè operasyon Drag-and-Drop kontinye, ki gen ladan yo pwopoze yo separe objè GdkDrag ak GdkDrop;
  • Manyen evènman yo te senplifye epi kounye a yo itilize sèlman pou opinyon. Evènman ki rete yo ranplase ak siyal separe, pou egzanp, olye pou yo evènman pwodiksyon, siyal la "GdkSurface::renn" pwopoze, olye pou yo evènman konfigirasyon - "GdkSurface::size-chanje", olye pou yo kat evènman - "GdkSurface: :mapped", olye de gdk_event_handler_set() - "GdkSurface::event";
  • Backend GDK pou Wayland te ajoute sipò pou yon koòdone pòtal pou jwenn aksè nan paramèt GtkSettings. Pou travay ak metòd opinyon, yo te pwopoze sipò pou ekstansyon pwotokòl text-input-instable-v3;
  • Pou devlopman nan widgets, yon nouvo objè GtkLayoutManager prezante ak aplikasyon an nan yon sistèm pou kontwole Layout nan eleman depann sou Layout nan zòn vizib la. GtkLayoutManager ranplase pwopriyete timoun nan resipyan GTK tankou GtkBox ak GtkGrid. Yo pwopoze plizyè manadjè layout pare yo: GtkBinLayout pou resipyan senp ki gen yon sèl eleman pitit, GtkBoxLayout pou eleman timoun ki aliye lineyèman, GtkGridLayout pou fè aliman eleman timoun yo nan yon kadriyaj, GtkFixedLayout pou pozisyon abitrè eleman timoun yo, GtkCustomLayout pou eleman tradisyonèl ki baze sou translating_allocate. moun k ap okipe;
  • Yo te ajoute objè ki aksesib piblikman pou ekspozisyon paj eleman timoun yo nan widgets GtkAssistant, GtkStack ak GtkNotebook, kote yo transfere pwopriyete timoun ki pa gen rapò ak Layout yo nan widget sa yo. Depi tout pwopriyete timoun ki egziste deja yo te konvèti nan pwopriyete regilye, pwopriyete layout, oswa deplase nan objè paj, sipò pou pwopriyete timoun yo te retire nèt nan GtkContainer;
  • Fonksyonalite debaz GtkEntry yo te deplase nan yon nouvo widget GtkText, ki gen ladan tou yon koòdone koreksyon GtkEditable amelyore. Tout subklas done ki egziste deja yo te refè kòm enplemantasyon GtkEditable ki baze sou nouvo widget GtkText la;
  • Te ajoute yon nouvo widget GtkPasswordEntry pou fòm antre modpas;
  • GtkWidgets te ajoute kapasite pou transfòme eleman timoun yo lè l sèvi avèk metòd transfòmasyon lineyè ki espesifye atravè CSS oswa agiman gtk_widget_allocate nan GskTransform. Karakteristik espesifye a deja aplike nan widget GtkFixed la;
  • Nouvo modèl jenerasyon lis yo te ajoute: GtkMapListModel, GtkSliceListModel, GtkSortListModel, GtkSelectionModel ak GtkSingleSelection. Nan tan kap vini an nou planifye ajoute sipò pou modèl lis nan GtkListView;
  • GtkBuilder te ajoute kapasite pou mete pwopriyete objè lokalman (inline), olye pou yo itilize lyen pa idantifyan;
  • Te ajoute lòd nan gtk4-builder-tool pou konvèti fichye UI soti nan GTK 3 a GTK 4;
  • Sipò pou tèm kle yo, meni tabul, ak bwat liste yo sispann. Widget GtkInvisible a te retire.

    Sous: opennet.ru

Add nouvo kòmantè