Grafik mit X
Um überhaupt etwas zeichnen zu können, muss zuvor ein Speicherobjekt zum Grafikkontext (eine weitere Datenstruktur) erzeugt werden. Diese Struktur, GC, enthält sämtliche Attribute, welche für die grafischen Funktionen benötigt werden. Erzeugen können Sie ein Speicherobjekt des Grafikkontext GC mit der Funktion XCreateGC():GC mygc;
...
mygc = XCreateGC(display, win, 0, 0);
Die ersten beiden Parameter sollten mittlerweile keine Fragen mehr aufwerfen. Mit dem dritten Parameter könnten Sie eine Maske verwenden, womit Sie bestimmen, in welcher Komponente der übergebenen Struktur des vierten Parameters (vom Typ XGCValues) Informationen enthalten sind. Im Buch wird allerdings davon kein Gebrauch gemacht. Als Rückgabewert der Funktion erhalten Sie eine Kennungs-ID, welche bei jeder Zeichenoperation an den Server übergeben wird. Natürlich können in einer Zeichnung mehrere bzw. (fast) beliebig viele GC verwendet werden.
Wird der Speicherplatz für den Grafikkontext nicht mehr benötigt, sollte man diesen mit der Funktion XFreeGC(display, win) wieder freigeben.
