Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ XFillRectangles(3X11) — NEWS-os 4.2.1R

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

XDrawArc(3X11)

XDrawPoint(3X11)

XDrawRectangle(3X11)

XFillRectangle(3X11)  —  NEWS-OS Programmer’s Manual

名称

XFillRectangle, XFillRectangles, XFillPolygon, XFillArc, XFillArcs − 長方形、多角形または弧をフィルする

形式

XFillRectangle(display, d, gc, x, y, width, height)
      Display ∗display;
      Drawable d;
      GC gc;
      int x, y;
      unsigned int width, height; XFillRectangles(display, d, gc, rectangles, nrectangles)
      Display ∗display;
      Drawable d;
      GC gc;
      XRectangle ∗rectangles;
      int nrectangles; XFillPolygon(display, d, gc, points, npoints, shape, mode)
      Display ∗display;
      Drawable d;
      GC gc;
      XPoint ∗points;
      int npoints;
      int shape;
      int mode; XFillArc(display, d, gc,  x, y, width, height, angle1, angle2)
      Display ∗display;
      Drawable d;
      GC gc;
      int x, y;
      unsigned int width, height;
      int angle1, angle2; XFillArcs(display, d, gc, arcs, narcs)
      Display ∗display;
      Drawable d;
      GC gc;
      XArc ∗arcs;
      int narcs;

引数

angle1中心から 3 時の位置に対する弧の出発点を、度 ∗ 64 単位で指定します。

angle2弧の出発点に対する弧のパスと範囲を、 度 ∗ 64 単位で指定します。

arcs弧の配列を指定します。

ddrawable を指定します。

displayX サーバへのコネクションを指定します。

gcGC を指定します。

mode座標モードを指定します。 CoordModeOrigin または CoordModePrevious を渡せます。

narcs配列中の弧の数を指定します。

npoints配列中の点の数を指定します。

nrectangles配列中の長方形の数を指定します。

points点の配列を指すポインタを指定します。

rectangles長方形の配列を指すポインタを指定します。

shapeサーバが性能を改善するのに役立つ shape を指定します。 Complex、 Convex または Nonconvex を渡せます。

width

heightフィルする長方形の幅と高さ、または弧の長軸および短軸を指定します。

x

y長方形の左上コーナを drawable の原点に対する x - y 座標で指定します。

解説

XFillRectangle および XFillRectangles 関数は、以下に示すように、 あたかも各長方形について 4 ポイント FillPolygon プロトコルリクエストが指定されたかのように、指定された長方形を フィルします。

[x,y] [x+width,y] [x+width,y+height] [x,y+height]

各関数は、指定された x - y 座標、 幅および高さ、GC を指定します。 XFillRectangles は、配列でリストされた順序で長方形をフィルします。 与えられた長方形について、 XFillRectangle と XFillRectangles は、2 回以上ピクセルを描きません。 長方形が交差する場合は、交差するピクセルは複数回描かれます。 上記の両関数は、以下の GC 要素を使用します。つまり、 function、plane-mask、fill-style、subwindow-mode、 clip-x-origin、clip-y-origin および clip-mask を使用します。 また、以下の GC モード依存要素を使用します。 foreground、background tile、stipple、 tile-stipple-x-origin および tile-stipple-y-origin を使用します。 XFillRectangle と XFillRectangles は、 BadDrawable、 BadGC および BadMatch エラーを生じることがあります。 XFillPolygon は、指定されたパスでクローズされたリージョンをフィルします。 リスト中の最後の点が最初の点と一致しない場合、 パスは自動的にクローズされます。 XFillPolygon は、2 回以上リージョンのピクセルを描きません。 CoordModeOrigin は、すべての座標を原点に対する相対座標として処理し、 CoordModePrevious は 2 番目以降のすべての座標を前の点に対する相対座標として処理します。 指定された shape に応じて、以下のことが生じます。

•shape が Complex であれば、パスは自己交差することがあります。 パスの隣り合った一致点は、自己交差とはしません。

•shape が Convex であれば、 多角形の内側のそれぞれの点のペアに対して、 それらをつないだラインセグメントはパスを交差しません。 Convex を指定すると性能が改善されます。 凸状ではないパスについて Convex を指定した場合、 グラフィック結果は定義されません。

•shape が Nonconvex であれば、パスは自己交差しませんが、shape は完全に凸状ではありません。 クライアントがパスが自己交差しないと知っている場合、 Complex の代わりに Nonconvex を指定すると、 性能が改善されることがあります。 自動交差するパスに対して Nonconvex を指定した場合、グラフィック結果は定義されません。 GC の fill-rule は、自己交差する多角形のフィル動作を制御します。 この関数は、以下の GC 要素を使用します。つまり、 function、plane-mask、fill-style、fill-rule、subwindow-mode、clip-x-origin、 clip-y-origin および clip-mask を使用します。 また、以下の GC モード依存要素を使用します。つまり、 foreground、background、tile、stipple、 tile-stipple-x-origin および tile-stipple-y-origin を使用します。 XFillPolygon は、 BadDrawable、 BadGC、 BadMatch および BadValue エラーを生じることがあります。 各弧について、 XFillArc または XFillArcs は、指定された弧と、GC で指定された弧モードに応じて 1 本 または 2 本の線で指定される、 無限に細いパスでクローズされたリージョンをフィルします。 ArcChord の場合、弧の終点を結ぶ 1 本の線が使用されます。 ArcPieSlice の場合、中心点を含む弧の終点を結ぶ 2 本の線が使用されます。 XFillArcs は、配列でリストされた順に弧をフィルします。 与えられた弧について、 XFillArc と XFillArcs は 2 回以上ピクセルを描きません。 リージョンが交差する場合、 交差するピクセルは複数回描かれます。 上記の両関数は、以下の GC 要素を使用します。つまり、 function、plane-mask、fill-style、arc-mode、subwindow-mode、clip-x-origin、 clip-y-origin および clip-mask を使用します。 また、以下の GC モード依存要素を使用します。つまり、 foreground、background、tile、stipple、 tile-stipple-x-origin および tile-stipple-y-origin を使用します。 XFillArc と XFillArcs は、 BadDrawable、 BadGC および BadMatch エラーを生じることがあります。

診断

BadDrawable
Drawable 引数の値が、定義された Window または Pixmap を指さない。

BadGC GContext 引数の値が、定義された GContext を指さない。

BadMatch InputOnly ウィンドウが、Drawable として使用された。

BadMatch ある引数またはひと組の引数の型と範囲は正しいが、 リクエストにより要求された他の何かが一致しない。

BadValue ある数値が許容範囲を超えた。 引数の値の範囲が明示されない限り、引数の型によって決まる最大の範囲まで 指定可能です。 選択形式の引数も、このエラーを生じることがあります。

関連事項

XDrawArc(3X11), XDrawPoint(3X11), XDrawRectangle(3X11)
Xlib − C Language X Interface

NEWS-OSRelease 4.2.1R

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026