<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Linux Forum &mdash; В стандарт C++ предложено добавить API на основе Cairo]]></title>
	<link rel="self" href="https://linuxforum.ru/extern.php?action=feed&amp;tid=33051&amp;type=atom" />
	<updated>2014-01-05T09:21:04Z</updated>
	<generator>PunBB</generator>
	<id>https://linuxforum.ru/viewtopic.php?id=33051</id>
		<entry>
			<title type="html"><![CDATA[В стандарт C++ предложено добавить API на основе Cairo]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=385816#p385816" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Rizado]]></name>
				<uri>https://linuxforum.ru/profile.php?id=23158</uri>
			</author>
			<updated>2014-01-05T09:21:04Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=385816#p385816</id>
		</entry>
</feed>
