EFL 1.2

Представлен стабильный релиз набора библиотек EFL (Enlightenment Foundation Library) 1.2, компоненты которого составляют основу проекта Enlightenment 17. Библиотеки EFL позволяют создавать визуально привлекательные графические интерфейсы, отличающиеся компактностью, низким потреблением ресурсов и высокой производительностью. Данные качества делают EFL привлекательным решением для построения интерфейсов потребительской электроники и мобильных устройств. Например, системы на базе EFL уже используются в бытовой технике Electrolux, телефонах Samsung, а также в продуктах компаний ProFUSION, Free.fr и Calaos. Не в последнюю очередь успех EFL среди коммерческих компаний обеспечен лицензией BSD. Основным новшеством этого релиза стало добавление набора виджетов Elementary.

Характеристики основных компонентов EFL:

  • Eina - библиотека с реализацией различных типов данных (массив, хеш, список, дерево) и полезных инструментов (работа с логами, оценка производительности, преобразование форматов и т.д.). В версии 1.2 добавлены следующие новшества:
    • API Eina_Semaphore.
    • Итератор для Eina_Xattr: eina_xattr_value_fd_ls и eina_xattr_value_ls.
    • Xattr-итератор для Eina_File: eina_file_xattr_get/value_get.
    • Тип данных eina_inarray.
    • Тип данных eina_value.
    • eina_file_stat.
    • Ускорена работа Eina_Rbtree.
  • Eet - библиотека, позволяющая записать любой набор блоков данных в файл и затем осуществить их быстрое произвольное чтение. В версии 1.6:
    • Добавлена поддержка GNUTLS 3.x.
    • eet_dictionary_count.
    • API EET_DATA_DESCRIPTOR_ADD_BASIC_VAR_ARRAY.
    • Большинство выделений памяти делается в пулах памяти.
    • Добавлено "eet -t FILE.EET" для получения статистики о eet-файлах.
    • Размер пакета в eet_connection увеличен до 1МБ.
  • Evas - система рендеринга для организации вывода на экран. Evas оперирует содержимым экрана как сценой, на которой размещаются определенные объекты, состояние которых в последующем отслеживается. Подобный подход, абстрагированный от размещения экранных элементов, позволяет разрабатывать интерфейс пользователя с точки зрения дизайнера, а не программиста (в коде достаточно определить только логику и не думать о прорисовке и выводе на экран). Evas также абстрагирует метод вывода, что позволяет использовать один и тот же код в сочетании как с программным рендерингом, так и с OpenGL. При этом над сценой можно проделывать такие операции как масштабирование, вращение и 3D-преобразований. Evas обеспечивает замечательную производительность даже при использовании программных методов рендеринга, без задействования аппаратной акселерации вывода. В версии 1.2:
    • В Textblock добавлена поддержка "самозакрывающихся" тегов таких как
      .
    • Добавлен Shm-движок для рисования в Wayland.
    • API evas_object_smart_callback_del_full.
    • В движок buffer добавлена поддержка двойной буферизации.
    • evas_textblock_cursor_word_start/end.
    • evas_textblock_text_utf8_to_markup.
    • Теги b и i в textblock стало возможно перезадать с помощью style.
    • Новый API для установки и получения значения флагов событий.
    • События сразу перед/после отрисовки холста.
    • API для установки и получения frame object.
    • evas_object_name_child_find.
    • EVAS_OBJECT_POINTER_MODE_NOGRAB_NO_REPEAT_UPDOWN.
    • EVAS_GL_OPTIONS_DIRECT.
    • evas_object_textblock_style_user_pop/push.
    • Использование Eina_File mmap при доступе к файлам в форматах bmp, ico, pmaps, psd, wbmp и xpm.
    • Расширена поддержка программной отрисовки через pixman.
    • Бэкенд evasgl для программ использующих OSMesa.
    • Был удалён движок Software_SDL.
  • Evas Generic Loaders - набор модулей для Evas, реализующих загрузку дополнительных форматов файлов, среди которых: xcf, ps, pdf, raw и мультимедийные форматы (через gstreamer). В версии 1.2:
    • Добавлены символические ссылки для *.dv, *.qt и *.rv видео форматов.
  • Ecore - библиотека для организации цикла обработки событий, имеющая в своём арсенале набор модулей для упрощения связанных с обработкой событий задач, таких как работа с X, Evas, потоками, сетевыми соединениями и т.д. В версии 1.2:
    • Добавлено множество новых функций.
    • API ecore_con_socks.
    • Поддержка Wayland.
    • Большинство выделений памяти делается в пулах памяти.
    • Возможность добавления сертификатов STARTTLS в ecore_con
  • Embryo - библиотека для написания небольших компилируемых приложений для встраиваемых устройств. В версии 1.2:
    • Поддержка exotic.
    • Добавлены функции asin(), acos(), atan(), atan2(), log1p(), cbrt(), exp(), exp2(), hypot().
  • Edje - графическая библиотека, отделяющая внешний вид от кода (оформление задается в виде загружаемого из файла шаблона). По своей сути Edje занимает нишу где-то между HTML+CSS и Flash/PSD/SVG. При помощи данной библиотеки можно сформировать насыщенный пользовательский интерфейс, снабженный анимированными визуальными эффектами и поддерживающий динамическое оформление (внешний вид можно полностью поменять просто сменив EDJ-шаблон и не трогая код, при этом, в отличие от визуальных тем, порядок расположения элементов может быть произвольно изменён). В версии 1.2:
    • Умный обратный вызов "recalc" для изменения размеров объекта.
    • EDJE_ASPECT_PREFER_SOURCE.
    • Добавлены min: SOURCE и max: SOURCE для IMAGE и GROUP.
    • Сигнал cursor,changed,manual от элемента.
    • undo/redo в элемене + IMF.
    • Для vkbd добавлены типы HEX, TERMINAL, PASSOWORD.
    • Добавлена возможность отключения рассылки широковещательных сигналов.
    • Добавлено множество новых функций.
    • Двойной щелчок в элементе выбирает слово, тройной -- строку.
    • Ускорена загрузка edje-файлов.
    • Уменьшено количество вызовов функции stat в edje_object_file_set.
    • Сценарии на Lua теперь более устойчивы к изменениям API.
    • edje_cc сохраняет в edje-файлы только активно используемые изображения.
  • Efreet - библиотека, упрощающая использование спецификаций freedesktop.org по работе с пиктограммами, desktop-файлами и меню. В версии 1.2:
    • Теперь вместо opendir() используется eina_file_direct_ls().
    • Улучшена документация.
  • E_Dbus - надстройка над DBus API, позволяющая использовать его в EFL-приложениях и интегрировать в основной цикл обработки событий Ecore/main. В версии 1.2:
    • Улучшено использование eina_log в enotify-daemon.
  • Eeze - библиотека для организации взаимодействия с внешними устройствами через udev, hal и другие механизмы. В версии 1.2:
    • Обнаружение bluetooth-устройств.
    • API для сетевых устройств (eeze_net_*).
  • Emotion - библиотека для проигрывания видео и аудио с помощью Gstreamer, Xine или других внешних плагинов (VLC) а также для отображения видео в Evas как стандартного объекта. Версия 1.0 это первая стабильная версия Emotion.
  • Eio - библиотека для поддержки асинхронного API для ввода/вывода. Версия 1.0 это первая стабильная версия Eio.
  • Ethumb - это библиотека для генерации миниаютюр. Ethumb реализован как сервис dbus и клиентская библиотека, работающая с этим сервисом.
  • Elementary - это набор виджетов, построенных на основе остальных компонент EFL, предоставляющий набор стандартных виджетов со стандартным поведением для облегчения создания GUI-приложений.

Кроме выхода библиотек входящих в состав EFL, можно отметить выход:

  • Expedite-1.2 - инструментарий для измерения производительности, который может тестировать различные движки Evas, такие как X11, XRender, OpenGL, SDL и DirectFB. Методика тестирования максимально приближена к реальным условиям.
  • Также доступен свежий снапшот для Enlightenment.

Стоит также отметить, что теперь после выпуска стабильной версии Elementary разработчики проекта намерены вплотную заняться подготовкой первой стабильной версии Enlightenment 17.

>>> Сайт проекта Enlightenment

Метки: , , ,

Источник:
http://feedproxy.google.com/~r/org/LOR/~3/-7DVbi432qg/7688443

<= Назад
Комментарии
]]> ipv6 ready Kiev LUGLinux4MeНостальгияЛичный сайт skeletora ]]>