GTK 3.96, sékrési ékspérimén GTK 4, diterbitkeun

10 bulan sanggeus jaman baheula release tés ditepikeun GTK 3.96, Pelepasan ékspérimén anyar tina sékrési stabil GTK 4 anu bakal datang. Cabang GTK 4 nuju dikembangkeun salaku bagian tina prosés pamekaran énggal anu nyobian nyayogikeun pamekar aplikasi sareng API anu stabil sareng didukung salami sababaraha taun anu tiasa dianggo tanpa sieun. kudu nulis ulang aplikasi unggal genep bulan alatan ngarobah API dina cabang GTK salajengna. Dugi ka GTK 4 distabilkeun sapinuhna, disarankeun yén aplikasi anu ditawarkeun ka pangguna terus diwangun nganggo cabang. GTK 3.24.

utama parobahan dina GTK 3.96:

  • Dina API GSK (GTK Adegan Kit), nu nyadiakeun rendering pamandangan grafik via OpenGL na Vulkan, karya geus dipigawé dina kasalahan, nu geus jadi gampang pikeun ngaidentipikasi berkat alat debugging anyar gtk4-node-editor, nu ngidinan Anjeun pikeun muka tur mintonkeun titik Rendering dina format serialized (bisa disimpen dina modeu inspeksi GTK inspektur), sarta ogé ngabandingkeun hasil Rendering lamun ngagunakeun backends béda;

    GTK 3.96, sékrési ékspérimén GTK 4, diterbitkeun

  • Kamampuhan transformasi 3D parantos dibawa ka tingkat anu ngamungkinkeun anjeun nyiptakeun épék animasi sapertos kubus puteran;

    GTK 3.96, sékrési ékspérimén GTK 4, diterbitkeun

  • pinuh ditulis deui Broadway GDK backend dirancang pikeun ngahasilkeun kaluaran perpustakaan GTK dina jandela browser wéb. Palaksanaan Broadway heubeul teu cocog kana métode rendering diusulkeun dina GTK 4 (tinimbang kaluaran ka panyangga a, ayeuna ngagunakeun modél dumasar kana titik render, dimana kaluaran diwangun dina bentuk tangkal operasi-tingkat tinggi. éfisién diolah ku GPU nganggo OpenGL sareng Vulkan).
    Pilihan Broadway anyar ngarobah titik render kana titik DOM kalawan gaya CSS pikeun rendering panganteur dina browser nu. Unggal kaayaan layar anyar diolah salaku parobahan dina tangkal DOM relatif ka kaayaan saméméhna, nu ngurangan ukuran data dikirimkeun ka klien jauh. Transformasi 3D sareng épék grafis dilaksanakeun ngaliwatan sipat transformasi CSS;

  • GDK terus nerapkeun API dirancang kalayan protokol Wayland dina pikiran, sarta ngabersihan up API basis X11 atawa mindahkeun kana backend X11 misah. Aya kamajuan dina karya pindah jauh ti pamakéan surfaces anak jeung koordinat global. Rojongan pikeun GDK_SURFACE_SUBSURFACE geus dihapus tina GDK;
  • Refactoring kode pakait sareng ngajalankeun operasi Séred-na-Drop dituluykeun, kaasup diusulkeun misah GdkDrag na GdkDrop objék;
  • Penanganan acara parantos disederhanakeun sareng ayeuna ngan ukur dianggo pikeun input. Kajadian sésana diganti ku sinyal misah, contona, tinimbang acara kaluaran, sinyal "GdkSurface :: render" diajukeun, tinimbang acara konfigurasi - "GdkSurface:: ukuran-robah", tinimbang acara pemetaan - "GdkSurface: : dipetakeun ", tinimbang gdk_event_handler_set () - "GdkSurface :: acara";
  • Backend GDK pikeun Wayland parantos nambihan dukungan pikeun antarmuka portal pikeun ngaksés setélan GtkSettings. Pikeun dianggo sareng metode input, dukungan pikeun ekstensi protokol téks-input-unstable-v3 parantos diusulkeun;
  • Pikeun ngembangkeun widget, obyék GtkLayoutManager anyar diwanohkeun kalayan palaksanaan sistem pikeun ngatur tata perenah elemen gumantung kana tata perenah wewengkon katempo. GtkLayoutManager ngagentos sipat anak dina wadah GTK sapertos GtkBox sareng GtkGrid. Sababaraha manajer perenah siap-siap diusulkeun: GtkBinLayout pikeun wadah saderhana sareng hiji unsur anak, GtkBoxLayout pikeun elemen anak anu dijajarkeun sacara linier, GtkGridLayout pikeun ngajajarkeun elemen anak kana grid, GtkFixedLayout pikeun posisi sawenang unsur anak, GtkCustomLayout dumasar kana translating_locate elemen tradisional. panangan;
  • Objék anu tiasa diaksés sacara umum pikeun tampilan halaman elemen anak parantos diasupkeun kana widget GtkAssistant, GtkStack sareng GtkNotebook, dimana sipat anak non-Layout tina widget ieu ditransferkeun. Kusabab sakabeh sipat anak nu aya geus dirobah jadi sipat biasa, sipat perenah, atawa dipindahkeun ka objék kaca, rojongan pikeun sipat anak geus dihapus sagemblengna tina GtkContainer;
  • Fungsi inti GtkEntry geus dipindahkeun ka widget GtkText anyar, nu ogé ngawengku hiji panganteur édit GtkEditable ditingkatkeun. Sadaya subkelas input data anu aya parantos didamel deui salaku palaksanaan GtkEditable dumasar kana widget GtkText énggal;
  • Ditambahkeun widget GtkPasswordEntry anyar pikeun bentuk éntri sandi;
  • GtkWidgets geus ditambahkeun kamampuhan pikeun transformasi elemen anak ngagunakeun métode transformasi linier dieusian via CSS atawa gtk_widget_allocate argumen ka GskTransform. Fitur anu ditangtukeun parantos diterapkeun dina widget GtkFixed;
  • Model generasi daptar anyar geus ditambahkeun: GtkMapListModel, GtkSliceListModel, GtkSortListModel, GtkSelectionModel jeung GtkSingleSelection. Dina mangsa nu bakal datang urang rencanana pikeun nambahkeun rojongan pikeun model daptar ka GtkListView;
  • GtkBuilder geus ditambahkeun kamampuhan pikeun ngeset sipat objék lokal (inline), tinimbang make Tumbu ku identifier;
  • Ditambahkeun paréntah ka gtk4-builder-tool pikeun ngarobih file UI tina GTK 3 ka GTK 4;
  • Rojongan pikeun téma konci, ménu tabular, sareng kotak kombo parantos dileungitkeun. Widget GtkInvisible parantos dipupus.

    sumber: opennet.ru

Tambahkeun komentar