sì, Cairo è un'API di disegno 2D di alta qualità e GTK + utilizza il Cairo per disegnare.
Cogl è una libreria di programmazione GPU che internamente può utilizzare GL o GLES per accedere alla pipeline grafica (anche se in teoria potrebbe facilmente utilizzare DirectX su piattaforme supportate).
Clutter utilizza Cogl per il rendering, ma può anche utilizzare Cairo per elementi 2D.
Clutter non sostituirà GTK +: GTK + è una libreria molto complessa che fornisce integrazione di sistema, widget complessi e altre API di utilità che Clutter non ha alcun interesse a fornire.
il futuro sarà un po 'più grigio di una sostituzione in bianco e nero.
Cairo può utilizzare Cogl per disegnare; Cogl programmerà la pipeline della GPU, ma Cairo genererà la geometria da presentare, così puoi avere risultati 2D di alta qualità. Il Cairo può già utilizzare direttamente GL, ma Cogl ha già un monitoraggio dello stato migliore.
Clutter può utilizzare GDK, l'API del sistema di finestre GTK +, per comunicare con le superfici del sistema di finestre e ricevere eventi di input.
in futuro, è del tutto possibile che GTK + utilizzi Clutter internamente come base per i suoi widget, anche se questo è ancora un lavoro in corso.
in breve, uno schema potrebbe essere:
GPU <- [ [ Cogl + Cairo ] <- [ GDK + Clutter ] <- GTK+ ] <- application
Per portarlo a casa un po ', se sei uno sviluppatore di app puoi usare gtk per creare la finestra, i menu, le barre degli strumenti, ecc. E usare la confusione per disegnare qualsiasi contenuto di app che è "area di disegno" e non si adatta nella metafora dell'app basata su widget. All'interno del disordine, è possibile scavare verso il Cairo per compiti di disegno specifici. –