2D графическая библиотека с поддержкой многократных устройств вывода. Это
может использоваться, чтобы привлечь многократные различные поверхности,
такие как окно графики FB, пиксельные буферы в памяти, виджеты GTK+ или окно
Win32 или контекст устройства.
Вебсайт: http://www.cairographics.org
Поддерживаемые платформы: Win32, Linux
Заголовки: cairo/cairo.bi
Версия заголовков: 1.2.6
Примеры: ДА, в examples/graphics/cairo/
Пример
'' Пример, показывающий как CAIRO
используются для прорисовки в графическом окне FB
#include once "cairo/cairo.bi"
Const SCREEN_W = 400
Const SCREEN_H = 300
ScreenRes SCREEN_W, SCREEN_H, 32
'' Создайте контекст рисования CAIRO,
используя экран FB как поверхность.
Var surface = cairo_image_surface_create_for_data(ScreenPtr(), CAIRO_FORMAT_ARGB32, SCREEN_W, SCREEN_H, SCREEN_W * SizeOf(Integer))
Var c = cairo_create(surface)
ScreenLock()
'' Рисование в контексте белым цветом.
cairo_set_source_rgba(c, 1, 1, 1, 1)
cairo_paint(c)
'' Рисуем красную линию
cairo_set_line_width(c, 1)
cairo_set_source_rgba(c, 1, 0, 0, 1)
cairo_move_to(c, 0, 0)
cairo_line_to(c, SCREEN_W - 1, SCREEN_H - 1)
cairo_stroke(c)
ScreenUnlock()
Sleep
'' Очистка контекста CAIRO
cairo_destroy(c)