XcmsAllocNamedColor(3) 色を割り当てる

Other Alias

XcmsAllocColor

書式

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
返される表色に対する色のフォーマットを指定する。

説明

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

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

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

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

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

返り値

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