<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Linux Forum &mdash; В стандарт C++ предложено добавить API на основе Cairo]]></title>
		<link>https://linuxforum.ru/viewtopic.php?id=33051</link>
		<atom:link href="https://linuxforum.ru/extern.php?action=feed&amp;tid=33051&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «В стандарт C++ предложено добавить API на основе Cairo».]]></description>
		<lastBuildDate>Sun, 05 Jan 2014 09:21:04 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[В стандарт C++ предложено добавить API на основе Cairo]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=385816#p385816</link>
			<description><![CDATA[<p>Герб Саттер (Herb Sutter), председатель комитета по развитию международных стандартов для языка С++, <a href="http://lists.cairographics.org/archives/cairo/2013-December/024858.html">выступил</a> с предложением включить в состав будущего стандарта ISO C++ программный интерфейс для отрисовки двухмерной графики, реализованный в свободной библиотеке <a href="http://cairographics.org/">Cairo</a>.</p><p>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.</p><p>Так как Cairo написан на языке Си, в стандарте ISO C++ планируется использовать обёртку для языка C++. Создание подобной обёртки упрощает высокое качество кода Cairo, который уже построен в объекто-ориентированном стиле с корректным отделением констант. В настоящее время <a href="http://isocpp.org/files/papers/N3825.pdf">изучается возможность</a> задействовать автоматическую систему трансляции базового Cи-кода в форму на языке C++. Например, предлагается автоматически преобразовать традиционные функции &quot;_create&quot; в набор конструкторов, а параметры функций (mystruct*, int length) в параметры vector&lt;struct&gt;&amp;. При этом дизайн библиотеки, абстрактные вызовы и непосредственно реализация функций останутся неизменными. Подобный подход позволит отслеживать дальнейшее развитие проекта и применять единый набор правил трансляции к будущим выпускам Cairo.</p><p>Источник: <a href="http://www.opennet.ru/opennews/art.shtml?num=38792">http://www.opennet.ru/opennews/art.shtml?num=38792</a></p>]]></description>
			<author><![CDATA[null@example.com (Rizado)]]></author>
			<pubDate>Sun, 05 Jan 2014 09:21:04 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=385816#p385816</guid>
		</item>
	</channel>
</rss>
