GTK 3.96, GTK 4-ի փորձարարական թողարկում, հրապարակված

10 ամիս անց անցյալի փորձարկման թողարկում ներկայացված GTK 3.96, GTK 4-ի առաջիկա կայուն թողարկման նոր փորձնական թողարկում: GTK 4 մասնաճյուղը մշակվում է որպես զարգացման նոր գործընթացի մաս, որը փորձում է հավելված մշակողներին մի քանի տարի ապահովել կայուն և աջակցվող API, որը կարող է օգտագործվել առանց վախի: վեց ամիսը մեկ դիմումը վերաշարադրելու անհրաժեշտություն՝ հաջորդ GTK մասնաճյուղում API-ի փոփոխության պատճառով: Քանի դեռ GTK 4-ը լիովին կայունացել է, խորհուրդ է տրվում, որ օգտատերերին առաջարկվող հավելվածները շարունակեն ստեղծվել մասնաճյուղի միջոցով: GTK 3.24.

Հիմնական փոփոխություններ GTK 3.96-ում:

  • API-ում GSK (GTK Scene Kit), որն ապահովում է գրաֆիկական տեսարանների ցուցադրում OpenGL-ի և Vulkan-ի միջոցով, աշխատանք է տարվել այն սխալների վրա, որոնք ավելի հեշտ են ճանաչել վրիպազերծման նոր գործիքի՝ gtk4-node-editor-ի շնորհիվ, որը թույլ է տալիս բեռնել և ցուցադրել հանգույցի մատուցում սերիական ձևաչափով (կարելի է պահպանվել ստուգման ռեժիմում GTK տեսուչում), ինչպես նաև համեմատել մատուցման արդյունքները տարբեր հետնամասեր օգտագործելիս.

    GTK 3.96, GTK 4-ի փորձարարական թողարկում, հրապարակված

  • 3D փոխակերպման հնարավորությունները հասցվել են այնպիսի մակարդակի, որը թույլ է տալիս ստեղծել անիմացիոն էֆեկտներ, ինչպիսիք են պտտվող խորանարդը;

    GTK 3.96, GTK 4-ի փորձարարական թողարկում, հրապարակված

  • Լիովին վերաշարադրված Broadway GDK backend-ը, որը նախատեսված է GTK գրադարանի ելքը վեբ դիտարկիչի պատուհանում ցուցադրելու համար: Հին Բրոդվեյի իրականացումը չէր տեղավորվում GTK 4-ում առաջարկված մատուցման մեթոդների մեջ (բուֆեր ելքի փոխարեն այն այժմ օգտագործում է ռենդերային հանգույցների վրա հիմնված մոդել, որտեղ ելքը կազմված է բարձր մակարդակի գործողությունների ծառի տեսքով, արդյունավետորեն մշակվում է GPU-ի կողմից՝ օգտագործելով OpenGL և Vulkan):
    Բրոդվեյի նոր տարբերակը վերածում է render հանգույցները DOM հանգույցների CSS ոճերով՝ բրաուզերում ինտերֆեյսը ցուցադրելու համար: Էկրանի յուրաքանչյուր նոր վիճակ մշակվում է որպես DOM ծառի փոփոխություն նախորդ վիճակի համեմատ, ինչը նվազեցնում է հեռավոր հաճախորդին փոխանցվող տվյալների չափը: 3D փոխակերպումները և գրաֆիկական էֆեկտներն իրականացվում են CSS փոխակերպման հատկության միջոցով.

  • GDK-ն շարունակում է իրականացնել API-ներ, որոնք նախագծված են հաշվի առնելով Wayland արձանագրությունը, և մաքրել X11-ի վրա հիմնված API-ները կամ տեղափոխել դրանք առանձին X11 հետին պլան: Առաջընթաց կա մանկական մակերեսների և գլոբալ կոորդինատների օգտագործումից հեռանալու աշխատանքում: GDK_SURFACE_SUBSUFACE-ի աջակցությունը հեռացվել է GDK-ից;
  • Շարունակվել է Drag-and-Drop գործողությունների հետ կապված կոդի վերամշակումը, ներառյալ առաջարկվող առանձին GdkDrag և GdkDrop օբյեկտները.
  • Իրադարձությունների մշակումը պարզեցվել է և այժմ օգտագործվում է միայն մուտքագրման համար: Մնացած իրադարձությունները փոխարինվում են առանձին ազդանշաններով, օրինակ՝ ելքային իրադարձությունների փոխարեն առաջարկվում է «GdkSurface::render» ազդանշանը, կոնֆիգուրացիայի իրադարձությունների փոխարեն՝ «GdkSurface::size-changed», քարտեզագրման իրադարձությունների փոխարեն՝ «GdkSurface: :mapped», gdk_event_handler_set()-ի փոխարեն - «GdkSurface::event»;
  • GDK backend-ը Wayland-ի համար ավելացրել է GtkSettings կարգավորումներ մուտք գործելու համար պորտալի ինտերֆեյսի աջակցություն: Ներածման մեթոդների հետ աշխատելու համար առաջարկվել է text-input-unstable-v3 արձանագրության ընդլայնման աջակցություն;
  • Վիջեթների մշակման համար ներկայացվում է նոր GtkLayoutManager օբյեկտ՝ տեսանելի տարածքի դասավորությունից կախված տարրերի դասավորությունը վերահսկելու համակարգի ներդրմամբ։ GtkLayoutManager-ը փոխարինում է երեխայի հատկությունները GTK կոնտեյներներում, ինչպիսիք են GtkBox-ը և GtkGrid-ը: Առաջարկվում են մի քանի պատրաստ դասավորության կառավարիչներ. կարգավորիչներ;
  • GtkAssistant, GtkStack և GtkNotebook վիջեթներին ավելացվել են հանրայնորեն հասանելի օբյեկտներ՝ երեխաների տարրերի էջերի ցուցադրման համար, որոնց փոխանցվում են այս վիջեթների ոչ Layout-ի հետ կապված զավակային հատկությունները: Քանի որ բոլոր գոյություն ունեցող երեխա հատկությունները փոխարկվել են սովորական հատկությունների, դասավորության հատկությունների կամ տեղափոխվել էջի օբյեկտներ, երեխայի հատկությունների աջակցությունն ամբողջությամբ հեռացվել է GtkContainer-ից;
  • GtkEntry-ի հիմնական գործառույթը տեղափոխվել է նոր GtkText վիջեթ, որը ներառում է նաև ընդլայնված GtkEditable խմբագրման ինտերֆեյս: Բոլոր առկա տվյալների մուտքագրման ենթադասերը վերափոխվել են որպես GtkEditable իրականացումներ՝ հիմնված նոր GtkText վիջեթի վրա;
  • Ավելացվել է նոր GtkPasswordEntry վիջեթ գաղտնաբառի մուտքագրման ձևերի համար;
  • GtkWidgets-ն ավելացրել է երեխայի տարրերը փոխակերպելու հնարավորություն՝ օգտագործելով CSS-ի միջոցով նշված գծային փոխակերպման մեթոդները կամ gtk_widget_allocate արգումենտը GskTransform-ին: Նշված հատկանիշն արդեն կիրառվում է GtkFixed վիդջեթում;
  • Ավելացվել են ցուցակի սերնդի նոր մոդելներ՝ GtkMapListModel, GtkSliceListModel, GtkSortListModel, GtkSelectionModel և GtkSingleSelection: Ապագայում մենք նախատեսում ենք GtkListView-ին ավելացնել ցուցակի մոդելների աջակցություն;
  • GtkBuilder-ը ավելացրել է օբյեկտի հատկությունները տեղայնորեն (ներկառուցված) սահմանելու հնարավորությունը՝ նույնացուցիչով հղումներ օգտագործելու փոխարեն.
  • Gtk4-builder-tool-ին ավելացվել է հրաման՝ UI ֆայլերը GTK 3-ից GTK 4 փոխարկելու համար;
  • Հիմնական թեմաների, աղյուսակային ընտրացանկերի և համակցված տուփերի աջակցությունը դադարեցվել է: GtkInvisible վիջեթը հեռացվել է:

    Source: opennet.ru

Добавить комментарий