Ang pagpagawas sa GTK 3.99.0 nagtimaan sa pagkompleto sa pag-andar nga giplano alang sa GTK 4

gipatik katapusang eksperimento nga pagpagawas sa balangkas GTK 3.99.0, nga nagpatuman sa tanan nga mga bahin nga giplano alang sa GTK 4. Ang GTK 4 nga sanga gipalambo isip kabahin sa usa ka bag-ong proseso sa pag-uswag nga misulay sa paghatag sa mga developers sa aplikasyon og usa ka lig-on ug gisuportahan nga API sulod sa pipila ka mga tuig nga mahimong magamit nga walay kahadlok nga kinahanglan isulat pag-usab ang mga aplikasyon matag unom ka bulan tungod kay alang sa mga pagbag-o sa API sa sunod nga sanga sa GTK. Ang GTK 4 giplanohan nga ipagawas sa dili pa matapos ang tuig.

Sa kadaghanan mahinungdanon kausaban Π² GTK 4 mahimo nimong timan-an:

  • Pamaagi sa pagbutang sa mga elemento base sa mga limitasyon (pagpugong layout), diin ang lokasyon ug gidak-on sa mga elemento sa bata gitino base sa gilay-on sa mga utlanan ug ang gidak-on sa ubang mga elemento.
  • Usa ka tighubad nga gibase sa Vulkan graphics API nga nag-implementar sa mga shader alang sa kadaghanan sa mga elemento sa CSS nga gigamit sa mga GTK nga widget.
  • Integration GSK (GTK Scene Kit) nga adunay katakus sa paghubad sa mga graphic nga talan-awon pinaagi sa OpenGL ug Vulkan.
  • Ang organisasyon sa rendering gibag-o - imbes nga output sa usa ka buffer, usa ka modelo nga gibase sa render node ang gigamit karon, diin ang output gihan-ay sa porma sa usa ka kahoy sa taas nga lebel nga mga operasyon, episyente nga giproseso sa GPU gamit ang OpenGL ug Vulkan.
  • Mga pundo alang sa flexible nga pagdumala sa mga pagbag-o sa focus sa input.
  • Usa ka moderno nga modelo sa paghatud sa panghitabo nga nagtangtang sa panginahanglan alang sa mga subwindow kung nag-ruta sa mga panghitabo sa pag-input. Ang panginahanglan sa pagpatuman sa usa ka bag-ong modelo nalangkit sa usa ka mas aktibo nga paggamit sa mga epekto sa animation, ang paghubad nga kinahanglan nga buhaton nga walay pagbag-o sa layout sa makita nga mga elemento ug, sumala niana, nga walay subwindow.
  • Ang GDK API gidesinyo pag-usab uban ang mata sa paggamit sa Wayland protocol ug mga may kalabutan nga konsepto. Ang X11 ug Wayland-based nga mga bahin gibalhin sa bulag nga mga backend.
  • Usa ka dakong paglimpyo sa API ang gihimo, lakip ang pagtangtang sa GtkMenu, GtkMenuBar ug GtkToolbar nga mga klase, pabor sa GMenu ug mga opsyon base sa popover menus.
  • Ang GtkTextView ug uban pang input widgets adunay built-in undo stack.
  • Gidugang ang usa ka bag-ong klase sa GtkNative alang sa mga widget nga adunay kaugalingon nga display surface ug mahimo nga bulag nga magtrabaho sa una nga lebel, nga wala gihigot sa mga widget sa ginikanan.
  • Gidugang ang bag-ong mga widget, lakip ang GtkPicture, GtkText, GtkPasswordEntry, GtkListView, GtkGridView, GtkColumnView, ug usa ka Emoji display widget.
  • Alang sa pag-uswag sa mga widget, usa ka bag-ong butang nga GtkLayoutManager ang gipaila uban ang pagpatuman sa usa ka sistema alang sa pagkontrol sa layout sa mga elemento depende sa gidak-on sa makita nga lugar. Gipulihan sa GtkLayoutManager ang mga kabtangan sa bata sa mga sulud sa GTK sama sa GtkBox ug GtkGrid.
  • Ang pagdumala sa panghitabo gipasayon ​​ug gigamit na lang para sa input. Ang nahabilin nga mga panghitabo gipulihan sa lahi nga mga signal, pananglitan, imbes nga mga panghitabo sa output, ang signal nga "GdkSurface::render" gisugyot, ug imbes nga mga panghitabo sa pag-configure, gitanyag ang "GdkSurface:: gibag-o ang gidak-on".
  • Gidugang ang usa ka bag-ong abstraction layer nga GdkPaintable, nga nagrepresentar sa mga butang nga mahimong madrowing bisan asa sa bisan unsang gidak-on, nga wala kinahanglana ang paghan-ay sa mga layer sa layout.
  • Ang backend sa Broadway gisulat pag-usab aron tugotan ang output sa GTK library nga ma-render sa usa ka web browser window.
  • Ang API nga nalangkit sa pagbuhat sa Drag-and-Drop nga mga operasyon gidesinyo pag-usab, lakip ang gisugyot nga bulag nga GdkDrag ug GdkDrop nga mga butang.

Mga pag-uswag kumpara sa miaging pagsulay nga pagpagawas:

  • Ang daan nga pagpatuman sa Accessibility API alang sa mga tawo nga adunay mga kakulangan gitangtang, gipulihan sa usa ka bag-ong bersyon base sa detalye Aria ug ang GtkAccessible widget.
  • Gidugang nga suporta alang sa ma-edit nga mga label (GtkEditableLabel).
  • Bag-ong mga modelo sa listahan gisugyot alang sa pagpakita sa mga bookmark (GtkBookmarkList), mga kuwerdas (GtkStringList) ug mga bloke sa pagpili (GtkBitset).
  • Ang widget sa GtkTreeView adunay katakus sa pag-edit sa mga cell.
  • Ang pagpatuman sa pag-scroll gipauswag sa GtkGridView ug GtkListView, suporta alang sa auto-scrolling ug auto-expanding gidugang.
  • Ang GtkWidget labi nga nagpadali sa pagproseso sa lainlaing mga aksyon.
  • Gidugang nga suporta alang sa incremental nga pag-scroll ug pagsala sa GtkFilterListModel ug GtkSortListModel.
  • Ang Inspektor adunay dugang nga suporta alang sa pag-inspeksyon sa mga modelo sa lista ug ang abilidad sa direktang pag-navigate sa taliwala sa mga butang.
  • Sa GDK, ang kasaysayan sa pag-scroll na-save na, ang GdkDevice API nalimpyohan, ug ang pagbulag sa mga himan ngadto sa agalon ug ulipon gipahunong.
  • Nagdugang og bag-ong GDK backend alang sa macOS.
  • Usa ka bag-ong GDK rendering backend base sa NANGHITABO, mga interlayer sa paghubad sa mga tawag sa OpenGL ES ngadto sa OpenGL, Direct3D 9/11, Desktop GL ug Vulkan.

Source: opennet.ru

Idugang sa usa ka comment