GTK 3.96, eksperimintele release fan GTK 4, publisearre

10 moannen nei fan it ferline test release presintearre GTK 3.96, In nije eksperimintele útjefte fan 'e kommende stabile frijlitting fan GTK 4. De GTK 4-tûke wurdt ûntwikkele as ûnderdiel fan in nij ûntwikkelingsproses dat besiket om applikaasje-ûntwikkelders te foarsjen mei in stabile en stipe API foar ferskate jierren dy't kin wurde brûkt sûnder de eangst om de applikaasje elke seis moanne opnij te skriuwen fanwege feroaring API yn 'e folgjende GTK-tûke. Oant GTK 4 folslein stabilisearre is, wurdt it oanrikkemandearre dat applikaasjes oanbean oan brûkers trochgean wurde boud mei de branch GTK 3.24.

haad feroarings yn GTK 3.96:

  • Yn de API GSK (GTK Scene Kit), dy't it werjaan fan grafyske sênes fia OpenGL en Vulkan leveret, is wurk dien oan flaters, dy't makliker te identifisearjen wurden binne troch it nije debuggen-ark gtk4-node-editor, wêrmei jo de laden en werjaan kinne rendering node yn in serialized opmaak (kin bewarre wurde yn ynspeksje modus GTK ynspekteur), en ek ferlykje de rendering resultaten by it brûken fan ferskillende backends;

    GTK 3.96, eksperimintele release fan GTK 4, publisearre

  • 3D transformaasje mooglikheden binne brocht oan in nivo wêrmei jo te meitsjen animaasje effekten lykas in draaiende kubus;

    GTK 3.96, eksperimintele release fan GTK 4, publisearre

  • Completely opnij skreaun Broadway GDK-backend ûntworpen om GTK-bibleteekútfier te meitsjen yn in webblêderfinster. De âlde Broadway-ymplemintaasje paste net yn 'e renderingmetoaden foarsteld yn GTK 4 (ynstee fan útfier nei in buffer, brûkt it no in model basearre op renderknooppunten, wêrby't de útfier is gearstald yn 'e foarm fan in beam fan operaasjes op hege nivo, effisjint ferwurke troch de GPU mei OpenGL en Vulkan).
    De nije Broadway-opsje konvertearret renderknooppunten yn DOM-knooppunten mei CSS-stilen foar it werjaan fan de ynterface yn 'e browser. Eltse nije skerm steat wurdt ferwurke as in feroaring yn de DOM beam relatyf oan de foarige steat, dy't ferleget de grutte fan gegevens oerdroegen oan de remote client. 3D-transformaasjes en grafyske effekten wurde ymplementearre fia de CSS-transformaasje-eigenskip;

  • GDK giet troch mei it ymplementearjen fan API's ûntworpen mei it Wayland-protokol yn gedachten, en skjinmeitsje X11-basearre API's of ferpleatse se nei in aparte X11-backend. D'r is foarútgong yn it wurk om fuort te gean fan it brûken fan bernflakken en globale koördinaten. Stipe foar GDK_SURFACE_SUBSURFACE is fuortsmiten fan GDK;
  • Refactoring fan de koade ferbûn mei it útfieren fan Drag-en-Drop operaasjes bleau, ynklusyf de foarnommen aparte GdkDrag en GdkDrop objekten;
  • Behanneling fan eveneminten is ferienfâldige en wurdt no allinich brûkt foar ynfier. De oerbleaune eveneminten wurde ferfongen troch aparte sinjalen, bygelyks, ynstee fan útfier eveneminten, wurdt it sinjaal "GdkSurface :: render" foarsteld, ynstee fan konfiguraasje eveneminten - "GdkSurface :: grutte-feroare", ynstee fan mapping eveneminten - "GdkSurface: :mapped", ynstee fan gdk_event_handler_set() - "GdkSurface::event";
  • De GDK-backend foar Wayland hat stipe tafoege foar in portalynterface foar tagong ta GtkSettings-ynstellingen. Om te wurkjen mei ynfiermetoaden is stipe foar de tekst-input-unstable-v3 protokol-útwreiding foarsteld;
  • Foar de ûntwikkeling fan widgets wurdt in nij GtkLayoutManager-objekt ynfierd mei de ymplemintaasje fan in systeem foar it kontrolearjen fan de yndieling fan eleminten ôfhinklik fan de yndieling fan it sichtbere gebiet. GtkLayoutManager ferfangt berneigenskippen yn GTK-konteners lykas GtkBox en GtkGrid. Ferskate klearmakke opmaakbehearders wurde foarsteld: GtkBinLayout foar ienfâldige konteners mei ien bernelemint, GtkBoxLayout foar lineêr ôfstimd berneleminten, GtkGridLayout foar it ôfstimmen fan berneleminten op in raster, GtkFixedLayout foar willekeurige posysje fan berneleminten, GtkCustomLayout basearre op translate_CustomLayout handlers;
  • Publyk tagonklike objekten foar side werjefte fan bern eleminten binne tafoege oan de GtkAssistant, GtkStack en GtkNotebook widgets, dêr't de net-Layout-relatearre bern eigenskippen fan dizze widgets wurde oerdroegen. Sûnt alle besteande bern eigenskippen binne omboud ta reguliere eigenskippen, layout eigenskippen, of ferpleatst nei side objekten, stipe foar bern eigenskippen is hielendal fuorthelle út GtkContainer;
  • De kearnfunksje fan GtkEntry is ferpleatst nei in nije GtkText-widget, dy't ek in ferbettere GtkEditable-bewurkingsynterface omfettet. Alle besteande gegevens ynfier subklassen binne opnij makke as GtkEditable ymplemintaasjes basearre op de nije GtkText widget;
  • In nije GtkPasswordEntry-widget tafoege foar formulieren foar wachtwurdynfier;
  • GtkWidgets hat de mooglikheid tafoege om berneleminten te transformearjen mei lineêre transformaasjemetoaden oantsjutte fia CSS of it argumint gtk_widget_allocate nei GskTransform. De oantsjutte funksje wurdt al tapast yn de GtkFixed widget;
  • Nije listgeneraasjemodellen binne tafoege: GtkMapListModel, GtkSliceListModel, GtkSortListModel, GtkSelectionModel en GtkSingleSelection. Yn 'e takomst planje wy stipe foar listmodellen ta te foegjen oan GtkListView;
  • GtkBuilder hat de mooglikheid tafoege om objekteigenskippen lokaal (ynline) yn te stellen, ynstee fan keppelings te brûken troch identifier;
  • Kommando tafoege oan gtk4-builder-ark om UI-bestannen te konvertearjen fan GTK 3 nei GTK 4;
  • Stipe foar kaaitema's, tabelmenu's en kombinaasjefakken is stopset. De GtkInvisible widget is fuortsmiten.

    Boarne: opennet.ru

Add a comment