Ответ 1
да, Каир - это высококачественный 2D-чертежный API, а GTK + использует Каир для рисования.
Cogl - это библиотека программирования GPU, которая внутренне может использовать GL или GLES для доступа к графическому конвейеру (хотя теоретически он может легко использовать DirectX на поддерживаемых платформах).
Clutter использует Cogl для рендеринга, но он также может использовать Cairo для 2D-элементов.
Clutter не заменит GTK +: GTK + - очень сложная библиотека, которая обеспечивает системную интеграцию, сложные виджеты и другой API-интерфейс, который Clutter не заинтересован в предоставлении.
будущее будет немного серым, чем черно-белая замена.
Каир может использовать Cogl для рисования; Cogl запрограммирует конвейер GPU, но Cairo будет генерировать геометрию, которая будет отправлена, поэтому вы можете получить высококачественные 2D-результаты. Каир уже может напрямую использовать GL, но Cogl уже имеет лучшее отслеживание состояния.
Clutter может использовать GDK, API системы оконных окон GTK +, чтобы поговорить с поверхностями оконной системы и получить входные события.
в будущем вполне возможно, что GTK + будет использовать Clutter внутренне как базу для своих виджетов, хотя это все еще продолжается.
вкратце, диаграмма может быть:
GPU <- [ [ Cogl + Cairo ] <- [ GDK + Clutter ] <- GTK+ ] <- application