XcmsAllocColor(3X11)

名前
XcmsAllocColor, XcmsAllocNamedColor - 色を割り当てる

書式
Status XcmsAllocColor(display, colormap, color_in_out, result_format)
      Display *display;
      Colormap colormap;
      XcmsColor *color_in_out;
      XcmsColorFormat result_format;

Status XcmsAllocNamedColor(display, colormap, color_string, color_screen_return, color_exact_return,
                        result_format)
      Display *display;
      Colormap colormap;
      char *color_string;
      XcmsColor *color_screen_return;
      XcmsColor *color_exact_return;
      XcmsColorFormat result_format;

引き数

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

colormap
    カラーマップを指定する。

color_exact_return
    色の名前から展開した表色か、色名データベースで見つかった対応する文字列 から展開した色指定が返される。

color_in_out
    割り当てる色を指定し、カラーマップ中で実際に使用されるピクセルと色 が返される。

color_screen_return
    カラーセルのピクセル値と、そのセルに実際に格納される表色が返される。

color_string
    色文字列を指定する。 これに対する色定義構造体が返される。

result_format
    返される表色に対する色のフォーマットを指定する。

説明
関数 は、 と似ているが、任意のフォーマットを指定できる点が異なる。 関数 は、指定した色を持つ読み取り専用のカラーセル(カラーマップのエントリー) を割り当てるため、最終的には を呼び出す。 は、まず指定された色を RGB 値に変換し、次にこの RGB 値を に渡す。 は、実際に割り当てられたカラーセルのピクセル値と表色をを返す。 返された表色は、 が返したRGB 値を引き数 result_format で指定したフォーマットに変換した結 果である。 返される表色は不要な場合、result_format に をセットしていれば、不要な計算を回避することができる。 これに対応するカラーマップセルは読み取り専用である。 この関数が を返した場合、表色 color_in_out は変更されない。

は、エラー を起こすことがある。

関数 は に似ているが、返される色のフォーマットを任意に指定できる点が異なる。 この関数は、色名文字列で指定した色を持つ読み取り専用のカラーセルを 割り当てるため、最終的には を呼ぶ。 色名文字列は 構造体( を参照)に展開され、RGB値に変換され、最後に に渡される。 色の名前のエンコーディングがホストポータブル文字エンコーディングでない 場合、結果は実装依存である。 大文字を使っても小文字を使っても結果は変わらない。

この関数は、展開の結果としての表色(正確な表色)と実際に格納される表色 (スクリーン表色)の両方を返す。 このスクリーン表色は、 が返すRGB値を result_format で指定したフォーマットに変換した結果である。 表色が必要ない場合には、result_format に をセットすることで、不要な計算を回避することができる。 color_screen_return と color_exact_return が同じ構造体を指している場合、 pixel フィールドは正しく指定されるが、色の値は未定義となる。

はエラー を起こすことがある。

返り値

引き数 Colormap の値が、定義されている Colormap を指していない。

関連項目
XcmsQueryColor(3X11), XcmsStoreColor(3X11)
Xlib - C Language X Interface