The OpenNET Project / Index page

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

Релиз графической библиотеки Clutter 1.8.0

21.09.2011 12:42

После девяти месяцев разработки представлен выпуск новой стабильной ветки графической библиотеки Clutter - 1.8.0, API и ABI которой обратно совместимы с прошлыми версиями библиотеки. Библиотека может работать поверх OpenGL, GLib, GObject, GLX, SDL, WGL, Quartz, EGL и Pango. Имеются биндинги для языков Perl, Python, C#, C++, Vala и Ruby. Исходные тексты распространяются в рамках лицензии LGPLv 2.1.

Clutter активно используется для обеспечения работы пользовательского интерфейса в проектах MeeGo и GNOME 3. Функции библиотеки Clutter ориентированы на активное использование анимации и визуальных эффектов, что позволяет применять при создании обычных GUI приложений методы, используемые при разработке игр. При этом сама библиотека напоминает игровой движок, в котором максимальное число операций выносится на плечи GPU. Одним из основных преимуществ Clutter является то, что для создания сложного интерфейса пользователя требуется написание минимума кода.

В настоящий момент доступны такие интеграционные модули, как:

  • Clutter-GTK - для интеграции с GObject и предоставления API в стиле GTK+;
  • Clutter-GStreamer - для отображения видеопотоков в виде элементов холста Clutter;
  • Clutter-Box2D - для симулирования физических процессов, таких как гравитация, инерция или реалистичные столкновения;
  • Clutter-MozEmbed и Clutter-WebKit - для рендеринга web-страниц через движок Mozilla Gecko или WebKit;
  • Clutter-Qt для интеграции возможностей Clutter в Qt приложения;

Ключевые новшества Clutter 1.8.0:

  • Из дерева исходных текстов удалена низкоуровневая библиотека COGL, используемая для абстрагирования доступа к OpenGL. Программный интерфейс для обращения к OpenGL теперь будет развиваться в отдельном репозитории и распространяться в виде независимой библиотеки, нацеленной на низкоуровневое программирование для GPU. Clutter будет использовать данную библиотеку как внешнюю зависимость;
  • Реализованы новые базовые классы ClutterGestureAction и ClutterSwipeAction. ClutterGestureAction предназначен для организации выполнения действий при распознавании управляющих жестов, сам код распознавания жестов должен быть написан отдельно. ClutterSwipeAction является дочерним классом ClutterGestureAction и содержит пример реализации распознавания жеста "перелистывание страниц". В общем виде новый GestureAction API является первым шагом к обеспечению готовности Clutter для поддержки мультитач, которая пока не реализована;
  • Объект ClutterState, определяющий анимированные трансформации между несколькими состояниями, теперь можно связывать с сигналами из ClutterScript. В процессе определения сцены при помощи ClutterScript стало возможным непосредственно связать состояние внутри объекта ClutterState с сигналом внешнего объекта, без создания дополнительного обработчика сигнала;
  • Добавлен класс ClutterDropAction, позволяющий отреагировать при перетаскивании элемента через указанную область или при отпускании элемента в этой области (при использовании механизма drag&drop);
  • Бэкенд для платформы Mac OS X переведен из разряда экспериментальных в категорию поддерживаемых и стабильных;
  • Переработан объект ClutterCairoTexture с целю упрощения процесса отрисовки с использованием библиотеки Cairo. Отныне не нужно вручную обрабатывать контекст cairo_t;
  • Расширен раздел полезных рецептов в документации, добавлены примеры готового кода для различных классов.

    1. Главная ссылка к новости (http://www.clutter-project.org...)
    Лицензия: CC BY 3.0
    Короткая ссылка: https://opennet.ru/31813-Clutter
    Ключевые слова: Clutter, lib, graph
    При перепечатке указание ссылки на opennet.ru обязательно


    Обсуждение (12) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 16:18, 21/09/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Кто писал на этом? как ощущения?
     
     
  • 2.2, bw (ok), 16:41, 21/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Низкоуровневый игровой движок. Наверное годно для полноэкранных медиаприложений, но для традиционных никак. Это первое ощущение, дальше разбираться не стал. Я не вижу места для этой поделки в большинстве приложений. Похоже оно для разработки анимаций, а не для пользовательских интерфейсов, хотя в Blender3D вписалась бы (или в какую-нибудь другую "глобальную" среду).

    ..bw

     
     
  • 3.10, prokoudine (??), 22:32, 21/09/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Что такое "традиционные приложения"?
     
     
  • 4.12, Аноним (-), 17:42, 23/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Те, которые ориентируются на удобство работы, а не на "красотульки", я полагаю.
     

  • 1.3, Аноним (-), 18:00, 21/09/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    на чем она реализованна?( не на поверх чего работает на чем написанна)
     
  • 1.4, Аноним (-), 20:17, 21/09/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Как же задолбало псевдо-ООП на си...
     
     
  • 2.5, Anonymous100500 (?), 20:41, 21/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Обоснуй за "псевдо", весельчак.
     
     
  • 3.6, Аноним (-), 20:58, 21/09/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Потому что в языке Си нет ООП и он для этого не предназначен. Подход а-ля GLib/Gtk - это эпичный велосипед на реактивной тяге, который требует адского количества телодвижений даже для таких простых вещей, как создать класс и отнаследовать его, не говоря уже про полиморфизм. Код при этом, гхм, *не очень приятно читать*, плюс ко всему он работает медленнее, т.к. плюсовые компиляторы эффективнее пакуют и раскладывают по памяти виртуальные таблицы, чем это сделает человек.

    Упоротые фанатики, ради эфемерного ООП, готовы на такого ледянящего душу белого и пушистого зверька, а всё ради чего? Ниасилили плюсы?

     
     
  • 4.7, Aquarius (ok), 21:33, 21/09/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    есть мнение, что объектноориентированность, так же как и разруха по пр. Преображенскому не в средствах языка, а в головах программистов, а средства языка просто делают язык более лаконичным (программистам меньше по клавишам стучать, копипастить и пользоваться другими автоматизациями написания шаблонных кусков кода в итоге приходится) для таких программистов
     
  • 4.8, anonymous vulgaris (?), 21:35, 21/09/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Упоротые фанатики, ради эфемерного ООП, готовы на такого ледянящего душу белого и  пушистого зверька, а всё ради чего? Ниасилили плюсы?

    // vector uses My_alloc and string uses My_string_alloc:
    using xstring2 = basic_string<char, char_traits<char>, My_string_alloc<char>>;
    using svec3 = vector<xstring2,scoped_allocator_adaptor<My_alloc<xstring>, My_string_alloc<char>>>;
    svec v3(scoped_allocator_adaptor<My_alloc<xstring2>, My_string_alloc<char>>{my_arena1,my_string_arena});

     
     
  • 5.9, Аноним (-), 22:06, 21/09/2011 [^] [^^] [^^^] [ответить]  
  • +/
    class GtkWindow : public GtkWidget
    {
    public:
        virtual void show() {...}
    };
     
  • 4.11, prokoudine (??), 22:35, 21/09/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Упоротые фанатики, ради эфемерного ООП, готовы на такого ледянящего душу белого и
    > пушистого зверька, а всё ради чего? Ниасилили плюсы?

    Чего только не выдумаешь, чтобы лишний раз посмотреть на брызжущего слюной неадеквата.

    Не нравится — ЯП кроме Си ещё полным-полно. Пиши сколько влезет. Твои вопли мало кого интересуют. Чемодан, вокзал, сорсфордж.

     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



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

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