Jump to content

Cairo: Difference between revisions

From EDM2
Ak120 (talk | contribs)
 
(9 intermediate revisions by 3 users not shown)
Line 1: Line 1:
[[Image:Cairo.png|right|250px]]
[[Image:Cairo.png|right|250px]]
Cairo is an open source two dimensional graphics kernel written in [[C]] that simplifies the development of common 2D graphics tasks in addition to facilitating cross platform development as the library is available for a number of operating systems, including [[Mac OSX]], [[Microsoft Windows]] and most [[UNIX]] like systems. It is designed more for application graphics than games and suchlike, but can be used to a degree for almost any graphics task that does not require 3D support.
Cairo is an open source two dimensional graphics kernel written in [[C]] that simplifies the development of common 2D graphics tasks in addition to facilitating cross platform development as the library is available for a number of operating systems, including Mac OS X, [[Microsoft Windows]] and most [[UNIX]] like systems. It is designed more for application graphics than games and suchlike, but can be used to a degree for almost any graphics task that does not require 3D support.


Cairo is conceptually similar to the graphic libraries that were derived from the old [[Xerox]] such as [[Graphical Environment Manager]] and Display [[Postscript]], it mimics normal Postscript (non-Display) to such as degree that it is possible to use it as a sort of an Postscript output device and it even has support for manipulation of [[TrueType]] fonts and support for [[PDF]] output.
Cairo is conceptually similar to the graphic libraries that were derived from the old Xerox graphic engines such as [[Graphical Environment Manager]] and Display PostScript, it mimics normal [[PostScript]] to such as degree that it is possible to use it as a sort of an PostScript output device and it even has support for manipulation of TrueType fonts and support for [[PDF]] output.


===Pixman===
===Pixman===
Cairo itself is built upon a another C library known a s Pixman that provides low-level functions for pixel by pixel manipulation including image compositing and trapezoid rasterization. The library was originally developed for [[X.org]] but is now mainly maintained by the people behind Cairo and you can fetch generic releases of the Pixman source code from the Cairo homepage althoug if you intend to use it for OS/2 it is recommended that you extract Pixman from the OS/2 Cairo source release.
Cairo itself is built upon another C library known as [[Pixman]] that provides low-level functions for pixel by pixel manipulation including image compositing and trapezoid rasterization. The library was originally developed for X.org but is now mainly maintained by the people behind Cairo and you can fetch generic releases of the Pixman source code from the Cairo homepage although if you intend to use it for OS/2 it is recommended that you extract Pixman from the OS/2 Cairo source release.


===Cairo & Pixman bindings===
===Cairo & Pixman bindings===
Although Cairo is a C library, it is delivered on OS/2 as a DLL that can be accessed from any language, but on top of that bindings have been developed for [[Ada]], [[C++]], [[Common Lisp]], [[Harbour]], [[Haskell]], [[Java]], [[Lua]], Nickle, [[Objective Caml]]; [[Perl]], [[PHP]], [[Prolog]], [[Python]], [[Ruby]], [[Scheme]], [[Smalltalk]] and [[Vala]].
Although Cairo is a C library, it is delivered on OS/2 as a DLL that can be accessed from any language, but on top of that bindings have been developed for [[Ada]], [[C++]], [[Common Lisp]], [[Harbour]], [[Haskell]], [[Java]], [[Lua]], Nickle, Objective Caml; [[Perl]], [[PHP]], [[Prolog]], [[Python]], [[Ruby]], [[Scheme]], [[Smalltalk]] and Vala.
 
Pixman on the other hand is a classic C library and would need compiler support if it is to be used from another language or have bindings expressly written for it. At this point in time we are only aware of [[Python]] bindings for Pixman and even that does not support all of the features the library has to offer. Some of the low level features are accessible via Cairo however.
 
===Projects that use Cairo===
Best known would be the Mozilla Gecko engine used by several programs.


Pixman on the other hand is a classic C library and would need compiler support if it is to be used from another language or have bindings expressly written for it, at this point in time we are only aware of [[Python]] bindings for Pixman and even that does not support all of the features the library has to offer. Some of the low level features are accessible via Cairo however.
==Versions==
==Versions==
* Last known version: [ftp://ftp.netlabs.org/pub/Cairo/cairo-1.6.4-os2-bin.exe Cairo 1.6.4.1] (2016-05-26) (Toolkit can be [ftp://ftp.netlabs.org/pub/Cairo/cairo-1.6.4-os2-dev.zip found here])
* [ftp://ftp.netlabs.org/pub/Cairo/cairo-1.6.4-os2-bin.exe 1.6.4.1] (2016-05-26) - Toolkit: ftp://ftp.netlabs.org/pub/Cairo/cairo-1.6.4-os2-dev.zip
* Alternate version: [http://rpm.netlabs.org/release/00/zip/cairo-1_12_18-2_oc00.zip Cairo 1.12.18] (2016-05-26) - For legacy projects.
* [http://rpm.netlabs.org/release/00/zip/cairo-1_12_18-4_oc00.zip 1.12.18] (2016-05-26) - For legacy projects.
 
==Links==
* [https://www.cairographics.org/ Cairo homepage]


* [http://pixman.org Pixman homepage]
* [https://lists.freedesktop.org/mailman/listinfo/pixman Pixman mailing list & archive]
==Licence==
==Licence==
* Cairo is released under the [[Mozilla Public Licence v1.1]] or [[LGPL v.2.1]], depending on your preference.
* Cairo is released under the [[Mozilla Public Licence v1.1]] or [[LGPL v2.1]], depending on your preference.
* Pixman is released under the [[MIT Licence]]
* Pixman is released under the [[MIT Licence]]


Line 28: Line 27:
* Keith Packard (Original author)
* Keith Packard (Original author)
* Bryce Harrington et al.
* Bryce Harrington et al.
* [[Peter Weilbacher]] - Original OS/2 port/backend.
* [[Peter Weilbacher]] (Original OS/2 port/backend)
* [[Doodle]] - Current OS/2 port maintainer
* [[Dmitriy Kuminov]] (OS/2 port contributor)
* [[Doodle]] (OS/2 port maintainer)
 
==Links==
* [https://www.cairographics.org/ Cairo homepage]
* [https://www.cairographics.org/manual/ Cairo API reference manual]
* [http://pixman.org Pixman homepage]
* [https://lists.freedesktop.org/mailman/listinfo/pixman Pixman mailing list & archive]
* [http://wse2005.warpevents.eu/Presentations/Presentations/DEV07_Doodle_meets_Kairo.zip Cairo Presentation] - From [[Warpstock]] Europe 2005


[[Category:Tools]] [[Category:C]] [[Category:Software written in C]]
[[Category:C Libraries]][[Category:Graphical libraries and kernels]]
[[Category:Graphical libraries and kernels]]
[[Category:Language independent tools]]

Latest revision as of 19:09, 29 June 2021

Cairo is an open source two dimensional graphics kernel written in C that simplifies the development of common 2D graphics tasks in addition to facilitating cross platform development as the library is available for a number of operating systems, including Mac OS X, Microsoft Windows and most UNIX like systems. It is designed more for application graphics than games and suchlike, but can be used to a degree for almost any graphics task that does not require 3D support.

Cairo is conceptually similar to the graphic libraries that were derived from the old Xerox graphic engines such as Graphical Environment Manager and Display PostScript, it mimics normal PostScript to such as degree that it is possible to use it as a sort of an PostScript output device and it even has support for manipulation of TrueType fonts and support for PDF output.

Pixman

Cairo itself is built upon another C library known as Pixman that provides low-level functions for pixel by pixel manipulation including image compositing and trapezoid rasterization. The library was originally developed for X.org but is now mainly maintained by the people behind Cairo and you can fetch generic releases of the Pixman source code from the Cairo homepage although if you intend to use it for OS/2 it is recommended that you extract Pixman from the OS/2 Cairo source release.

Cairo & Pixman bindings

Although Cairo is a C library, it is delivered on OS/2 as a DLL that can be accessed from any language, but on top of that bindings have been developed for Ada, C++, Common Lisp, Harbour, Haskell, Java, Lua, Nickle, Objective Caml; Perl, PHP, Prolog, Python, Ruby, Scheme, Smalltalk and Vala.

Pixman on the other hand is a classic C library and would need compiler support if it is to be used from another language or have bindings expressly written for it. At this point in time we are only aware of Python bindings for Pixman and even that does not support all of the features the library has to offer. Some of the low level features are accessible via Cairo however.

Projects that use Cairo

Best known would be the Mozilla Gecko engine used by several programs.

Versions

Licence

Authors

  • Carl Worth (Original author)
  • Keith Packard (Original author)
  • Bryce Harrington et al.
  • Peter Weilbacher (Original OS/2 port/backend)
  • Dmitriy Kuminov (OS/2 port contributor)
  • Doodle (OS/2 port maintainer)

Links