https://invisible-island.net/xterm/xtoolkit/
XtGetGC, XtReleaseGC - obtain and destroy a sharable GC
#include <X11/Intrinsic.h> GC XtGetGC(Widget w, XtGCMask value_mask, XGCValues *values); void XtReleaseGC(Widget w, GC gc);
gc Specifies the GC to be deallocated. values Specifies the actual values for this GC. value_mask Specifies which fields of the values are specified. w Specifies the widget.
The XtGetGC function returns a sharable, read-only GC. The parameters to this function are the same as those for XCreateGC except that a wid- get is passed instead of a display. XtGetGC shares only GCs in which all values in the GC returned by XCreateGC are the same. In particu- lar, it does not use the value_mask provided to determine which fields of the GC a widget considers relevant. The value_mask is used only to tell the server which fields should be filled in with widget data and which it should fill in with default values. For further information about value_mask and values, see XCreateGC in the Xlib - C Language X Interface. The XtReleaseGC function deallocate the specified shared GC.
X Toolkit Intrinsics – C Language Interface Xlib - C Language X Interface X Version 11 libXt 1.1.5.2 XtGetGC(3)