以下に説明する関数の大部分は、名前の最初のXtあるいはXtDrawをXに置き換えたXlib関数に相当します。引数も、これ以後の各関数の説明で断わらない限りは同じです。
すべてのオペレ−ションはドロ−widgetによって記憶され、エクスポ−ズ時に再実行されます。
すべてのXlibの描画関数は、追加の引数としてXディスプレイ、ウインドウ、グラフィックス・コンテクスト(GC)をとります。ディスプレイとウインドウは、widgetの引数から取り出されます。ここで使用されるGCは、ドロ−widgetによって所有される特別なGCで、ドロ−widgetの'アクティブなGC'と呼ばれます。
アクティブなGCは、特別な外部関数によってのみ変更できます(5.6.3 GCを変更するオペレ−ションを参照して下さい)。様々なGCパラメ−タで描画したい時にいちいちアクティブなGCを変更しなくても描画できるように、10個のGCメモリがあります。アクティブなGCはそこに記憶され、再び呼び出されます。
初期のアクティブなGCは、初期のwidgetのリソ−スに従って設定されたフォアグラウンド、バックグラウンド、フォントをもっています。これらのリソ−スが変更されても、アクティブなGCに直接影響はありません。しかし再描画をする場合には、変更されたアクティブなGCで描画されます。
(5.6.2 GCの記憶と再呼び出し、5.6.3 GCを変更するオペレ−ション、XlibマニュアルのXグラフィックス・コンテクストの説明を参照して下さい)
void XtDrawPoint(w, x, y); Widget w; int x, y;
XDrawPoint()と同様の働きをします。
void XtDrawPoints(w, points, npoints, mode); Widget w; Xpoint *points; int npoints; int mode;
XDrawPoints()と同様の働きをします。
void XtDrawLine(w, x1, y1, x2, y2); Widget w; int x1, y1, x2, y2;
XDrawLine()と同様の働きをします。
void XtDrawLines(w, points, npoints, mode); Widget w; XPoint *points; int npoints; int mode;
XDrawLines()と同様の働きをします。
void XtDrawSegments(w, segments, nsegments); Widget w; XSegment *segments; int nsegments;
XDrawSegments()と同様の働きをします。
void XtDrawRectangle(w, x, y, width, height); Widget w; int x, y; unsigned int width, height;
XDrawRectangle()と同様の働きをします。
void XtDrawRextangles(w, rectangles, nrectangles); Widget w; XRectangle *rectangles; int nrectangles;
XDrawRectangles()と同様の働きをします。
void XtDrawArc(w, x, y, width, height, angle1, angle2); Widget w; int x, y; unsigned int width, height; int angle1, angle2;
XDrawArc()と同様の働きをします。
void XtDrawArcs(w, arcs, narcs); Widget w; XArc *arcs; int narcs;
XDrawArcs()と同様の働きをします。
void XtDrawString(w, x, y, string, length); Widget w; int x, y; char *string; int length;
XDrawString()と同様の働きをします。
void XtDrawImageString(w, x, y, string, length); Widget w; int x, y; char *string; int length;
XDrawImageString()と同様の働きをします。
void XtDrawFillRectangle(w, x, y, width, height); Widget w; int x, y; unsigned int width, height;
XFillRectangle()と同様の働きをします。
void XtDrawFillRectangles(w, rectangles, nrectangles); Widget w; XRectangle *rectangles; int nrectangles;
XFillRectangles()と同様の働きをします。
void XtDrawFillPolygon(w, points, npoints, shape, mode); Widget w; XPoint *points; int npoints; int mode;
XFillPolygon()と同様の働きをします。
void XtDrawFillArc(w, x, y, width, height, angle1, angle2); Widget w; int x, y; unsigned int width, height; int angle1, angle2;
XFillArc()と同様の働きをします。
void XtDrawFillArcs(w, arcs, narcs); Widget w; XArc *arcs; int narcs;
XFillArcs()と同様の働きをします。
void XtDrawCopyArea(w, src_x, src_y, width, height, dest_x, dest_y); Widget w; int src_x, src_y; unsigned int width, height; int dest_x, dest_y;
XCopyArea()と同様の働きをします。
XtDrawCopyAreaは、ドロ−widget内のウインドウの長方形の領域を同一のウインドウの別の位置にコピ−します。その結果、XCopyAreaの引数source_windowは不用になります。
void XtDrawClearArea(w, x, y, width, height, exposures); Widget w; int x, y; unsigned int width, height; Bool exposures;
XClearArea()と同様の働きをします。
void XtDrawCopyBitmap(w, bitmap, dest_x, dest_y); Widget w; Pixmap bitmap; int dest_x, dest_y;
XCopyArea()と同様の働きをします。
XtDrawCopyBitmapは、ビットマップ全体をコピ−します。よってコピ−元の長方形を指定する引数は必要ありません。
| 冒頭へ |
|