Ich denke nicht dass das Problem ein fehlendes Include oder ähnliches ist.
Gute APIs sind meistens so konstruiert das offentliche Klassen "opaque" sind, d.h. ihre Daten hinter einem internen Pointer versteckt werden und man über Zugriffsfunktionen damit arbeitet.
Das erlaubt den Entwickler der Bibliothek im Bedarfsfall die Interna zu ändern (z.B. neue Datenfelder hinzufügen), ohne dass sich für bestehende Software etwas ändert.
In deinem Fall wäre die Zugriffsfunktion vermutlich gtk_widget_get_window() also etwa so
Ciao,Code:cr = gdk_cairo_create(gtk_widget_get_window(widget));
_
Lesezeichen