GTK 3.99.0 izlaiÅ”ana iezÄ«mēja GTK 4 paredzētās funkcionalitātes pabeigÅ”anu

publicēts ietvara galÄ«gā eksperimentālā izlaiÅ”ana GTK 3.99.0, kas ievieÅ” visas GTK 4 paredzētās iespējas. GTK 4 filiāle tiek izstrādāta kā daļa no jauna izstrādes procesa, kura mērÄ·is ir nodroÅ”ināt lietojumprogrammu izstrādātājus ar stabilu un atbalstÄ«tu API uz vairākiem gadiem, ko var izmantot bez bailēm, ka bÅ«s nepiecieÅ”ams pārrakstÄ«t pieteikumus ik pēc seÅ”iem mēneÅ”iem, jo ā€‹ā€‹par API izmaiņām nākamajā GTK filiālē. GTK 4 plānots izlaist lÄ«dz gada beigām.

No visvairāk nozÄ«mÄ«gs izmaiņas Š² GTK 4 JÅ«s varat atzÄ«mēt:

  • Metode elementu izkārtoÅ”anai, pamatojoties uz ierobežojumiem (ierobežojuma izkārtojums), kurā pakārtoto elementu atraÅ”anās vieta un izmērs tiek noteikts, pamatojoties uz attālumu lÄ«dz apmalēm un citu elementu lielumu.
  • Renderētājs, kura pamatā ir Vulkan grafikas API, kas ievieÅ” ēnotājus daudziem resursietilpÄ«gajiem CSS elementiem, ko izmanto GTK logrÄ«kos.
  • Integrācija GSK (GTK Scene Kit) ar iespēju renderēt grafiskas ainas, izmantojot OpenGL un Vulkan.
  • RenderÄ“Å”anas organizācija ir pārskatÄ«ta - izvades vietā buferÄ« tagad tiek izmantots uz renderÄ“Å”anas mezgliem balstÄ«ts modelis, kurā izvade tiek sakārtota augsta lÄ«meņa operāciju koka veidā, ko GPU efektÄ«vi apstrādā, izmantojot OpenGL. un Vulkāns.
  • Fondi elastÄ«gai ievades fokusa izmaiņu apstrādei.
  • Modernizēts notikumu piegādes modelis, kas novērÅ” nepiecieÅ”amÄ«bu pēc apakÅ”logiem, marÅ”rutējot ievades notikumus. NepiecieÅ”amÄ«ba ieviest jaunu modeli ir saistÄ«ta ar aktÄ«vāku animācijas efektu izmantoÅ”anu, kuru renderÄ“Å”ana jāveic, nemainot redzamo elementu izkārtojumu un attiecÄ«gi bez apakÅ”loga.
  • GDK API ir pārveidots, lai izmantotu Wayland protokolu un ar to saistÄ«tās koncepcijas. X11 un Wayland bāzes funkcijas ir pārvietotas uz atseviŔķas aizmugures.
  • Ir veikta liela API tÄ«rÄ«Å”ana, tostarp GtkMenu, GtkMenuBar un GtkToolbar klases noņemÅ”ana par labu GMenu un opcijām, kuru pamatā ir uznirstoŔās izvēlnes.
  • GtkTextView un citiem ievades logrÄ«kiem ir iebÅ«vēta atsaukÅ”anas kaudze.
  • Pievienota jauna GtkNative klase logrÄ«kiem, kuriem ir sava displeja virsma un kuri var darboties atseviŔķi pirmajā lÄ«menÄ«, nesaistoties ar vecāku logrÄ«kiem.
  • Ir pievienoti jauni logrÄ«ki, tostarp GtkPicture, GtkText, GtkPasswordEntry, GtkListView, GtkGridView, GtkColumnView un Emoji displeja logrÄ«ks.
  • LogrÄ«ku izstrādei tiek ieviests jauns GtkLayoutManager objekts ar sistēmas ievieÅ”anu elementu izkārtojuma kontrolei atkarÄ«bā no redzamā laukuma lieluma. GtkLayoutManager aizstāj pakārtotos rekvizÄ«tus GTK konteineros, piemēram, GtkBox un GtkGrid.
  • Notikumu apstrāde ir vienkārÅ”ota un tagad tiek izmantota tikai ievadei. AtlikuÅ”ie notikumi tiek aizstāti ar atseviŔķiem signāliem, piemēram, izejas notikumu vietā tiek piedāvāts signāls ā€œGdkSurface::renderā€, bet konfigurācijas notikumu vietā tiek piedāvāts ā€œGdkSurface::size-changedā€.
  • Pievienots jauns abstrakcijas slānis GdkPaintable, kas attēlo objektus, kurus var uzzÄ«mēt jebkurā vietā un jebkurā izmērā, bez nepiecieÅ”amÄ«bas kārtot izkārtojuma slāņus.
  • Brodvejas aizmugursistēma ir pārrakstÄ«ta, lai ļautu GTK bibliotēkas izvadi atveidot tÄ«mekļa pārlÅ«kprogrammas logā.
  • API, kas saistÄ«ta ar vilkÅ”anas un nomeÅ”anas darbÄ«bu veikÅ”anu, ir pārveidota, iekļaujot piedāvātos atseviŔķus GdkDrag un GdkDrop objektus.

Uzlabojumi salÄ«dzinājumā ar iepriekŔējo testa versiju:

  • Vecā pieejamÄ«bas API ievieÅ”ana personām ar invaliditāti ir noņemta, un tā ir aizstāta ar jaunu versiju, kuras pamatā ir specifikācija ARIA un GtkAccessible logrÄ«ku.
  • Pievienots atbalsts rediģējamām etiÄ·etēm (GtkEditableLabel).
  • Ir ierosināti jauni sarakstu modeļi grāmatzÄ«mju (GtkBookmarkList), virkņu (GtkStringList) un atlases bloku (GtkBitset) parādÄ«Å”anai.
  • LogrÄ«kam GtkTreeView ir iespēja rediģēt Ŕūnas.
  • GtkGridView un GtkListView ir uzlabota ritināŔanas ievieÅ”ana, ir pievienots automātiskās ritināŔanas un automātiskās paplaÅ”ināŔanas atbalsts.
  • GtkWidget ievērojami paātrina dažādu darbÄ«bu apstrādi.
  • GtkFilterListModel un GtkSortListModel ir pievienots pakāpeniskas ritināŔanas un filtrÄ“Å”anas atbalsts.
  • Inspektors ir pievienojis atbalstu sarakstu modeļu pārbaudei un iespēju tieÅ”i pārvietoties starp objektiem.
  • GDK ritināŔanas vēsture ir saglabāta, GdkDevice API ir notÄ«rÄ«ta un ierīču atdalÄ«Å”ana galvenajā un pakārtotajā ierÄ«cē ir apturēta.
  • Pievienota jauna GDK aizmugursistēma operētājsistēmai MacOS.
  • Jauna GDK renderÄ“Å”anas aizmugursistēma, kuras pamatā ir LEŅĶIS, starpslāņi lai tulkotu OpenGL ES zvanus uz OpenGL, Direct3D 9/11, Desktop GL un Vulkan.

Avots: opennet.ru

Pievieno komentāru