XDrawImageString(3) イメージテキストの描画

Other Alias

XDrawImageString16

書式

XDrawImageString(display, d, gc, x, y, string, length)

      Display *display;

      Drawable d;

      GC gc;

      int xy;

      char *string;

      int length

XDrawImageString16(display, d, gc, x, y, string, length)

      Display *display;

      Drawable d;

      GC gc;

      int xy;

      XChar2b *string;

      int length

引き数

d
ドロウアブルを指定する。
display
X サーバへの接続を指定する。
gc
GC を指定する。
length
引き数 string 中の文字数を指定する。
string
文字列を指定する。
x

y
最初の文字の原点の x, y 座標を指定する。 これは指定したドロウアブルの原点に対する相対座標で指定する。

説明

関数 XDrawImageString16XDrawImageString と同様の関数であるが、2バイトつまり16ビットの文字を使う点が異なる。 いずれの関数も描画対象の GC の前景色と背景色のピクセルの両方を使う。

関数の動作としては、まず描画対象の長方形領域を GC で定義されている背景 色のピクセルで塗りつぶし、次に前景色でテキストを描く。 塗りつぶされる長方形の左上の点の座標は次のようになる。

[x, y - font-ascent]

幅は

overall-width

となり、高さは

font-ascent + font-descent

となる。 この overall-width, font-ascent, and font-descent は GC と文字列に対し て XQueryTextExtents が返す値である。 これらの関数は、GC で定義されている function と fill-style を無視する。 実際に使われる function は GXcopy であり、実際に使われる fill-style は FillSolid である。

2バイト行列形式のインデックスで定義され、 XDrawImageString で使われるフォントに対しては、各バイトは byte2 として扱われ、byte1 は 0 として扱われる。

いずれの関数も以下の GC コンポーネントを使用する: plane-mask, foreground, background, font, subwindow-mode, clip-x-origin, clip-y-origin, clip-mask。

XDrawImageStringXDrawImageString16 はエラー BadDrawable, BadGC, BadMatch を起こすことがある。

返り値

BadDrawable
引き数 Drawable の値が、定義されている Window や Pixmap を指していない。
BadGC
引き数 GContext の値が、定義されている GContext を指していない。
BadMatch
InputOnly のウィンドウがドロウアブルとして使用された。
BadMatch
引き数や引き数の組は正しい型・範囲を持っているが、そのリクエストが要求する 他の条件に適合できなかった。