GTK 3.96, itusilẹ esiperimenta ti GTK 4, ti a tẹjade

10 osu lẹhin ti o ti kọja idasilẹ igbeyewo gbekalẹ GTK 3.96, Itusilẹ esiperimenta tuntun ti itusilẹ iduroṣinṣin ti n bọ ti GTK 4. Ẹka GTK 4 ti wa ni idagbasoke gẹgẹbi apakan ti ilana idagbasoke tuntun ti o gbiyanju lati pese awọn olupilẹṣẹ ohun elo pẹlu iduroṣinṣin ati atilẹyin API fun awọn ọdun pupọ ti o le ṣee lo laisi iberu. ti nini lati tun ohun elo naa kọ ni gbogbo oṣu mẹfa nitori iyipada API ni ẹka GTK ti nbọ. Titi GTK 4 yoo fi di iduroṣinṣin ni kikun, a gba ọ niyanju pe awọn ohun elo ti a nṣe si awọn olumulo tẹsiwaju lati kọ nipa lilo ẹka naa GTK 3.24.

akọkọ iyipada ninu GTK 3.96:

  • Ninu API GSK (GTK Scene Apo), eyiti o pese jigbe awọn iwoye ayaworan nipasẹ OpenGL ati Vulkan, a ti ṣe iṣẹ lori awọn aṣiṣe, eyiti o rọrun lati ṣe idanimọ ọpẹ si ohun elo n ṣatunṣe aṣiṣe tuntun gtk4-node-editor, eyiti o fun ọ laaye lati fifuye ati ṣafihan ibudo Rendering ni a serialized kika (le ti wa ni fipamọ ni ayewo mode GTK olubẹwo), ki o si tun afiwe awọn esi ti o nigba lilo orisirisi awọn backend;

    GTK 3.96, itusilẹ esiperimenta ti GTK 4, ti a tẹjade

  • Awọn agbara iyipada 3D ti mu wa si ipele ti o fun ọ laaye lati ṣẹda awọn ipa ere idaraya bii cube yiyi;

    GTK 3.96, itusilẹ esiperimenta ti GTK 4, ti a tẹjade

  • Pari tun kọ Broadway GDK ẹhin ti a ṣe apẹrẹ lati ṣe iṣelọpọ ile-ikawe GTK ni ferese ẹrọ aṣawakiri wẹẹbu kan. Imuse Broadway atijọ ko ni ibamu si awọn ọna ṣiṣe ti a dabaa ni GTK 4 (dipo ti iṣelọpọ si ifipamọ, o nlo awoṣe ti o da lori awọn apa imupada, nibiti iṣelọpọ ti wa ni irisi igi ti awọn iṣẹ ipele giga, daradara ni ilọsiwaju nipasẹ GPU lilo OpenGL ati Vulkan).
    Aṣayan Broadway tuntun ṣe iyipada awọn apa mu sinu awọn apa DOM pẹlu awọn aṣa CSS fun ṣiṣe wiwo ni ẹrọ aṣawakiri. Ipo iboju tuntun kọọkan jẹ ilọsiwaju bi iyipada ninu igi DOM ni ibatan si ipo iṣaaju, eyiti o dinku iwọn data ti a firanṣẹ si alabara latọna jijin. Awọn iyipada 3D ati awọn ipa ayaworan ni imuse nipasẹ ohun-ini iyipada CSS;

  • GDK tẹsiwaju lati ṣe awọn API ti a ṣe apẹrẹ pẹlu Ilana Wayland ni lokan, ati nu awọn API ti o da lori X11 tabi gbe wọn lọ si ẹhin X11 lọtọ. Ilọsiwaju wa ninu iṣẹ lati lọ kuro ni lilo awọn ipele ọmọde ati awọn ipoidojuko agbaye. Atilẹyin fun GDK_SURFACE_SUBSURFACE ti yọkuro lati GDK;
  • Ṣiṣe atunṣe koodu ti o ni nkan ṣe pẹlu ṣiṣe awọn iṣẹ Fa-ati-silẹ tẹsiwaju, pẹlu GdkDrag lọtọ ti a dabaa ati awọn nkan GdkDrop;
  • Mimu iṣẹlẹ ti jẹ irọrun ati pe o ti lo ni bayi fun titẹ sii nikan. Awọn iṣẹlẹ ti o ku ni a rọpo pẹlu awọn ifihan agbara lọtọ, fun apẹẹrẹ, dipo awọn iṣẹlẹ iṣelọpọ, ifihan “GdkSurface :: mulẹ” ti dabaa, dipo awọn iṣẹlẹ iṣeto ni “GdkSurface :: iyipada iwọn”, dipo awọn iṣẹlẹ aworan agbaye - “GdkSurface: : mapped ", dipo gdk_event_handler_set () - "GdkSurface :: iṣẹlẹ ";
  • Ẹyin GDK fun Wayland ti ṣafikun atilẹyin fun wiwo ọna abawọle fun iraye si awọn eto GtkSettings. Lati ṣiṣẹ pẹlu awọn ọna titẹ sii, atilẹyin fun ifaagun ilana-ọrọ-input-unstable-v3 ti ni imọran;
  • Fun idagbasoke awọn ẹrọ ailorukọ, ohun GtkLayoutManager tuntun ni a ṣe pẹlu imuse ti eto kan fun ṣiṣakoso ifilelẹ ti awọn eroja ti o da lori ifilelẹ ti agbegbe ti o han. GtkLayoutManager rọpo awọn ohun-ini ọmọ ni awọn apoti GTK gẹgẹbi GtkBox ati GtkGrid. Ọpọlọpọ awọn alakoso iṣeto ti o ti ṣetan ni a dabaa: GtkBinLayout fun awọn apoti ti o rọrun pẹlu ẹya ọmọ kan, GtkBoxLayout fun awọn eroja ọmọde ti o ni ila laini, GtkGridLayout fun tito awọn eroja ọmọde si grid, GtkFixedLayout fun ipo lainidii ti awọn eroja ọmọde, GtkCustomLayout ti o da lori iwọn ibile awọn olutọju;
  • Awọn nkan ti o wa ni gbangba fun ifihan oju-iwe ti awọn eroja ọmọ ni a ti ṣafikun si GtkAssistant, GtkStack ati awọn ẹrọ ailorukọ GtkNotebook, eyiti awọn ohun-ini ọmọ ti ko ni ibatan si ti awọn ẹrọ ailorukọ wọnyi ti gbe lọ. Niwọn igba ti gbogbo awọn ohun-ini ọmọ ti o wa tẹlẹ ti yipada si awọn ohun-ini deede, awọn ohun-ini ipilẹ, tabi gbe si awọn nkan oju-iwe, atilẹyin fun awọn ohun-ini ọmọ ti yọkuro patapata lati GtkContainer;
  • Iṣẹ ṣiṣe GtkEntry mojuto ti ni gbigbe si ẹrọ ailorukọ GtkText tuntun, eyiti o tun pẹlu imudara wiwo ṣiṣatunṣe GtkEditable kan. Gbogbo awọn kilasi igbewọle data ti o wa tẹlẹ ti jẹ atunṣe bi awọn imuse GtkEditable ti o da lori ẹrọ ailorukọ GtkText tuntun;
  • Ṣafikun ẹrọ ailorukọ GtkPasswordEntry tuntun fun awọn fọọmu titẹ ọrọ igbaniwọle;
  • GtkWidgets ti ṣafikun agbara lati yi awọn eroja ọmọ pada nipa lilo awọn ọna iyipada laini ti a sọ nipase CSS tabi ariyanjiyan gtk_widget_allocate si GskTransform. Ẹya pàtó ti wa ni lilo tẹlẹ ninu ẹrọ ailorukọ GtkFixed;
  • Awọn awoṣe iran atokọ tuntun ti ṣafikun: GtkMapListModel, GtkSliceListModel, GtkSortListModel, GtkSelectionModel ati GtkSingleSelection. Ni ọjọ iwaju a gbero lati ṣafikun atilẹyin fun awọn awoṣe atokọ si GtkListView;
  • GtkBuilder ti ṣafikun agbara lati ṣeto awọn ohun-ini ohun ni agbegbe (ila), dipo lilo awọn ọna asopọ nipasẹ idanimọ;
  • Fikun aṣẹ si gtk4-builder-tool lati yi awọn faili UI pada lati GTK 3 si GTK 4;
  • Atilẹyin fun awọn akori bọtini, awọn akojọ aṣayan tabular, ati awọn apoti konbo ti dawọ duro. Ẹrọ ailorukọ GtkInvisible ti yọkuro.

    orisun: opennet.ru

Fi ọrọìwòye kun