XmbDrawText(3X11)

名前
XmbDrawText, XwcDrawText - 複数のフォントセットを用いてテキストを描画する

書式
void XmbDrawText(display, d, gc, x, y, items, nitems)
      Display *display;
      Drawable d;
      GC gc;
      int x, y;
      XmbTextItem *items;
      int nitems;

void XwcDrawText(display, d, gc, x, y, items, nitems)
      Display *display;
      Drawable d;
      GC gc;
      int x, y;
      XwcTextItem *items;
      int nitems;

引き数

d   ドロウアブルを指定。

display
    X サーバへの接続を指定。

gc  GC を指定。

items
    テキストの配列を指定。

nitems
    配列内のテキストの数を指定。

x

y   x, y 座標を指定。

説明
関数 及び はテキスト文字列間で複雑なスペーシングとフォントセットの遷移が可能であ る。 各テキストアイテム(text item)は順番に処理され、テキスト要素の原点は前のテキストア イテムの文字送りの分だけ主描画方向(primary draw direction)に移動する。 テキストアイテムを表す構造体の delta 要素は、テキストアイテムの描画の 原点の主描画方向への追加の文字送り量を指定する。 テキストアイテム構造体の font_set メンバが 以外の場合には、text_items リストのそのアイテム以降の描画にこのフォン トセットが使用される。 先頭のテキストアイテムの font_set メンバが である場合には、描画は実行されない。

及び はテキストセグメント間でのコンテクストに依存する描画は行わない。 クライアントはテキストセグメントを と 、あるいは と に渡すことによって、描画のメトリクスを計算することができる。 に欠けているキャラクタセットがある場合には、該当する文字は が返すデフォルト文字列で描画される。 不正な文字コードに対する挙動は未定義である。

構造体
XmbTextItem 構造体の内容を以下に示す。 typedef struct {
    char *chars;    /* 文字列を指すポインタ */
    int nchars;    /* バイト数 */
    int delta;    /* 文字列間のピクセルの増分 */
    XFontSet font_set;     /* フォントセット。None は変化しないことを示す */
} XmbTextItem; 構造体の内容を示す。 typedef struct {
    wchar_t *chars;    /* ワイドキャラクタ文字列へのポインタ */
    int nchars;    /* ワイドキャラクタの文字数 */
    int delta;    /* 文字列間でのピクセルの増分 */
    XFontSet font_set;    /* フォントセット。None は変化しないことを示す */
} XwcTextItem;

関連項目
XDrawImageString(3X11), XDrawString(3X11), XDrawText(3X11), XmbDrawImageString(3X11), XmbDrawString(3X11)
Xlib - C Language X Interface