The OpenNET Project / Index page

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

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

После девяти месяцев разработки представлен выпуск новой стабильной ветки графической библиотеки 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
    Тип: Программы
    Ключевые слова: Clutter, lib, graph
    При перепечатке указание ссылки на opennet.ru обязательно
    Обсуждение Линейный вид | Ajax | Показать все | RSS
     
  • 1.1, Аноним, 16:18, 21/09/2011 [ответить] [смотреть все]
  • +/
    Кто писал на этом? как ощущения?
     
     
  • 2.2, bw, 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 G... весь текст скрыт [показать]
     
     
  • 4.7, Aquarius, 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:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor