XSetStandardColormap(3X11) — NEWS-OS Programmer’s Manual
名称
XSetStandardColormap, XGetStandardColormap − 標準カラーマップを設定 または問い合せる
形式
XSetStandardColormap(display, w, colormap, property)
Display ∗display;
Window w;
XStandardColormap ∗colormap;
Atom property;/∗ RGB_BEST_MAP, etc. ∗/ Status XGetStandardColormap(display, w, colormap_return, property)
Display ∗display;
Window w;
XStandardColormap ∗colormap_return;
Atom property;/∗ RGB_BEST_MAP, etc. ∗/
引数
colormapカラーマップを指定します。
colormap_return
指定されたアトムに対応するカラーマップを返します。
displayXサーバへのコネクションを指定します。
propertyプロパティ名を指定します。
wウィンドウを指定します。
解説
XSetStandardColormap 関数は、一般に、ウィンドウマネジャによってだけ使用されます。 標準マップを作成するために、次の手順に従います。
1.同一サーバへの新しいコネクションをオープンします。
2.サーバをグラブします。
3.プロパティが、スクリーンのルートウィンドウのプロパティリスト上にあるか調べます。
4.希望するプロパティが存在しない場合、
•カラーマップを作成します。( RGB_DEFAULT_MAP の場合には不要)。
•ディスプレイのカラー性能を調べます。
•カラーマップ中にセルを割当てるために、 XAllocColorPlanes または XAllocColorCells を呼び出します。
•カラーマップ中に適切なカラー値をストアさせるために、 XStoreColors を呼び出します。
•XStandardColormap 構造体中の記述メンバを充填します。
•ルートウィンドウにプロパティを付加します。
•リソースを不変にさせるために、 XSetCloseDownMode を使用します。
5.サーバのグラブを解除します。 .PN XSetStandardColormap は、 BadAlloc、 BadAtom および BadWindow エラーを生じることがあります。 XGetStandardColormap 関数は、プロパティ引数として与えられたアトムに対応するカラーマップ定義 を返します。 例えば、 標準 GrayScale カラーマップを取り出すために、 次のシンタックスをもつ XGetStandardColormap を使用します。
XGetStandardColormap(dpy, DefaultRootWindow(dpy), &cmap, XA_RGB_GRAY_MAP);
標準カラーマップを取り出したならば、それを使用して、RGB 値をピクセル 値に変換することができます。 例えば、 XStandardColormap 構造体および 0.0 から 1.0 までの浮動小数点 RGB 係数を与えると、 次の式を使用して、ピクセル値を求めることができます。
pixel = base_pixel
+ ((unsigned long) (0.5 + r ∗ red_max)) ∗ red_mult
+ ((unsigned long) (0.5 + g ∗ green_max)) ∗ green_mult
+ ((unsigned long) (0.5 + b ∗ blue_max)) ∗ blue_mult;
ピクセル値を求めるための論理的 OR よりも追加を使用することによ り、RGB 値がビット境界に合わされていない配置を可能にします。 .PN XGetStandardColormap は、 BadAtom および BadWindow エラーを生じることがあります。
診断
BadAlloc サーバが要求されたリソースまたはサーバメモリの割り当てに失敗した。
BadAtom Atom 引数の値が定義された Atom を指さない。
BadWindow
Window 引数の値が定義された Window を指さない。
関連事項
Xlib − C Language X Interface
NEWS-OSRelease 4.2.1R