Cairo (gráficos)
Desenvolvedor | Carl Worth, Behdad Esfahbod |
Versão estável | 1.18.2 (1 de setembro de 2024[±] [+/-] | )
Versão em teste | 1.9.6 (19 de fevereiro de 2010[±] [+/-] | )
Escrito em | C |
Sistema operacional | Multiplataforma |
Gênero(s) | Biblioteca gráfica |
Licença | GNU Lesser General Public License ou Mozilla Public License |
Página oficial | http://cairographics.org/ |
Cairo é uma biblioteca de software usada para fornecer para desenvolvedores de software uma interface de programação baseada em gráficos vetoriais, independente dos dispositivos. Ela é projetada para fornecer primitivos para desenho bidimensional através de um número de diferentes módulos. Cairo é projetado para usar aceleração via hardware quando disponível.
Apesar de ser escrito em C, há ligaduras para usar a biblioteca gráfica cairo a partir de várias outras linguagens de programação, incluindo Factor, Haskell, Lua, Perl, Python, Ruby, Scheme, Smalltalk e muitas outras.[1] bi-licenciado sob a GNU Lesser General Public License e a Mozilla Public License, cairo é software livre.
História
[editar | editar código-fonte]O projeto cairo foi fundado por Keith Packard e Carl Worth para usar no X Window System.[2] Ele foi chamado originalmente Xr ou Xr/Xc. O nome mudou para enfatizar a ideia de que era multiplataforma e não estava preso ao X Window System.[3] O nome cairo foi derivado do nome original Xr, similar às letras gregas chi e rho.[4]
Módulos
[editar | editar código-fonte]O cairo suporte saída para um número de diferentes módulos, conhecidos como "superfícies" em seu código. Suporte a módulos inclui saída ao X Window System, Win32 GDI, Mac OS X Quartz, a interface de aplicação BeOS, OS/2, OpenGL contextos (diretamente[5] e via glitz), buffer local de imagem, ficheiros PNG, PDF, PostScript, DirectFB e SVG.
Há outros módulos em desenvolvimento almejando as APIs gráficas OpenVG,[6] Qt,[7] Skia,[8] and Windows' Direct2D.[9]
Tecnologias similares
[editar | editar código-fonte]O cairo foi comparado a tecnologias similares, como WPF e GDI+ da Microsoft, Quartz 2D da Apple Inc, e Anti-Grain Geometry (AGG).
Uso notável
[editar | editar código-fonte]Cairo é popular na comunidade de software livre para fornecer suporte multiplataforma a desenho avançado em duas dimensões.
- GTK+, começando em 2005 a versão 2.8 usa o cairo para desenhar a maioria dos seus widgets.[10]
- O projeto Mozilla fez uso do cairo nas versões recentes do seu Gecko, usado para desenhar a saída gráfica dos produtos Mozilla. Gecko 1.8, o motor de disposição para o Firefox 2.0 e SeaMonkey 1.0, usou o cairo para desenhar conteúdos SVG e <canvas>. Gecko 1.9,[11] o lançamento do Gecko que serve de base para o Firefox 3, usa cairo como módulo gráfico para desenhar ambos conteúdo de páginas na internet e a interface de usuário (ou "chrome").
- O conjunto de ferramentas WebKit usa o cairo para desenhar no porte para o GTK+. Suporte também foi adicionado para conteúdo SVG e <canvas> usando cairo.
- A biblioteca Poppler usa o cairo para desenhar documentos PDF. O cairo permite o desenho de gráficos vetoriais com bordas suavizadas e objetos transparentes.
- O conjunto de ferramentas para janelas Shoes para Ruby usa o cairo para desenho em duas dimensões.
- O robô de desenho ShoeBot baseado em Python usa cairo para desenhar em duas dimensões.
- O aplicativo de gráficos vetoriais Inkscape usa a biblioteca cairo para seu modo de exibição em traços, assim como para exportações PDF e PostScript, desde a versão 0.46.[12]
- Os desenvolvedores do AmigaOS 4.1 basearam sua GUI Workbench nas bibliotecas cairo. Isto significa que aquele sistema operativo possui na verdade uma GUI completa baseada em vetores, e devido a sua implementação interna de 3D acelerado por hardware Porter-Duff composition engine, pode realizar efeitos como aproximação instantânea de toda a GUI na tela.
- FontForge mudou seu desenho para o cairo desde a metade de outubro de 2008.
Ver também
[editar | editar código-fonte]- ↑ «Language bindings»
- ↑ «Xr: Cross-device Rendering for Vector Graphics». Consultado em 8 de junho de 2009
- ↑ «Mailing list thread about the cairo name change». Consultado em 8 de junho de 2009
- ↑ «Mailing list thread about the cairo name change». Consultado em 2 de dezembro de 2006
- ↑ Chris Wilson (22 de julho de 2009). «New OpenGL backend merged». Consultado em 12 de fevereiro de 2010
- ↑ Øyvind Kolås (24 de janeiro de 2008). «Announcing OpenVG backend». Consultado em 12 de fevereiro de 2010
- ↑ Vladimir Vukićević (6 de maio de 2008). «Well Isn't That Qt». Consultado em 12 de fevereiro de 2010
- ↑ Chris Wilson (31 de agosto de 2009). «Cool Stuff». Consultado em 12 de fevereiro de 2010
- ↑ Bas Schouten (22 de novembro de 2009). «Direct2D: Hardware Rendering a Browser». Consultado em 12 de fevereiro de 2010
- ↑ «GTK+ to Use Cairo Vector Engine». Consultado em 27 de dezembro de 2009
- ↑ «Gecko 1.9 Roadmap». Consultado em 27 de dezembro de 2009
- ↑ «ReleaseNotes046». Inkscape Wiki. Consultado em 31 de março de 2008