Даступны графічны тулкіт GTK 4.6

Пасля чатырох месяцаў распрацоўкі апублікаваны рэліз шматплатформавага тулкіта для стварэння графічнага інтэрфейсу карыстальніка – GTK 4.6.0. GTK 4 развіваецца ў рамках новага працэсу распрацоўкі, які спрабуе падаць распрацоўнікам прыкладанняў стабільны і які падтрымліваецца на працягу некалькіх гадоў API, які можна выкарыстоўваць не асцерагаючыся, што кожныя паўгода прыйдзецца перарабляць прыкладанні з-за змены API у чарговай галінцы GTK.

Сярод найболей прыкметных паляпшэнняў у GTK 4.6:

  • Выдалены стары рухавічок адмалёўкі на базе OpenGL, на змену якому прыйшоў новы рухавічок NGL, які пастаўляецца па змаўчанні пачынальна з GTK 4.2 і які забяспечвае больш высокую прадукцыйнасць. NGL перайменаваны ў GL. Перапісаны код загрузкі тэкстур, палепшана падтрымка фарматаў малюнкаў і каляровых прастор.
  • Значна перароблены код, звязаны з вылічэннем памераў элементаў і кампаноўкай віджэтаў. Раней уласцівасці GtkWidget::halign і GtkWidget::valign пры размяшчэнні элементаў адштурхваліся ад памеру віджэтаў па змаўчанні, што пры ўказанні толькі аднаго памеру ў рэжыме запаўнення вобласці магло прыводзіць да занятку элементам дадатковай прасторы. У GTK 4.6 рэалізаваная магчымасць адноснага вымярэння які адсутнічае памеру (напрыклад, калі зададзеная шырыня, пры размяшчэнні можа ўлічвацца даступная вышыня), што дазваляе зрабіць фішкі больш тонкімі без занятку лішняй прасторы.
    Даступны графічны тулкіт GTK 4.6
    Даступны графічны тулкіт GTK 4.6
  • У віджэце GtkBox рэалізавана магчымасць вылічэння індывідуальнага памеру даччыных элементаў. Калі раней прастора размяркоўвалася пароўну паміж даччынымі віджэтамі на аснове іх памеру па змаўчанні, то ў GTK 4.6 пры выснове рэалізаваны ўлік фактычнага памеру даччыных элементаў.
  • У віджэце GtkLabel рэалізавана падтрымка пераносу тэксту на адвольны лік радкоў, што дазваляе ствараць вузкія пазнакі, якія займаюць даступную вертыкальную прастору.
  • У клас GtkWindow дададзеная магчымасць падганяння мінімальнага памеру да каэфіцыента суадносін бакоў, што дазваляе адвольна змяняць памер акна, не асцерагаючыся, што яно будзе занадта дробным. Дададзена ўласцівасць «Window.titlebar».
  • Дададзена новае папярэджанне, якое інфармуе аб неадпаведнасці памераў у выпадку вяртання віджэт некарэктнага памеру. Gtk-CRITICAL **: 00:48:33.319: gtk_widget_measure: assertion 'for_size >= minimum opposite size' failed: 23 >= 42
  • У віджэце GtkTextView дададзена падтрымка табуляцыі, выраўнаванай па правай мяжы або па цэнтры. Дададзена падтрымка пераўтварэння тэксту і ўліку вышыні радка. Палепшана аперацыя пракруткі да пазначанай пазнакі. Палепшана апрацоўка адмены змен. Вырашаны праблемы пры ўстаўцы тэксту з буфера абмену і з выбарам месца для паказу інтэрфейсу ўстаўкі Emoji.
  • У віджэце GtkMenuButton прадстаўлена магчымасць вызначэння ўласных даччыных элементаў.
  • У GtkBuilder паскорана предкомпиляция шаблонаў.
  • Дададзены сігнал activate для актывацыі віджэтаў GtkComboBox і GtkDropDown.
  • У віджэт GtkDropDown дададзена ўласцівасць show-arrow для кіравання паказам стрэлкі.
    Даступны графічны тулкіт GTK 4.6
  • У GtkPopoverMenu дададзены атрыбут use-markup для выкарыстання Pango-разметкі ў тэксце меню.
  • У сістэме стыляў рэалізаваная падтрымка CSS-уласцівасцяў font-variant-caps для адлюстравання дробных загалоўных літар і text-transform для трансфармацыі тэксту.
  • Дададзены інтэрфейс GtkSymbolicPaintable для кіравання колерам знакавых піктаграм.
  • У інтэрфейс інспектавання дададзена падтрымка адсочвання аперацый Drag-and-Drop, забяспечаны паказ бягучага модуля ўводу, дададзены прагляднік змесціва буфера абмену, рэалізаваны графік для візуалізацыі gtk_widget_measure(), забяспечана магчымасць часопісавання падзей. Ва ўтыліту gtk4-node-editor дададзена падтрымка рэжыму Drag-and-Drop.
  • Для Wayland рэалізавана настройка для актывацыі рэжыму высокага кантрасту (high-contrast). Дададзена падтрымка пратаколу wl_seat v7.
  • Дададзена налада gtk-hint-font-metrics для набліжэння адмалёўкі тэксту да паводзін GTK3.
  • Для сістэм на базе X11 дададзеная падтрымка кіраўнікоў жэстаў на тачпадах (пры выкарыстанні XInput 2.4) і палепшаныя паводзіны перацягвання вокнаў за загаловак.
  • У бібліятэцы GDK, якая прадстаўляе праслойку паміж GTK і графічнай падсістэмай, палепшана праверка версій OpenGL і OpenGL ES. Дададзена падтрымка каляровай прасторы HSL. Пры загрузцы тэкстур і апрацоўцы фарматаў выяваў напроста задзейнічаны бібліятэкі libpng, libjpeg і libtiff. Код ініцыялізацыі EGL перанесены на бок фронтэнда. Дададзены новыя API: gdk_texture_new_from_bytes, gdk_texture_new_from_filename, gdk_texture_download_float, gdk_texture_save_to_png_bytes, gdk_texture_save_to_tiff, gdk_texture_save_to_tiff.
  • Галінка "master" у Git-рэпазітары пераназваная ў "main".

Крыніца: opennet.ru

Дадаць каментар