Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

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

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

XDrawImageString(3X11)

XDrawString(3X11)

XLoadFont(3X11)

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

名称

XDrawText, XDrawText16, XTextItem, XTextItem16 − テキストおよび複数テキストの表示と構造体

形式

XDrawText(display, d, gc, x, y, items, nitems)
      Display ∗display;
      Drawable d;
      GC gc;
      int x, y;
      XTextItem ∗items;
      int nitems; XDrawText16(display, d, gc, x, y, items, nitems)
      Display ∗display;
      Drawable d;
      GC gc;
      int x, y;
      XTextItem16 ∗items;
      int nitems;

引数

ddrawable を指定します。

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

gcGC を指定します。

itemsテキスト項目の配列を指定します。

nitems配列のテキスト項目数を指定します。

x

y指定された drawable の原点に対する x および y 座標を指定し、最初の文字の原点を定義します。

解説

XDrawText16 関数は、2 バイトまたは 16 ビット文字を使用するということを除き、 XDrawText と同じです。 これら両関数では、カウントされた文字列間に複合の空白とフォントシフトを 与えることができます。 各テキスト項目は、順番に処理されます。 項目の None 以外のフォントメンバにより、 フォントは GC にストアされ、 後続のテキストのため使用されます。 テキスト要素 delta は、文字列が表示される前の、 x 軸方向の位置の追加変更を指定します。 delta は必ず文字原点に追加され、 フォントの特性に左右されません。 GC のフォントで定義されるように、各キャラクタイメージは、 drawable でのフィル動作のための追加マスクとして使われます。 drawable は、フォントキャラクタのビットが 1 に設定されている場合にだけ、 変更されます。 テキスト項目が BadFont エラーを生じた場合、前のテキスト項目が表示されたかもしれません。 2 バイトの行列索引付けではなく線形の索引付けを使用して定義された フォントの場合、 各 XChar2b 構造体は、byte1 を最上位バイトとしてもつ 16 ビット数と 解釈されます。 上記の両関数は、以下の GC 要素を使用します。つまり、 function、plane-mask、fill-style、font、subwindow-mode、 clip-x-origin、clip-y-origin および clip-mask を使用します。 また、以下の GC モード依存要素を使用します。 foreground、background、tile、stipple、tile-stipple-x-origin および tile-stipple-y-origin を使用します。 XDrawText と XDrawText16 は、 BadDrawable、 BadFont、 BadGC および BadMatch エラーを生じることがあります。

構造体

XTextItem と XTextItem16 構造体は、以下のような内容をしています。

typedef struct {
      char ∗chars;/∗ pointer to string ∗/
      int nchars;/∗ number of characters ∗/
      int delta;/∗ delta between strings ∗/
      Font font;/∗ Font to print it in, None don’t change ∗/
} XTextItem;

typedef struct {
      XChar2b ∗chars;/∗ pointer to two-byte characters ∗/
      int nchars;/∗ number of characters ∗/
      int delta;/∗ delta between strings ∗/
      Font font;/∗ font to print it in, None don’t change ∗/
} XTextItem16;

 
もし font のメンバが None, でなければ、 font はプリントする前のものに変えられ、また、GC にストアされます。 もしテキストを描いているときにエラーが生じたなら、 直前のアイテムが描かれます。 文字のベースラインは、テキストを描く関数を通した x, y 座標から描かれ始めます。 例えば、バックグランドに XDrawImageString で、長方形を描くことにします。 もしバックグランドの左上隅にピクセル座標 (x, y) の長方形を 描こうとすれば、ベースラインの原点の座標としてテキスト関数に (x, y + ascent) を通します。 ascent は、 XFontStruct 構造体で与えられる font ascent です。 もしバックグランドの左下隅にピクセル座標 (x, y) の長方形を 描こうとすれば、ベースラインの原点の座標としてテキスト関数に (x, y − descent + 1) を通します。 descent は、 XFontStruct 構造体で与えられる font descent です。

診断

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

BadFont Font または GContext の値が、定義された Font を指さない。

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

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

関連事項

XDrawImageString(3X11), XDrawString(3X11), XLoadFont(3X11)
Xlib − C Language X Interface

NEWS-OSRelease 4.2.1R

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