XCreateFontCursor(3X11) — UNIX Programmer’s Manual
名称
XCreateFontCursor, XCreatePixmapCursor, XCreateGlyphCursor − カーソル を作成する
形式
#include <X11/cursorfont.h> Cursor XCreateFontCursor(display, shape)
Display ∗display;
unsigned int shape; Cursor XCreatePixmapCursor(display, source, mask, foreground_color, background_color, x, y)
Display ∗display;
Pixmap source;
Pixmap mask;
XColor ∗foreground_color;
XColor ∗background_color;
unsigned int x, y; Cursor XCreateGlyphCursor(display, source_font, mask_font, source_char, mask_char,
foreground_color, background_color)
Display ∗display;
Font source_font, mask_font;
unsigned int source_char, mask_char;
XColor ∗foreground_color;
XColor ∗background_color;
引数
background_color
ソースのバックグラウンドの RGB 値を指定します。
displayX サーバへのコネクションを指定します。
foreground_color
ソースのフォアグラウンドの RGB 値を指定します。
mask表示されるカーソルのソースビットまたは None を指定します。
mask_charマスクのグリフ文字を指定します。
mask_fontマスクグリフのフォントまたは None を指定します。
shapeカーソルの形状を指定します。
sourceソースカーソルの形状を指定します。
source_charソースの文字グリフを指定します。
source_fontソースグリフのフォントを指定します。
x
yソースの原点に相対するホットスポットを表す x − y 座標を指定します。
解説
X は、特殊なフォント指定のカーソルの標準カーソル形状のセットを提供します。 アプリケーションは、カーソルについてはこのインタフェースを使用するよう お勧めします。 なぜならフォントは、各ディスプレイタイプ用にカストマイズできるからです。 shape 引数は、標準フォントのどのグリフを使用するかを指定します。 ホットスポットは、カーソルのフォントにストアされている情報から生じます。 カーソルの初期カラーは、黒のフォアグラウンドおよび白の バックグラウンドです( XRecolorCursor を参照してください)。 .PN XCreateFontCursor の返しうるエラーは、 BadAlloc および BadValue です。 XCreatePixmapCursor 関数は、カーソルを作成し、そのカーソル ID を返します。 フォアグラウンドおよびバックグラウンドの RGB 値は、たとえ X サーバが StaticGray またh GrayScale スクリーンしかもたない場合でも、foreground_color と background_color を 使用して指定しなければなりません。 ソースの 1 にセットされたピクセルについてはフォアグラウンドカラーを、 また 0 にセットされたピクセルについてはバックグラウンドカラーを 使用します。 指定するソースとマスクは、両方とも深さ 1 でなければなりません。 (さもなければ BadMatch エラーが生じます)が、ルートは何でもかまいません。 mask 引数は、カーソルの形状を定義します。 マスクの 1 に設定されたピクセルは、どのソースピクセルを表示するかを 定義し、0 に設定されたピクセルはどのピクセルを無視するかを定義します。 マスクが与えられなければ、ソースのすべてのピクセルが表示されます。 マスクがある場合は、それは source 引数で定義されたピクスマップと 同じサイズでなければなりません。 さもなければ BadMatch エラーが生じます。 ホットスポットは、ソース内のポイントでなければなりません。 さもなければ BadMatch エラーが生じます。 カーソルの構成要素は、ディスプレイに関する制限を満たすように 任意に変換できます。 その後ピクスマップに対していかなる明示的な参照も行われなければ、 それは直ちに解放できます。 マスクまたはソースピクスマップに対する描画を行った場合、 カーソルがどのようになるかは定義されていません。 X サーバは、ピクスマップのコピーを行うことも行わないこともあります。 .PN XCreatePixmapCursor の返しうるエラーは、 BadAlloc および BadPixmap です。 XCreateGlyphCursor 関数は、ソースおよびマスクビットマップが指定されたフォントグリフから 得られるということを除き、 XCreatePixmapCursor と同じです。 source_char は、source_font の定義されたグリフでなければなりません。 さもなければ BadValue エラーが生じます。 mask_font が与えられた場合、 mask_char は mask_font の定義されたグリフでなければなりません。 さもなければ BadValue エラーが生じます。 mask_font および文字は、オプションです。 source_char および mask_char (定義された場合)グリフの原点は同時に 設定され、ホットスポットを定義します。 source_char と mask_char は、同じバウンディングボックスをもつ必要はなく、 バウンディングボックスに関するホットスポットの設定に関する制限は ありません。 mask_char が与えられなければ、ソースのすべてのピクセルが表示されます。 その後フォントに対して明示的な参照が行われない場合、 XFreeFont をコールすることで、それをただちに解放することができます。 2バイトのマトリックスフォントの場合、16 ビット値は、最上位バイトの バイト 1 メンバと、最下位バイトのバイト 2 メンバで形成しなければなりません。 .PN XCreateGlyphCursor の返しうるエラーは、 BadAlloc、 BadFont および BadValue です。
診断
BadAlloc サーバが、要求されたリソースまたはサーバメモリの割当てに失敗した。
BadFont Font または GContext 引数の値が、定義された Font を指さない。
BadMatch ある引数またはひと組の引数の型と範囲は正しいが、リクエストにより 要求されたその他のなにかが一致しない。
BadPixmap
Pixmap 引数の値が、定義された Pixmap を指さない。
BadValue ある数値が許容範囲を超えた。 引数の値の範囲が明示されない限り、引数の型によって決まる最大の範囲まで 指定可能です。 選択形式の引数も、このエラーを生じることがあります。
関連事項
XDefineCursor(3X11), XRecolorCursor(3X11)
Xlib − C Language X Interface
NEWS-OSRelease 3.3