The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Доступен графический тулкит GTK 4.22 со встроенным движком отрисовки SVG"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Доступен графический тулкит GTK 4.22 со встроенным движком отрисовки SVG"  +/
Сообщение от opennews (ok), 08-Мрт-26, 22:18 
После шести месяцев разработки опубликован релиз многоплатформенного тулкита для создания графического интерфейса пользователя - GTK 4.22. GTK 4 развивается в рамках  процесса разработки, который пытается предоставить разработчикам приложений стабильный и поддерживаемый в течение нескольких лет API, который можно использовать не опасаясь, что каждые полгода придётся переделывать приложения из-за изменения API в очередной ветке GTK...

Подробнее: https://www.opennet.dev/opennews/art.shtml?num=64939

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

2. Сообщение от Аноним (-), 08-Мрт-26, 22:38   +13 +/
выпилена либа на расте, заменена на сишную реализацию

добавлено, еще добавлено, еще добавлено, реализовано...

это что хоть такое то?

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #3, #14, #16, #30, #40

3. Сообщение от Аноним (3), 08-Мрт-26, 22:43   +15 +/
> выпилена либа на расте, заменена на сишную реализацию

Уже за одно это жирный плюс!

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

4. Сообщение от Аноним (4), 08-Мрт-26, 22:47   +3 +/
> пытается предоставить разработчикам приложений стабильный и поддерживаемый в течение нескольких лет API

Пусть пытаются. Всё равно получится как с 2 или 3 - канут в лета.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #11, #19

5. Сообщение от Семён Бубёныйemail (?), 08-Мрт-26, 23:05   –2 +/
Почитав в этих ваших интернетах про различные атаки направленные на эксплуатацию уязвимостей, внедрение в svg стороннего кода и прочую хрень, подумалось мне, что как-то несекьюрно это всё...
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #6

6. Сообщение от Аноним (6), 08-Мрт-26, 23:10   +/
Несекурно для чего? Для локального настольного приложения?
Рендерить на GTK для web - если технически возможно, то уже хорошо, но смысла всё равно мало.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5 Ответы: #10

10. Сообщение от windows10email (ok), 08-Мрт-26, 23:44   +/
> Несекурно для чего? Для локального настольного приложения?

Ога. Прикинь я пришлю тебе файлик, малвари нет, мамой клянусь, и попрошу его запустить. Рискнешь?

А здесь - файлик запустится без твоего согласия. Как? Например когда тебе на почту придет сообщение, а твой почтовик для предпросмотра отрисует SVG в нем средствами системы.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6 Ответы: #42

11. Сообщение от Аноним (-), 08-Мрт-26, 23:51   +1 +/
ну хоть не "в лето"
Естественно канет — всего несколько лет обещают
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4

12. Сообщение от Аноним (12), 09-Мрт-26, 00:09   –3 +/
> Добавлена встроенная система отрисовки и разбора изображений в формате SVG
> Для работы с форматом SVG предложен класс Gtk.Svg, позволяющий обойтись
> без внешних зависимостей при отрисовке векторных пиктограмм и ресурсов
> для приложений.

Эм... в этом убожестве не было встроенной поддержки svg до сих пор?!
В qt поддержку добавили еще в конце 2005го. А gtkшники только через 20+ лет осилили.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #17, #26, #32

14. Сообщение от Аноним (14), 09-Мрт-26, 00:37   –1 +/
> это что хоть такое то?

Ты прямо как чиновник министерства культуры на выставке современного искусства - "Ничего не понимаю! Это что вообще такое? Ничего не понимаю!"

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

16. Сообщение от 12yoexpert (ok), 09-Мрт-26, 02:14   +3 +/
вроде как написали, что в librsvg не хватает гибкости API (втупую переделать SVG в пиксели для GTK не подходит),  плюс иметь раст в качестве зависимости неудобно
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

17. Сообщение от Аноним (17), 09-Мрт-26, 02:21   +/
Поддержка была, но через отдельную либу. Сейчас все прикрутили напрямую к тулкиту дополнив парочкой свистоперделок (анимации, вариативная толщина линий)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12

19. Сообщение от Аноним (19), 09-Мрт-26, 05:44   –1 +/
"в Лету" (это река)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #51

20. Сообщение от Аноним (20), 09-Мрт-26, 06:30   +/
Поясните, пожалуйста, кратко. Почему реализация формата SVG не проходит тест совместимости на 100%? Как такое может быть?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #22, #24, #28

21. Сообщение от Аноним (22), 09-Мрт-26, 06:33   +2 +/
Ящетаю никто не может сделать также круто, как гайка со своим hvif.
Ответить | Правка | Наверх | Cообщить модератору

22. Сообщение от Аноним (22), 09-Мрт-26, 06:34   +1 +/
Может скрипты выпилили? (и это правильно)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #20

23. Сообщение от laindono (ok), 09-Мрт-26, 06:56   +/
> Не проходит кучу тестов

А хоть с какими-то веб-стандартами есть реализации которые проходят тесты? В лучшем случае 3/4 тестов проходятся.

Ответить | Правка | Наверх | Cообщить модератору

24. Сообщение от Аноним (24), 09-Мрт-26, 07:18    Скрыто ботом-модератором+/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #20

25. Сообщение от Аноним (25), 09-Мрт-26, 07:51   +/
> Библиотека librsvg, ранее используемая для отрисовки
> SVG-пиктограмм, удалена из числа зависимостей.

Переписать на Rust и ... что? А, выкинуть нафиг - и еще раз переписать? Походу заразное это дело, переписывать софт :)

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #29

26. Сообщение от Аноним (26), 09-Мрт-26, 08:15   +1 +/
Убожество тут это только вы. Хотя бы https://x.com/i/status/2030700347485003908 прочтите

В gtk поддержка svg тоже 20+ лет, начиная с первых gtk 3. Но была с фундаментальным недостатком, как и в qt - растеризация на этапе загрузки svg, дальше тулкит работает с пикселями. Оказалось, это не очень хорошо работает с hidpi/нецелым масштабированием (благо, дарованное нам Wayland) и анимациями.

Сделали свою реализацию, чтобы обрабатывать вектор как вектор и растеризовать на позднем этапе, идеально под задачи типа перемещения окна между экраном ноута и монитором с разными dpi.

А qt это все ещё предстоит в будущем когда-нибудь, пока он (как и с внедрением svg) от gtk технологически отстаёт.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12 Ответы: #27

27. Сообщение от Аноним (26), 09-Мрт-26, 08:16   +/
https://blogs.gnome.org/gtk/2025/10/23/svg-in-gtk/ конечно же )) ссылка из новости
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26

28. Сообщение от Аноним (26), 09-Мрт-26, 08:19   +/
Потому что полная спецификация включает всякие навороченные фильтры размытия и прочее, что актуально только в inkscape, а не для рендеринга иконок. Текущего покрытия тестами достаточно чтобы корректно рендерить все что существует в иконках.

А для inkscape нужна более полная реализация

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #20 Ответы: #38, #46

29. Сообщение от Аноним (26), 09-Мрт-26, 08:20   +/
С библиотеками на rust неудобно под Андроидом.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #25 Ответы: #35, #41

30. Сообщение от Аноним (30), 09-Мрт-26, 08:32   +/
А какже unix-way?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

31. Сообщение от Аноним (32), 09-Мрт-26, 09:25   +1 +/
> В API GtkApplication добавлена возможность сохранения состояния, используя протокол xx-session-management. В GNOME 50 данная функциональность задействована для сохранения сеансов и восстановления позиций окон.

Бгг. В марте 2026 в Gtk под Wayland теперь наконец-то появилось возможность сохранять позицию окон. 👍

Хотя странно: местные эксперты говорили, что это никому не нужно. 🤔

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #34

32. Сообщение от Аноним (32), 09-Мрт-26, 09:31   +/
> В qt поддержку добавили еще в конце 2005го. А gtkшники только через 20+ лет осилили

Поинтересуйся, когда они осилили добавить превьюхи в диалог выбора файлов. 😉

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12 Ответы: #44

33. Сообщение от Zloy (ok), 09-Мрт-26, 09:34   +/
И что, когда мы получим современный Gimp? Единственный проект, который похоже никому не нужен, Krita и Blender давно развились и благодаря этому смогли получить финансовую поддержку, а Гимп как будто самим разрабам не нужен.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #36, #52

34. Сообщение от Аноним (4), 09-Мрт-26, 09:37   +2 +/
> под Wayland теперь наконец-то появилось возможность сохранять позицию окон

За 18 лет разработки - это серьёзный результат.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #31

35. Сообщение от Аноним (32), 09-Мрт-26, 10:01   +/
В каком смысле "не удобно"?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #29 Ответы: #37

36. Сообщение от Аноним (36), 09-Мрт-26, 12:01   +/
Крита уже прекратила калечить текст при редактировании?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #33

37. Сообщение от Аноним (26), 09-Мрт-26, 12:55   +1 +/
Сборка через задницу. Сборка под андроид через Gradle, С-шный код в Gtk собирается Meson, а Раст не умеет ни того ни другого. Раст требует сборки через Cargo, который имеет кучу проблем при сборке под андроид, так себе интегрируется с Gradle, а чтобы все 3 системы сборки совместились, приходится как следует пострадать. Кросс-компиляция это вообще ад. Проекты под андроид которым не повезло заиметь либу на Rust страдают от багов вроде https://github.com/termux/termux-packages/issues/25722

Если чисто раст+андроид то проблема решена в альтернативном cargo-ndk, но это не подходит для проектов в которых уже rust код собирается через Cargo, т.к. это разные тулзы.

Все настолько плохо что мозилла написала свою альтернативу https://github.com/mozilla/rust-android-gradle чтобы исключить Cargo из сборки под андроид. Но в Gtk решили видимо что проще выкинуть раст, чем усложнять сборку для частны случаев.

Также раст требует своей собственной C'шной либы libstd. Андроидовский Bionic заменяет Glibc, но libstd заменить не может. В итоге нужно линковать с двумя сишными либами, что проблематично, штатный раст это решает тем что не линкуется а через dlopen открывает свой libstd. Но это не работает на андроиде. В итоге надо извращаться и линковать либу статически, что не так тривиально и легко выстрелить себе в ногу и иметь баги типа https://stackoverflow.com/questions/76074261/rust-apk-crashe... или https://github.com/rusqlite/rusqlite/issues/1380

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #35 Ответы: #39

38. Сообщение от Аноним (38), 09-Мрт-26, 13:07   –1 +/
Походу, SVG придумывали те же старые маразматики, что и HTML. Наструя ВЕКТОРНОМУ РИСУНКУ размытия и вообще какие-либо фильтры? Это задача сугубо прикладная и должна решаться в каждом приложении отдельно. Рисунок - это набор фигур, там вообще не упали никакие процессинги. Даже толщина линий - сугубо дело рендера.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #28 Ответы: #45, #48

39. Сообщение от Аноним (38), 09-Мрт-26, 13:11   +/
Прекрасное описание! Сразу видно, насколько тупо растаманы брались за дело - наклепали язычок, а что он будет делать в современном ИТ - да по__й, как нибудь протолкнём! :))
Аналогично, Ведроид - худшая из всех мыслимых ОС. Заточенная на жабу, бестолковая внутри и совершенно небезопасная снаружи.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #37 Ответы: #49

40. Сообщение от Аноним (-), 09-Мрт-26, 13:18   +/
> выпилена либа на расте, заменена на сишную реализацию
> добавлено, еще добавлено, еще добавлено, реализовано...
> это что хоть такое то?

Гномеры стали наконец догадываться насколько они всех заколебали своими фортелями и где их репутация среди разработчиков? Не прошло и 10 лет. Или таки прошло? :)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

41. Сообщение от Аноним (-), 09-Мрт-26, 13:21   +/
> С библиотеками на rust неудобно под Андроидом.

По моему с ними неудобно - везде. И не только с библиотеками. Крап который собирается только "скачайте ночнушку" вообще собирать - неудобно и враждебно. Надо качать какой-то варез от каких-то васянов, которые мне никто - сразу бинарями. С фиг знает какими полисями майнтенанса. Очень так себе счастье.

В дебиане на тему сборки фс утилс от кента - весьма сравнимые коменты были.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #29 Ответы: #43, #50

42. Сообщение от МИСАКА (?), 09-Мрт-26, 13:23   +/
CVE-2026-25646
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10

43. Сообщение от Аноним (43), 09-Мрт-26, 13:45   +/
ну насчет бинарей - если тебе не жалко потратить время на сборку 20 (20 карл!) версий раста, то можешь глянуть в статью от guix, где они добились сборки раста без бинарей
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #41

44. Сообщение от Аноним (44), 09-Мрт-26, 14:17   +/
А это kde-шники добавили.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #32

45. Сообщение от историк_кун (?), 09-Мрт-26, 16:10   +1 +/
> Даже толщина линий - сугубо дело рендера.

Как расписаться в дилетантстве, не называя себя дилетантом.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #38

46. Сообщение от историк_кун (?), 09-Мрт-26, 16:14   +/
В фильтрах SVG нет ничего навороченного. Это очень простые алгоритмы.

Inkscape эта библиотека никак не поможет, потому что там самое интересное и сложное происходит на холсте, а это вообще другая часть графического стека.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #28

47. Сообщение от Кирилл (??), 09-Мрт-26, 18:22   +/
И 10 лет не прошло! Хотя постойте...
Ответить | Правка | Наверх | Cообщить модератору

48. Сообщение от Аноним (48), 09-Мрт-26, 18:39   +/
> Наструя ВЕКТОРНОМУ РИСУНКУ размытия и вообще какие-либо фильтры? Это задача сугубо прикладная и должна решаться в каждом приложении отдельно

Ну ок: у тебя есть векторный рисунок, и одна из фигур должна быть размыта. Объясни, что куда ты собрался "прикладывать", чтобы решить эту проблему?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #38

49. Сообщение от Аноним (48), 09-Мрт-26, 18:41   +/
> Аналогично, Ведроид - худшая из всех мыслимых ОС

А какую альтернативу ты предлвгаешь для смартфонов/планшетов?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #39

50. Сообщение от Аноним (48), 09-Мрт-26, 18:42   +/
> Надо качать какой-то варез от каких-то васянов, которые мне никто - сразу бинарями

Как сказать, что ты гентушник, ничего не сказав. 😂

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #41

51. Сообщение от Аноним (51), 09-Мрт-26, 19:04   +/
> (это река)

Или равнина? Выяснить как и когда равнина стала рекой оставим в качестве упражнения для мотивированного и любопытного читателя.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #19

52. Сообщение от историк_кун (?), 09-Мрт-26, 20:40   +/
Гимп никак не может потратить два ляма вечнозеленых из заначки, а ты хочешь, чтобы они еще получили? Чтобы что?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #33

53. Сообщение от Аноним (53), 09-Мрт-26, 23:54   +/
Щелчок по нocy тем г-ным (гениальным) п-сам (программистам) из уе-ного (уездного) Rust for Gnome. Жду, когда отправят на мороз librsvg, а затем - glycin. Вы только гляньте на это: https://gitlab.gnome.org/GNOME/glycin/-/issues/203, а потом - в таск-менеджер.
Только Си. Только код, написанный людьми. Только компетентными людьми. У которых нет проблем с головой и адекватным (соответствующим действительности) самоопределением.
Ответить | Правка | Наверх | Cообщить модератору


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2026 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру