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 を起こすことがある。
関数 XcmsAllocNamedColor は XAllocNamedColor に似ているが、返される色のフォーマットを任意に指定できる点が異なる。 この関数は、色名文字列で指定した色を持つ読み取り専用のカラーセルを 割り当てるため、最終的には XAllocColor を呼ぶ。 色名文字列は XcmsColor 構造体( XcmsLookupColor を参照)に展開され、RGB値に変換され、最後に XAllocColor に渡される。 色の名前のエンコーディングがホストポータブル文字エンコーディングでない 場合、結果は実装依存である。 大文字を使っても小文字を使っても結果は変わらない。
この関数は、展開の結果としての表色(正確な表色)と実際に格納される表色 (スクリーン表色)の両方を返す。 このスクリーン表色は、 XAllocColor が返すRGB値を result_format で指定したフォーマットに変換した結果である。 表色が必要ない場合には、result_format に XcmsRGBFormat をセットすることで、不要な計算を回避することができる。 color_screen_return と color_exact_return が同じ構造体を指している場合、 pixel フィールドは正しく指定されるが、色の値は未定義となる。
XcmsAllocNamedColor はエラー BadColor を起こすことがある。
返り値
- BadColor
- 引き数 Colormap の値が、定義されている Colormap を指していない。