Xt IntrinsicsはXlibの上に作られています。ウィジェットの上に絵を書き たい場合などは直接Xlibを呼び出して書くことになります。Xt Intrinsicsで はWidget型の変数を用いてウィジェットを操作しますが、既に見たようにXlib ではディスプレイやスクリーン、ウィンドウと言った情報が描画のために必要 でした。ウィジェットに割り当てられたそれらを取り出す関数が用意されてい ます。
Display *XtDisplay( Widget w ); Screen *XtScreen( Widget w ); Window XtWindow( Widget w );
例えばディスプレイとウィンドウからGCを作ることが可能になります。
GC gc; gc = XCreateGC( XtDisplay( widget ), XtWindow( widet ), 0, NULL );
このあとgcを使ってXlibの描画関数を呼ぶことになります。