На выходных занялся доработкой подсистемы Cairo для Блэкбокса. Хочу выпустить её под номером 1.2.

На основе класса CairoModels.Base строятся классы
CairoModels.Context (носитель)
CairoModels.Path (управляющий объект)
CairoModels.Surface (DocumentSurface, MemBufSurface, DrawableSurface)
CairoModels.Pattern (GradientPattern).

Суть сводится к попытке упрощения работы с библиотекой Cairo за счёт скрытия за ОО слоем с применением шаблона проектирования Carrier-Rider-Mapper.
После многих изменений не исключены какие-то неверные описания интерфейсов исходного API Cairo, поэтому просьба сообщать о таковых.
Имеются несколько примеров работы с ОО-обвязкой и без, с помощью native API.

Предварительно, выкладываю бета версию для ознакомления.
Вложение:CairoBB-1.2b.zip[43.67 КБ]
Скачиваний: 593

Вложение:Cairo1.6-Win32.zip[858.13 КБ]
Скачиваний: 598
(эти библиотеки необходимы для запуска)

Обновил набор необходимых библиотек в файле Cairo1.6-Win32.zip. Версии Cairo свыше 1.6.4 требуют более новых версий зависимостей, что ведёт к к увеличению размера развёртывания программы. Проверено в Windows XP + Wine/Linux.