cairo
cairo — програмна бібліотека, використовувана для реалізації векторної графіки, з апаратно незалежним API. cairo дозволяє створювати примітиви у двомірному просторі через різні вихідні буфери. cairo дозволяє використовувати апаратне прискорення, коли це можливо. cairo є вільним програмним забезпеченням під подвійною ліцензією LGPL та Mozilla Public License (MPL).
Тип | Графічна бібліотека |
---|---|
Розробники | Карл Уорт і Behdad Esfahbod |
Стабільний випуск | 1.12 (23 березня 2012 ) |
Репозиторій | gitlab.freedesktop.org/cairo/cairo |
Операційна система | Багатоплатформова |
Мова програмування | C[1] |
Ліцензія | GNU Lesser General Public License версії 2.1 (тільки) або Mozilla Public License 1.1 |
Вебсайт | cairographics.org |
cairo у Вікісховищі |
Особливістю cairo є підтримка формування 2D-графіки, використовуючи різні механізми виведення, від стандартного виводу на екран через X Window System, Quartz і Win32, до генерації PostScript, PDF, SVG і задіяння OpenGL, XCB і DirectFB. При цьому бібліотека забезпечує уніфікований інтерфейс для формування зображень, незалежно від використовуваного бекенда виводу. API бібліотеки надає функції, що нагадують оператори малювання PostScript і PDF, доповнені можливостями трансформації зображень (масштабування, поворот, обертання тощо), створення напівпрозорих об'єктів і рендеринга тексту.
Попри те, що cairo написаний на С, існують засоби для його використання на багатьох інших мовах програмування, включно з C++, C#, Common Lisp, Haskell, Java, Python, Perl, Ruby, Smalltalk та інших. [2]
Історія
Проєкт cairo був заснований Кейтом Пакардом та Карлом Уортом для використання у X Window System. Спочатку він називався Xr або Xr/Xc. Назва була змінена для того, щоб підкреслити що це багатоплатформова бібліотека, не прив'язана до серверу X. Назва «cairo» була отримана від первісної назви Xr, відповідно до лігатури в Юнікоді Chi Rho. Перший склад оснований на візуальній схожості літери X та грецької літери Chi, другий склад заснований на схожості вимови літери r та грецької літери Rho. [3]
Backends
cairo підтримує вивід через велику кількість графічних систем. Серед них X Window System, Win32 GDI, Mac OS X Quartz, BeOS API, OS/2, контексти OpenGL (через glitz), локальні графічні буфери, PNG-файли, PDF, PostScript та SVG.
Програмний інтерфейс для рисування двомірної графіки, реалізований у вільній бібліотеці cairo, запропонований для включення до складу майбутнього стандарту ISO C++.[4]
Відомі використання
cairo набув популярності у спільноті відкритих сирцевих кодів за надання багатоплатформової підтримки для просунутого двомірного креслення.
GTK+, починаючи з версії 2.8 2005 року, використовує cairo для рендерингу більшості своїх віджетів.
Проєкт Mozilla почав використовувати cairo у останніх версіях рушія виводу Gecko, для рендерингу графічного змісту продуктів Mozilla. Gecko 1.8. рушій виводу у Mozilla Firefox 2.0 та SeaMonkey 1.0, використовує cairo для рендерингу SVG та Canvas. Gecko 1.9 в основі Firefox 3 використовує cairo для рендерінгу і змісту веб-сторінок, і користувацького інтерфейсу.
Схожі технології
cairo конкурує із такими схожими технологіями, як WPF та GDI+ від Microsoft та Quartz 2D від Apple Computer.
Виноски
- The cairo Open Source Project on Open Hub: Languages Page — 2006.
- http://cairographics.org/bindings
- Mailing list thread about the cairo name change. Архів оригіналу за 25 червня 2013. Процитовано 14 вересня 2007.
- В стандарт C++ предложено добавить API на основе свободной графической библиотеки Cairo // opennet.ru 05.01.2014
Посилання
- Офіційний вебсайт
- Cairo here, there and everywhere. Linux.Ars. Ars Technica. Архів оригіналу за 25 червня 2013. Процитовано 14 вересня 2007.