Выпуск графического тулкита GTK+ 3.16.0 с возможностью отрисовки через OpenGL
GTK+ спроектирован для поддержки не только C/C++, но и других языков программирования, таких как Perl и Python, что в сочетании с использованием визуального построителя интерфейса Glade позволяет существенно упростить разработку и сократить время написания графических интерфейсов. Организация вывода в GTK+ абстрагирована от типа оконных систем, например, поставляется бэкенд, обеспечивающий возможность работы поверх дисплейного сервера Wayland, а также бэкенд, позволяющий отрисовывать вывод библиотеки GTK+ в окне web-браузера (запустив Gtk-приложение на одной машине, можно открыть web-браузер на другой машине и получить доступ к интерфейсу данной программы).
Из добавленных в GTK+ 3.16.0 улучшений можно отметить:
- В GDK (GIMP Drawing Kit) встроена поддержка OpenGL, которая позволяет организовать отрисовку через OpenGL без использования внешних надстроек. Для рендеринга через OpenGL представлен новый виджет GtkGLArea, который ранее распространялся в виде внешнего дополнения. В обиход введён новый тип объекта GdkGLContext, который позволяет прикрепить контекст OpenGL к определённому окну GdkWindow и использовать команды OpenGL для отрисовки произвольных элементов GTK+ в данном окне. Реализация позволяет использовать OpenGL для отрисовки в окружениях X11 и Wayland через libepoxy с использованием GLX или EGL.
- В состав включён экспериментальный GDK-бэкенд, обеспечивающий возможность работы поверх дисплейного сервера Mir. Бэкенд включает в себя около 5 тысяч строк кода и пока не собирается по умолчанию - для его сборки требуется указать опцию "--enable-mir-backend". Для запуска приложения с использованием данного бэкенда следует установить переменную окружения "GDK_BACKEND=mir";
- Для объекта GtkStack реализован новый контроллер GtkStackSidebar, позволяющий создавать боковые панели;
- Добавлен новый тип кнопок GtkModelButton, в которых в качестве модели выступает GAction;
- В объект GtkPopover добавлен подкласс GtkPopoverMenu, упрощающий создание кнопок в заголовке окна (popover) в форме меню;
- Переработаны компоненты, отвечающие за прокрутку содержимого окон. Добавлена поддержка перекрытия (overlay) полос прокрутки. Обеспечена возможность индикации запрета прокрутки ('scrolled off'). Представлены новые сигналы "::edge-reached" и "::edge-overshot", а также новое правило GTK_POLICY_EXTERNAL, например, позволяющее реализовать сдвиг без видимых полос прокрутки.
- Удалены или объявлены устаревшими вызовы: gdk_window_set_static_gravities, gdk_window_set_composited, gtk_style_context_get_background_color, gtk_style_context_get_border_color, gtk_settings_set_string/long/double_property, gtk_settings_install_property, GtkStyleProperties, gdk_cursor_new, gdk_*_libgtk_only, GtkCellRendererPixbuf::follow-state.
Источник: http://www.opennet.ru/opennews/art.shtml?num=41890
|
0 | Tweet | Нравится |
|