Алты айлык иштеп чыгуудан кийин графикалык колдонуучу интерфейсин түзүү үчүн мультиплатформалуу инструменттер топтомунун релизи жарык көрдү - GTK 4.16.0. GTK 4 тиркемени иштеп чыгуучуларга туруктуу, көп жылдык колдоого алынган API менен камсыз кылууга аракет кылган иштеп чыгуу процессинин бир бөлүгү катары иштелип чыгууда, аны ар бир алты ай сайын кийинки GTK бутагындагы API өзгөрүүлөрүнөн улам колдонмолорду кайра жасап туруудан коркпостон колдонууга болот.
GTK 4.16 эң көрүнүктүү жакшыртуулардын айрымдары төмөнкүлөрдү камтыйт:
- Кошулган gtk-шрифт-көрсөтүү жөндөөсү, ал шрифт көрсөтүүнү көзөмөлдөө үчүн ийкемдүү жогорку деңгээлдеги опцияларды камсыз кылат. Төмөн деңгээлдеги шрифт жөндөөлөрүн колдонуу үчүн, gtk-font-rendering параметрин "мануалдык" кылып коюңуз.
- OpenGL жана Vulkan аркылуу графикалык көрүнүштөрдү көрсөтүү мүмкүнчүлүгүн камсыз кылган GSK китепканасы (GTK Scene Kit), демейки шартта Vulkan графикасынын API'син түздөн-түз колдонгон Wayland протоколуна негизделген чөйрөлөрдө көрсөтүү үчүн "vulkan" рендеринг кыймылдаткычын колдонот. Болбосо, Vulkan API үстүндө иштеген OpenGL ишке ашырууну сунуштаган "ngl" рендеринг кыймылдаткычы колдонула берет. Кыймылдаткычты өзгөртүү үчүн "GSK_RENDERER" чөйрө өзгөрмөсүн колдонсоңуз болот. "Vulkan" жана "ngl" кыймылдаткычтары графикалык драйверлер менен башкача иштешкендиктен, алар менен туруктуу иштеши үчүн Mesa 24.2 акыркы релизди колдонуу сунушталат.
- GSK китепканасына башка өзгөртүүлөр кирет:
- Башка тунук эмес объекттердин артына же көрүү талаасынан тышкары катылган объекттерди көрсөтүүнү жокко чыгарган "окклюзияны жок кылуу" оптималдаштыруу ыкмасы ишке ашырылды.
- Композит процессинде түс мейкиндиги жөнүндө маалымат эске алынат.
- Жакшыртылган глиф жана текстура кэштөө.
- Текстураны кайталоо менен кемчиликсиз бетти түзүү үчүн чоң текстураларды плиткалоо үчүн кошумча колдоо.
- Жакшыртылган көлөкө көрсөтүү.
- Айландырылган текстураларды иштетүү үчүн, мисалы, экранда айланган мазмунду көрсөтүү үчүн аппараттык тездетүүнү колдонуу мүмкүнчүлүгү кошулду.
- Kwin курама менеджери бар системаларда аппараттык тездетүү механизмдерин колдонуу жакшыртылды.
- Сызыктуу бириктирүү режимин иштетүү үчүн "GDK_DEBUG=сызыктуу" мүчүлүштүктөрдү оңдоо опциясы кошулду. "GDK_DEBUG=түшүрүү" жана "GSK_DEBUG=рендерер" опцияларын колдонууда жакшыртылган журнал.
- Wayland протоколуна жана kwin курама менеджерине негизделген чөйрөдө иштегенде түстөрдү башкаруу үчүн протоколдун кеңейтүүсүн (түстөрдү башкаруу) колдонсо болот. Кадалган диалогдорду көрсөтүүдө Wayland кеңейтүү xdg-диалогу колдонулат. Композиттоодо wl_compositor объектинин алтынчы версиясы колдонулат. OpenGL үчүн текстураны иштетүүнү аппараттык тездетүү учурунда dmabuf колдонууга уруксат берүү.
- GTK менен графикалык подсистеманын ортосундагы катмарды камсыз кылган GDK китепканасын жакшыртуулар:
- Түстүү мейкиндиктер менен иштөөнүн мүмкүнчүлүктөрү бир топ кеңейтилди. srgb, srgb-linear, rec2100-pq жана rec2100-сызыктуу түс мейкиндиктерин колдоо камсыздалган жана HDR түс мейкиндиктерин колдоону ишке ашыруу үчүн даярдыктар көрүлгөн. GdkColorState объектиси сунушталган, ал бир түс мейкиндигин экинчисине которуу үчүн колдонула турган түстөрдү чечмелөө маалыматын берет. Түс мейкиндиктери жөнүндө маалыматы бар объекттерди түзүү үчүн Gdk.CicpParams объекти кошулду. Түс мейкиндиктерин колдонуу мүмкүнчүлүгү GdkTexture объектисине, ошондой эле текстураларды түзүү, жүктөө жана конвертациялоо объекттерине кошулду.
- Кайра чалуулардын негизинде курсор менен иштөө үчүн жаңы API ишке ашырылды.
- CPU аркылуу MIP-текстуралоо операцияларын (MipMap, объектти камерадан алыстатууда колдонулган текстуралардын кичине версияларын түзүү) аткаруу мүмкүнчүлүгү ишке ашырылган.
- Жип бассейни түстөрдү өзгөртүү жана мип-текстуралоо үчүн колдонулат.
- xdg-activation-v1 протоколу үчүн активдештирүү белгиси менен XDG_ACTIVATION_TOKEN чөйрө өзгөрмөсүнө колдоо кошулду, анын жардамы менен бир колдонмо фокусту экинчисине которушу мүмкүн.
- GdkMemoryTextureBuilder классы кошулду, ал RAMда сакталган маалыматтардан текстуралары бар объекттерди (GdkTexture) түзүүгө мүмкүндүк берет.
- CSS негизиндеги темаларды түзүү мүмкүнчүлүктөрү кеңейтилди. Өзгөрмөлөрдү жана ыңгайлаштырылган касиеттерди колдоо кошулду. CSS-функциялары color(), oklab(), color-mix(), ошондой эле математикалык функциялар ишке ашырылды. Түстөрдүн салыштырмалуу аныктамаларын (функциялары менен абсолюттук түстөрдү өзгөртүү) колдонууга, ошондой эле ачыктыктын деңгээлин пайыз катары коюуга болот. Түстөр, алкактар, көлөкөлөр жана тексттер менен иштөөдө түс мейкиндиктери жөнүндө маалыматтар эске алынат.
- URL аркылуу берилиштерди жүктөө үчүн “экстракт” буйруктары жана rendernode куралынын утилитасына текстураларды манипуляциялоо үчүн “сүрөт” буйруктары кошулду. PDF форматында файлдарды түзүү мүмкүнчүлүгү ишке ашырылды.
- "Түйүн катары чаптоо" операциясы gtk4-түйүн редакторунун интерфейсине кошулду.
- GtkFileChooserWidget файл тандоо виджетине каталогдорду түзүү үчүн Ctrl-Shift-N айкалышы үчүн колдоо кошулду.
- GtkPopover popover виджети өлчөмүн өзгөртүү жана жайгаштыруу менен иштөөнү жакшыртты.
- GSK рендерерин айланып өтүп, видео сыяктуу мазмунду түз жөнөтүү үчүн колдонулган GtkGraphicsOffload виджети кара фон чыгаруу үчүн "кара фон" касиетин кошту.

- OpenGL чыгаруу үчүн иштелип чыккан GtkGLArea виджети эми dmabuf текстурасын түзүүнү колдойт, бул GtkGraphicsOffload виджетине композиттик сервер аркылуу түз чыгаруу үчүн колдонууга мүмкүндүк берет. Композиттик сервер менен иштөө жакшыртылды. сервер.

- GtkTextView виджетине көлөкөсү бар текстти көрсөтүү үчүн колдоо кошулду жана GtkTextBufferCommitNotify эскертмелерин колдонуу мүмкүнчүлүгү ишке ашырылды.
- GtkCheckButton виджетине топтун стилдерин аныктоо үчүн колдоо кошулду.
- Мүчүлүштүктөрдү оңдоо мүмкүнчүлүктөрү жакшыртылды. Текшерүү интерфейсине түстүү мейкиндиктер жөнүндө маалымат, ошондой эле монитордун чечилиши жөнүндө маалымат кошулду. GDK_DEBUG чөйрө өзгөрмөсү GDK_DEBUG жана GDK_DISABLE болуп бөлүнөт. GDK_DISABLE=color-mgmt жана GDK_DISABLE=түшүрүү режимдери кошулду. Эскирген CSS функцияларын колдонууда эскертүүлөрдү көрсөтүү үчүн GTK_DEBUG=css режими кошулду. Окуялар журналын жаздыруу үчүн Super-r жана скриншотту тартуу үчүн Super-c баскычтоптору кошулду.
- Көз карандылыкка жана куруу чөйрөсүнө талаптар көтөрүлдү. Куруу үчүн сизге азыр C11 колдоосу менен компилятор керек жана жок дегенде gstreamer 1.24, pango 1.52 жана cairo 1.18 версиялары керек. gtk_doc (документацияны колдонуу керек), update_скриншоттору (-> скриншоттор), демо-профиль (-> профиль) жана демонстрациялар (-> куруу-демо) үчүн эски куруу режимдерин колдоо токтотулду.
- macOS 10.15+ үчүн экрандагы пикселдердин түсүн аныктоочу интерфейс (түс тандагыч) ишке ашырылган.
- Windows үчүн, кошумча көрсөтүү режими WGL API аркылуу иштетилген.
Source: opennet.ru


