Cairo

cairo
The cairo graphics library logo.
Тип Графічна бібліотека
Розробники Карл Уорт і Behdad Esfahbod
Стабільний випуск 1.12 (23 березня 2012; 12 років тому (2012-03-23))
Операційна система Багатоплатформова
Мова програмування C[1]
Ліцензія GNU Lesser General Public License версії 2.1 (тільки) або Mozilla Public License 1.1
Репозиторій gitlab.freedesktop.org/cairo/cairo
Вебсайт cairographics.org

cairo — програмна бібліотека, використовувана для реалізації векторної графіки, з апаратно незалежним API. cairo дозволяє створювати примітиви у двомірному просторі через різні вихідні буфери. cairo дозволяє використовувати апаратне прискорення, коли це можливо. cairo є вільним програмним забезпеченням під подвійною ліцензією LGPL та Mozilla Public License (MPL).

Особливістю 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 має цілий ряд прив'язок для різних мов, включаючи C ++, C# та інші мови CLI, Delphi, Eiffel, Factor, Harbor, Haskell, Julia, Lua, Perl, PHP, Python, Ruby, Rust, Schame, Smalltalk та декількох інших, як Гамбас (Visual Basic, як).[5]

Відомі використання

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.

Виноски

  1. The cairo Open Source Project on Open Hub: Languages Page — 2006.
    d:Track:Q124688
  2. Архівована копія. Архів оригіналу за 6 червня 2017. Процитовано 14 вересня 2007.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)
  3. Mailing list thread about the cairo name change. Архів оригіналу за 25 червня 2013. Процитовано 14 вересня 2007.
  4. В стандарт C++ предложено добавить API на основе свободной графической библиотеки Cairo [Архівовано 1 квітня 2014 у Wayback Machine.] // opennet.ru 05.01.2014
  5. Language bindings. www.cairographics.org. Процитовано 31 серпня 2022.

Посилання

  • Офіційний вебсайт [Архівовано 23 лютого 2011 у Wayback Machine.]
  • Cairo here, there and everywhere. Linux.Ars. Ars Technica. Архів оригіналу за 25 червня 2013. Процитовано 14 вересня 2007.

Див. також

  • п
  • о
  • р
Проєкти freedesktop.org
Компоненти
Avahi  · Compiz · ConsoleKit · Create Project · D-Bus · DeviceKit · DRI · Flatpak · FriBidi · GTK-Qt (колишній)  · HAL · ModemManager  · nouveau · PackageKit · Plymouth · PulseAudio · systemd  · Wayland · X.Org Server
freedesktop.org logo
Бібліотеки
AppStream · Cairo · Fontconfig · GStreamer · HarfBuzz · Pango · Mesa 3D · Poppler · Swfdec · XCB · Xft
Каркаси
Galago · GeoClue · Telepathy
Дивись також
Libre Graphics Meeting
  • п
  • о
  • р
Linux
Adoption • Порівняння з Windows • Критика • Історія • Ядро (підтримувані архітектури)Закон ЛінусаLinux Foundation • Linux-libre • Tux • vmlinux
Tux, талісман Linux
Дистрибутиви
GNU
Free Software FoundationGNUGNU General Public License • Суперечка про найменування GNU/Linux • Пакети GNUПроєкт GNU
Інтерфейс користувача
CLIGUIX Window SystemGNOMEKDEXfceLXDE
Менеджери вікон
CompizMetacityKWinOpenboxAfterStepBlackbox • CTWM • EnlightenmentFVWM • Hackedbox • IceWM • Metisse • OLVWM • PLWM • PWM • Sawfish • vtwm • wm2 • Wmx • Xmonad
Застосування
Desktop • Пристрої • Linux у вбудованих системах • Ігри • LAMPLTSP
Ключові особи
Джоно БеконАлан Кокс • Jon Hall • Benjamin Mako Hill • Greg Kroah-Hartman • David S. Miller • Ендрю Мортон • Іан Мердок • Брюс Перенс • Деніел Робінс • Марк ШаттлвортРічард СтолменЛінус Торвальдс • Theodore Ts'o • Патрік Волкердінґ • Matt Zimmerman
ЗМІ
Free Software Magazine • Linux.com • Linux Format • Linux For You • Linux Gazette • Linux Journal • Linux-Magazin • Linux Magazine • Linux Outlaws • LugRadio • LWN.net • O3 Magazine • Phoronix • DistroWatch
Мобільність
Access Linux Platform • Androidbada • LiMo Foundation • LiMo Platform • Linux Phone Standards Forum • MeeGo (MaemoMoblin) • Mobilinux • Open Handset Alliance • Openmoko • OPhone • Ubuntu MobilewebOS
Інше
Linux-конференції • Linux Documentation Project • Linux Standard Base • Linux User Group • Revolution OS (фільм) • SCO і Linux • Суперечка Таненбаума та ТорвальдсаThe Code (фільм) • Власницьке програмування для Лінукса • Віруси та хробакиОб'єднане ядро Linux
  • п
  • о
  • р
Стільничні середовища,
віконні менеджери тощо
KDEGNOMEXfceLXDEXPdeJDSCDEX11MetacityEnlightenmentSawfishXMonadOpenboxAfterStepAwesomeFVWMFluxboxBlackbox • Window Maker
Прикладні програми,
пакети, утиліти тощо
OpenOfficeLibreOfficeKOfficeCalligra SuiteGnome Office • Siag Office • AbiwordGnuCashKMyMoneyInkscapeSodipodiGnumericPlannerEmacsVimKateTellicoGIMP • Kivio • GwenView • KView • Evince • Cedega • WineAmarokMPlayerXP • Listen • LinDVD • KinoTotemKaffeineRhythmboxK3b • KPDF • Scribus • Dolphin • KonquerorKrusader • Nautilus • Thunar • Epiphany • Galeon • OperaFirefox • Arora • IceCatThunderbirdEvolutionKMailSkypeKopeteEkigaAkregatorKGetArkJabberMPlayerXineAlacarteStarDictDigiKamKexiRKWardOkularBeagleYaSTKdepim • Kdetoys • Konsole • KCHMViewer
Розробка ПЗ
EclipseNetBeansKDevelop • QTDesigner • Code::Blocks • MonoDevelopCylixLazarus
Технології та бібліотеки
OpenGL • Cairo • Plasma • Akonadi • Decibel • Flake • Kross • Oxygen • Phonon • Quasar • Solid • Sonnet[en] • Soprano[pl] • Strigi • ThreadWeaver • JavaMono