Cairo
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] Backendscairo підтримує вивід через велику кількість графічних систем. Серед них 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. Виноски
Посилання
Див. також |