Проект Enlightenment анонсировал начало портирования набора библиотек EFL (Enlightenment Foundation Library) для операционной системы Game OS, используемой на игровой консоли Playstation 3. Целью проекта является предоставление разработчикам инструментария, позволяющего создавать приложения с графическим интерфейсом, отличающимся компактностью, низким потреблением ресурсов и высокой производительностью. Ранее доступные неофициальный SDK PSL1GHT и порт SDL требовали от разработчиков графических приложений выполнения большого объема лишней работы. Портирование EFL заполнит незанятую нишу и предоставит готовый набор компонентов, который позволит значительно упростить создание графических программ.

Порт пока находится на начальной стадии развития. Из уже адаптированных для работы в программном окружении Playstation 3 компонентов отмечаются:

  • Eina - библиотека с реализацией различных типов данных (массив, хэш, список, дерево) и полезных инструментов (работа с логами, оценка производительности, преобразование форматов и т.д.);
  • Eet - библиотека для записи произвольного набора блоков данных в файл и их последующего частого чтения в произвольном порядке;
  • Evas - система рендеринга для организации вывода на экран. Evas оперирует содержимым экрана как сценой, на которой размещаются определенные объекты, состояние которых в последующем отслеживается. Подобный подход, абстрагированный от размещения экранных элементов, позволяет разрабатывать интерфейс пользователя с точки зрения дизайнера, а не программиста (в коде достаточно определить только логику и не думать о прорисовке и выводе на экран). Evas также абстрагирует метод вывода, что позволяет использовать один и тот же код в сочетании как с программным рендерингом, так и с OpenGL. При этом над сценой можно проделывать такие операции как масштабирование, вращение и 3D-трансформации;
  • Ecore - библиотека для организации цикла обработки событий, имеющая в своем арсенале набор модулей для упрощения связанных с обработкой событий задач, таких как работа с X, Evas, нитями, сетевыми соединениями и т.п.;
  • Embryo - библиотека для написания небольших компилируемых приложений для встраиваемых устройств;
  • Edje - графическая библиотека, отделяющая внешний вид от кода (оформление задается в виде загружаемого из файла шаблона). По своей сути Edje занимает нишу где-то между HTML+CSS и Flash/PSD/SVG. При помощи данной библиотеки можно сформировать насыщенный пользовательский интерфейс, снабженный анимированными визуальными эффектами и поддерживающий динамическое оформление (внешний вид можно полностью поменять просто сменив EDJ-шаблон и не трогая код, при этом, в отличие от визуальных тем, порядок расположения элементов может быть произвольно изменен).

В текущем виде порт библиотеки рендеринга Evas для Playstation 3 реализован поверх SDL и использует функции SDK PSL1GHT для управления экраном. Порт работает достаточно стабильно, но производительность вывода графики оставляет желать лучшего, так как рендеринг пока производится программно, без задействования аппаратной акселерации. Из устройств ввода поддерживаются мышь и клавиатура, а также режим эмуляции мыши при использовании пульта PS3. Видеодемонстрацию работы EFL на Playstation 3 можно посмотреть на YouTube.

Из возможностей, реализация которых пока не завершена отмечается поддержка аппаратной акселерации отрисовки, возможность полноценного использования джойстика, поддержка беспроводного датчика движения (Sony Move Motion Controller), портирование программ и игр для использования EFL. Отдельно упоминается намерение обеспечить в будущем полную поддержку всех виджетов, доступных в пакете Elementary. В настоящее время уже портированы некоторые базовые виджеты. После завершения работы разработчики программ для Playstation 3 получат возможность задействования в своих приложениях полного арсенала готовых виджетов, от кнопок и элементов управления до календаря и модуля редактирования текста. Подключение шаблонизатора Edje даст возможность легкого использования в приложениях и играх визуальных тем и анимированных эффектов.

Источник: http://www.opennet.ru/opennews/art.shtml?num=31780