В стандарт C++ предложено добавить API на основе свободной графической библиотеки Cairo

Материал из Викиновостей, свободного источника новостей

5 января 2014 года

Герб Саттер (Herb Sutter), председатель комитета по развитию международных стандартов для языка С++, выступил с предложением включить в состав будущего стандарта ISO C++ программный интерфейс для отрисовки двухмерной графики, реализованный в свободной библиотеке Cairo.

Cairo предоставляет унифицированный программный интерфейс для векторного формирования изображений, похожий на операции рисования в PostScript и PDF, но не зависящий от отдельных механизмов вывода. Формирование 2D-графики может производиться при помощи различных бэкендов вывода, от стандартного вывода на экран через X Window System, Quartz и Win32, до генерации PostScript, PDF, SVG и задействования OpenGL, XCB и DirectFB. Кроме функций, напоминающих операторы рисования PostScript и PDF, API библиотеки предоставляет такие дополненные возможности, как трансформация изображений (масштабирование, поворот, вращение и т.п.), создание полупрозрачных объектов и рендеринг текста. Код Cairo распространяется под лицензиями LGPL и Mozilla Public License. Среди известных проектов, использующих Cairo, можно отметить GTK+ и Firefox.

Так как Cairo написан на языке Си, в стандарте ISO C++ планируется использовать обёртку для языка C++. Создание подобной обёртки упрощает высокое качество кода Cairo, который уже построен в объекто-ориентированном стиле с корректным отделением констант. В настоящее время изучается возможность задействовать автоматическую систему трансляции базового Cи-кода в форму на языке C++. Например, предлагается автоматически преобразовать традиционные функции "_create" в набор конструкторов, а параметры функций (mystruct*, int length) в параметры vector<struct>&. При этом дизайн библиотеки, абстрактные вызовы и непосредственно реализация функций останутся неизменными. Подобный подход позволит отслеживать дальнейшее развитие проекта и применять единый набор правил трансляции к будущим выпускам Cairo.

Источники[править]


Creative Commons
Creative Commons
Эта статья содержит материалы из статьи «В стандарт C++ предложено добавить API на основе свободной графической библиотеки Cairo», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии[править]

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.